diff --git a/.dockerignore b/.dockerignore index b512c09d..c81bbd22 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,9 @@ -node_modules \ No newline at end of file +node_modules/ +docs/ +Dockerfile +*.md +.git +.gitignore +.gitmodules +docker-compose.yml +docker-compose-local.yml \ No newline at end of file diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 91926fcd..00000000 --- a/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "nodemailer" -} diff --git a/.gitignore b/.gitignore index dbd42224..96ac666e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,9 @@ /.idea +/.vscode /last-failed-e2e-test.* node_modules npm-debug.log -package-lock.json .DS_Store -config/development* -config/production* -config/test* -workers/reports/config/development.* -workers/reports/config/production.* -workers/reports/config/test.* dump.rdb -# generate POT file every time you want to update your PO file -languages/mailtrain.pot - -public/mosaico/uploads/* -!public/mosaico/uploads/README.md -public/mosaico/custom/* -!public/mosaico/custom/README.md -public/mosaico/templates/* -!public/mosaico/templates/versafix-1 - -public/grapejs/uploads/* -!public/grapejs/uploads/README.md -public/grapejs/templates/* -!public/grapejs/templates/demo -!public/grapejs/templates/aves - -config/production.toml -workers/reports/config/production.toml -docker-compose.override.yml diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..a3472fb0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "mvis/ivis-core"] + path = mvis/ivis-core + url = https://github.com/smartarch/ivis-core.git diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dc5ea4b5..00000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -dist: trusty -sudo: required -language: node_js -node_js: - - 8 -services: - - mysql -before_install: - - sudo apt-get -q -y install pwgen imagemagick -install: - - sudo bash test/e2e/install.sh - - npm install -before_script: - - npm run starttest > /dev/null 2>&1 & - - sleep 10 -script: - - grunt - - npm run _e2e diff --git a/BACKERS.md b/BACKERS.md deleted file mode 100644 index 6439658d..00000000 --- a/BACKERS.md +++ /dev/null @@ -1,18 +0,0 @@ -# Crowdfunding Backers - -Mailtrain received funding from a [crowdfunding campaign](https://www.indiegogo.com/at/mailtrain/8720095). This was to enable me to spend the time required to get automation support into Mailtrain. These are the people who contributed to this fund raiser. - - * iRedMail - free, open source mail server solution <[www.iredmail.org](http://www.iredmail.org/)> - * Richard Adleta - * Wes Bos - * Christophe Lombart - * Anselm Hannemann - * Jens Carroll - * Anonymous - * Brett Nelson - * Jason Pelker - * Leif Singer - * Eve Land - * Diana Espino - * Moussa Clarke - * Carl Hauschke diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b18d957..400e3c8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,149 +1,5 @@ # Changelog -## 1.23.2 2017-04-04 +## 2.0.0-rc1 2018-12-25 - * Allow skipping DNS check for imports - * Added option to use subscription widgets - -## 1.23.0 2017-03-19 - - * Fixed security issue where description tags were able to include script tags. Reported by Andreas Lindh. Fixed with [ae6affda](https://github.com/Mailtrain-org/mailtrain/commit/ae6affda8193f034e06f7e095ee23821a83d5190) - * Fixed security issue where templates that looked like file paths loaded content from arbitrary files. Reported by Andreas Lindh. Fixed with [0879fa41](https://github.com/Mailtrain-org/mailtrain/commit/0879fa412a2d4a417aeca5cd5092a8f86531e7ef) - * Fixed security issue where users were able to use html tags in subscription values. Reported by Andreas Lindh. Fixed with [9d5fb816](https://github.com/Mailtrain-org/mailtrain/commit/9d5fb816c937114966d4f589e1ad4e164ff3a187) - * Support for multiple HTML editors (Mosaico, GrapeJS, Summernote, HTML code) - -## 1.22.0 2017-03-02 - - * Reverted license back to GPL-v3 to support Mosaico - -## 1.21.0 2017-02-17 - - * Changed license from MIT to EUPL-1.1 - * Added support for sending mail using AWS SES - -## 1.20.0 2016-12-11 - - * Added option to distribute sending queue between multiple processes to speed up delivery - -## 1.19.0 2016-09-15 - - * Changed license from GPL-V3 to MIT - -## 1.18.0 2016-09-08 - - * Updated installation script to bundle ZoneMTA as the default sending engine - * Added new option to disable clicked and opened tracking - * Store remote IP for subscription confirmations - -## 1.17.0 2016-08-29 - - * Added new custom field for JSON data that is rendered using Handlebars when included in an email - -## 1.16.0 2016-08-29 - - * Render list values using Handlebars templates - * Added new API method to create custom fields - * Added LDAP authentication support - -## 1.15.0 2016-07-28 - - * Check SMTP settings using AJAX instead of posting entire form - -## 1.14.0 2016-07-09 - - * Fixed ANY match segments with range queries - * Added an option to disable un/subscribe confirmation messages - * Added support for throttling when sending messages - * Added preview links in message lists - -## 1.13.0 2016-06-23 - - * Added API method to delete subscribers - * Added a counter to triggers with a view to list all subscribers that caused this trigger to fire - -## 1.12.1 2016-06-23 - - * Fixed invalid base SQL dump - -## 1.12.0 2016-06-22 - - * Automation support. Create triggers that send a campaign once fired - * Fixed an issue with unresolved URL redirects - * Added support for relative date ranges in segments - -## 1.11.0 2016-05-31 - - * Retry transactional mail if failed with soft error (4xx) - * New feature to preview campaigns using selected test users - -## 1.10.1 2016-05-26 - - * Fix a bug with SMTP transport instance where campaign sending stalled until server was restarted - -## 1.10.0 2016-05-25 - - * Fetch multiple unsent messages at once to speed up delivery - * Fixed a bug of counting unsubscribers correctly - * Use LONGTEXT for template text fields (messages might include inlined images which are larger than 64kB) - -## 1.9.0 2016-05-16 - - * New look - * Added views for bounced/unsubscribed/complained etc. - -## 1.8.2 2016-05-13 - - * Added missing views for subscribers who clicked on any link and subscribers who opened the message - -## 1.8.1 2016-05-13 - - * Fixed an issue in API - -## 1.8.0 2016-05-13 - - * Show details about subscribers who clicked on a specific link - -## 1.7.0 2016-05-11 - - * Updated API, added new option **REQUIRE_CONFIRMATION** for subscriptions to send confirmation email before subscribing - -## 1.6.0 2016-05-07 - - * Added simple API support for adding and removing list subscriptions - -## 1.5.0 2016-05-05 - - * Fixed a bug in unsubscribing through the admin interface - * Added individual link click stats - -## 1.4.1 2016-05-04 - - * Added support for RSS templates - -## 1.4.0 2016-05-04 - - * Added support for RSS campaigns - * Subscribers get timezone attached to their profile - * Outgoing messages are preprocessed using juice - * Added installation script for easier setup - -## 1.3.0 2016-04-29 - - * Added option to use an URL as message source (when message needs to be rendered a POST request with Merge Tags as the POST body is made against that URL) - * Added option to schedule sending. You can set optional delay time when starting campaign sending. Once this time is reached sending starts automatically - * Show meaningful MySQL error when connection fails - -## 1.2.0 2016-04-25 - - * Rewrite merge tags in links (allows using links like `http://example.com/?u=[FIRST_NAME]` in messages) - * Added view for Imports to list failed addresses - * Automatic SQL table creation on initial run (no need for the `mysql` command anymore) - * Automatic SQL table updates on startup - * Send welcome and unsubscribe confirmation emails for subscribers - * Added support for GPG encryption for outgoing messages (requires custom field "GPG Key" set up for the list) - * Added new SMTP option: allow self-signed certs - * Added new setting: Disable WYSIWG editor (allows better handling of complex HTML templates) - * Allow downgrading user when server started as root (user is downgraded once all ports are bound) - * Added Nitrous.io one-click install button for easy try-out - * Added Max Post Size option to allow larger payloads from bounce webhooks - * Added VERP support to catch bounces using built in VERP smtp-server (disabled by default) + * This is a complete rewrite of Mailtrain v1 with many features added. Just check it out. diff --git a/Dockerfile b/Dockerfile index fcbd6fd0..1dd7af3e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,4 +44,4 @@ RUN set -ex; \ COPY --from=builder /app/ /app/ EXPOSE 3000 3003 3004 -ENTRYPOINT ["bash", "/app/docker-entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "/app/docker-entrypoint.sh"] diff --git a/Dockerfile-Develop b/Dockerfile-Develop new file mode 100644 index 00000000..23a536c4 --- /dev/null +++ b/Dockerfile-Develop @@ -0,0 +1,14 @@ +# Final Develop Image +FROM node:10-alpine + +WORKDIR /app/ + +# Install system dependencies +RUN set -ex; \ + apk add --update --no-cache \ + make gcc g++ git python pwgen netcat-openbsd bash imagemagick + +EXPOSE 3000 3003 3004 + +# Keep container running, so you can access it +CMD tail -f /dev/null \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 797686e6..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -module.exports = function (grunt) { - - // Project configuration. - grunt.initConfig({ - eslint: { - all: ['lib/**/*.js', 'test/**/*.js', 'config/**/*.js', 'services/**/*.js', 'Gruntfile.js', 'app.js', 'index.js', 'routes/editorapi.js'] - }, - - nodeunit: { - all: ['test/nodeunit/**/*-test.js'] - }, - - jsxgettext: { - test: { - files: [{ - src: ['views/**/*.hbs', 'lib/**/*.js', 'routes/**/*.js', 'services/**/*.js', 'app.js', 'index.js', '!ignored'], - output: 'mailtrain.pot', - 'output-dir': './languages/' - }], - options: { - keyword: ['translate', '_'] - } - } - } - }); - - // Load the plugin(s) - grunt.loadNpmTasks('grunt-eslint'); - grunt.loadNpmTasks('grunt-contrib-nodeunit'); - grunt.task.loadTasks('tasks'); - - // Tasks - grunt.registerTask('default', ['eslint', 'nodeunit', 'jsxgettext']); -}; diff --git a/README.md b/README.md index aed0e107..a427fb6e 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,283 @@ -## Mailtrain v2 beta is available. Check it out here https://github.com/Mailtrain-org/mailtrain/tree/development +# Mailtrain v2 (beta) -# Mailtrain +Mailtrain is a self hosted newsletter application built on Node.js (v10+) and MySQL (v8+) or MariaDB (v10+). -[Mailtrain](http://mailtrain.org) is a self hosted newsletter application built on Node.js (v7+) and MySQL (v5.5+ or MariaDB). - -![](http://mailtrain.org/mailtrain.png) +![](https://mailtrain.org/mailtrain.png) ## Features -* Subscriber list management +* Subscriber lists management * List segmentation * Custom fields -* Email templates -* Large CSV list import files +* Email templates (including MJML-based templates) +* Custom reports +* Automation (triggered and RSS campaigns) +* Multiple users with granular user permissions and flexible sharing +* Hierarchical namespaces for enterprise-level situations +* Builtin Zone-MTA (https://github.com/zone-eu/zone-mta) for close-to-zero setup of mail delivery -Subscribe to Mailtrain Newsletter [here](https://mailtrain.org/subscription/S18sew2wM) (uses Mailtrain obviously) +## Recommended minimal hardware Requirements +* 2 vCPU +* 4096 MB RAM -## Hardware Requirements -* 1 vCPU -* 1024 MB RAM -## Quick Start - Deploy with Docker -#### Requirements: +## Quick Start - * [Docker](https://www.docker.com/) - * [Docker Compose](https://docs.docker.com/compose/) +### Preparation +Mailtrain creates three URL endpoints, which are referred to as "trusted", "sandbox" and "public". This allows Mailtrain +to guarantee security and avoid XSS attacks in the multi-user settings. The function of these three endpoints is as follows: +- *trusted* - This is the main endpoint for the UI that a logged-in user uses to manage lists, send campaigns, etc. +- *sandbox* - This is an endpoint not directly visible to a user. It is used to host WYSIWYG template editors. +- *public* - This is an endpoint for subscribers. It is used to host subscription management forms, files and archive. -#### Steps: -Depending on how you have configured your system and Docker you may need to prepend the commands below with `sudo`. +The recommended deployment of Mailtrain would use 3 DNS entries that all points to the **same** IP address. For example as follows: +- *lists.example.com* - public endpoint (A record `lists` under `example.com` domain) +- *mailtrain.example.com* - trusted endpoint (CNAME record `mailtrain` under `example.com` domain that points to `lists`) +- *sbox.mailtrain.example.com* - sandbox endpoint (CNAME record `sbox.mailtrain` under `example.com` domain that points to `lists`) -* Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` -* Copy the file `docker-compose.override.yml.tmpl` to `docker-compose.override.yml` and modify it if you need to. -* Bring up the stack with: `docker-compose up -d` -* Start: `docker-compose start` -* Open [http://localhost:3000/](http://localhost:3000/) (change the host name `localhost` to the name of the host where you are deploying the system). -* Authenticate as user `admin` with password `test` -* Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration, especially replace the value in `Service Address (URL)` from `localhost` to the actual IP or domain if installed on a server, otherwise e.g. image upload will not work. -* Navigate to [http://localhost:3000/users/account](http://localhost:3000/users/account) and update user information and password. -## Quick Start - Manual Install (any OS that supports Node.js) +### Installation on fresh CentOS 7 or Ubuntu 18.04 LTS (public website secured by SSL) -### Requirements: - * Mailtrain requires at least **Node.js v7**. If you want to use an older version of Node.js then you should use version v1.24 of Mailtrain. You can either download it [here](https://github.com/Mailtrain-org/mailtrain/archive/v1.24.0.zip) or if using git then run `git checkout v1.24.0` before starting it +This will setup a publicly accessible Mailtrain instance. All endpoints (trusted, sandbox, public) will provide both HTTP (on port 80) +and HTTPS (on port 443). The HTTP ports just issue HTTP redirect to their HTTPS counterparts. - 1. Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` - 2. Run `npm install --production` in the Mailtrain folder to install required dependencies - 3. Copy [config/default.toml](config/default.toml) as `config/production.toml` and update MySQL and any other settings in it - 4. Run the server `NODE_ENV=production npm start` - 5. Open [http://localhost:3000/](http://localhost:3000/) - 6. Authenticate as `admin`:`test` - 7. Navigate to [http://localhost:3000/settings](http://localhost:3000/settings) and update service configuration, especially replace the value in `Service Address (URL)` from `localhost` to the actual IP or domain if installed on a server, otherwise e.g. image upload will not work. - 8. Navigate to [http://localhost:3000/users/account](http://localhost:3000/users/account) and update user information and password +The script below will also acquire a valid certificate from [Let's Encrypt](https://letsencrypt.org/). +If you are hosting Mailtrain on AWS or some other cloud provider, make sure that **before** running the installation +script you allow inbound connection to ports 80 (HTTP) and 443 (HTTPS). -## Read The Docs -For more information, please [read the docs](http://docs.mailtrain.org/). +**Note,** that this will automatically accept the Let's Encrypt's Terms of Service. +Thus, by running this script below, you agree with the Let's Encrypt's Terms of Service (https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf). + + + +1. Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous `su` within `sudo`.) + ``` + sudo su - + ``` + +2. Install GIT + + For Centos 7 type: + ``` + yum install -y git + ``` + + For Ubuntu 18.04 LTS type + ``` + apt-get install -y git + ``` + +3. Download Mailtrain using git to the `/opt/mailtrain` directory + ``` + cd /opt + git clone https://github.com/Mailtrain-org/mailtrain.git + cd mailtrain + git checkout development + ``` + +4. Run the installation script. Replace the urls and your email address with the correct values. **NOTE** that running this script you agree + Let's Encrypt's conditions. + + For Centos 7 type: + ``` + bash setup/install-centos7-https.sh mailtrain.example.com sbox.mailtrain.example.com lists.example.com admin@example.com + ``` + + For Ubuntu 18.04 LTS type: + ``` + bash setup/install-ubuntu1804-https.sh mailtrain.example.com sbox.mailtrain.example.com lists.example.com admin@example.com + ``` + +5. Start Mailtrain and enable to be started by default when your server starts. + ``` + systemctl start mailtrain + systemctl enable mailtrain + ``` + +6. Open the trusted endpoint (like `https://mailtrain.example.com`) + +7. Authenticate as `admin`:`test` + +8. Update your password under admin/Account + +9. Update your settings under Administration/Global Settings. + +10. If you intend to sign your email by DKIM, set the DKIM key and DKIM selector under Administration/Send Configurations. + + +### Installation on fresh CentOS 7 or Ubuntu 18.04 LTS (local installation) + +This will setup a locally accessible Mailtrain instance (primarily for development and testing). +All endpoints (trusted, sandbox, public) will provide only HTTP as follows: +- http://localhost:3000 - trusted endpoint +- http://localhost:3003 - sandbox endpoint +- http://localhost:3004 - public endpoint + +1. Login as root. (I had some problems running npm as root on CentOS 7 on AWS. This seems to be fixed by the seemingly extraneous `su` within `sudo`.) + ``` + sudo su - + ``` + +2. Install git + + For Centos 7 type: + ``` + yum install -y git + ``` + + For Ubuntu 18.04 LTS type: + ``` + apt-get install -y git + ``` + +3. Download Mailtrain using git to the `/opt/mailtrain` directory + ``` + cd /opt + git clone https://github.com/Mailtrain-org/mailtrain.git + cd mailtrain + git checkout development + ``` + +4. Run the installation script. Replace the urls and your email address with the correct values. **NOTE** that running this script you agree + Let's Encrypt's conditions. + + For Centos 7 type: + ``` + bash setup/install-centos7-local.sh + ``` + + For Ubuntu 18.04 LTS type: + ``` + bash setup/install-ubuntu1804-local.sh + ``` + +5. Start Mailtrain and enable to be started by default when your server starts. + ``` + systemctl start mailtrain + systemctl enable mailtrain + ``` + +6. Open the trusted endpoint http://localhost:3000 + +7. Authenticate as `admin`:`test` + + + +### Deployment with Docker and Docker compose + +This setup starts a stack composed of Mailtrain, MongoDB, Redis, and MariaDB. It will setup a locally accessible Mailtrain instance with HTTP endpoints as follows. +- http://localhost:3000 - trusted endpoint +- http://localhost:3003 - sandbox endpoint +- http://localhost:3004 - public endpoint + +To make this publicly accessible, you should add reverse proxy that makes these endpoints publicly available over HTTPS. If using the proxy, you also need to set the URL bases and `--withProxy` parameter via `MAILTRAIN_SETTING` as shown below. +An example of such proxy would be: +- http://localhost:3000 -> https://mailtrain.example.com +- http://localhost:3003 -> https://sbox.mailtrain.example.com +- http://localhost:3004 -> https://lists.example.com + +To deploy Mailtrain with Docker, you need the following two dependencies installed: + +- [Docker](https://www.docker.com/) +- [Docker Compose](https://docs.docker.com/compose/) + +These are the steps to start Mailtrain via docker-compose: + +1. Download Mailtrain's docker-compose build file + ``` + curl -O https://raw.githubusercontent.com/Mailtrain-org/mailtrain/development/docker-compose.yml + ``` + +2. Deploy Mailtrain via docker-compose (in the directory to which you downloaded the `docker-compose.yml` file). This will take quite some time when run for the first time. Subsequent executions will be fast. + ``` + docker-compose up + ``` + +3. Open the trusted endpoint http://localhost:3000 + +4. Authenticate as `admin`:`test` + +The instructions above use an automatically built Docker image on DockerHub (https://hub.docker.com/r/mailtrain/mailtrain). If you want to build the Docker image yourself (e.g. when doing development), use the `docker-compose-local.yml` located in the project's root directory. + + +### Deployment with Docker and Docker compose (for development) +This setup starts a stack like above, but is tweaked to be used for local development using docker containers. + +1. Clone this repository + +2. Bring up the development stack + ``` + docker-compose -f docker-compose-develop.yml up -d + ``` +3. Connect to a shell inside the container + ``` + docker-compose exec mailtrain bash + ``` +4. Run these commands once to install all the node modules and build the client webapp + ``` + cd /app + bash setup/reinstall-modules.sh + cd /app/client && npm run build && cd /app + +5. Start the server for the first time with this command, to generate the `server/config/production.yaml` + ``` + bash docker-entrypoint.sh + ``` + + +### Docker Environment Variables +When using Docker, you can override the default Mailtrain settings via the following environment variables. These variables have to be defined in the docker-compose config +file. You can give them a value directly in the `docker-compose.yml` config file. + +Alternatively, you can just declare them there leaving their value empty +(see https://docs.docker.com/compose/environment-variables/#pass-environment-variables-to-containers). In that case, the +value can be provided via a file called `.env` or via environment +variables (e.g. `URL_BASE_TRUSTED=https://mailtrain.domain.com (and more env-vars..) docker-compose -f docker-compose.yml build (or up)`) + +| Parameter | Description | +| --------- | ----------- | +| PORT_TRUSTED | sets the trusted port of the instance (default: 3000) | +| PORT_SANDBOX | sets the sandbox port of the instance (default: 3003) | +| PORT_PUBLIC | sets the public port of the instance (default: 3004) | +| URL_BASE_TRUSTED | sets the trusted url of the instance (default: http://localhost:3000) | +| URL_BASE_SANDBOX | sets the sandbox url of the instance (default: http://localhost:3003) | +| URL_BASE_PUBLIC | sets the public url of the instance (default: http://localhost:3004) | +| WWW_HOST | sets the address that the server binds to (default: 0.0.0.0) | +| WWW_PROXY | use if Mailtrain is behind an http reverse proxy (default: false) | +| WWW_SECRET | sets the secret for the express session (default: `$(pwgen -1)`) | +| MONGO_HOST | sets mongo host (default: mongo) | +| WITH_REDIS | enables or disables redis (default: true) | +| REDIS_HOST | sets redis host (default: redis) | +| MYSQL_HOST | sets mysql host (default: mysql) | +| MYSQL_DATABASE | sets mysql database (default: mailtrain) | +| MYSQL_USER | sets mysql user (default: mailtrain) | +| MYSQL_PASSWORD | sets mysql password (default: mailtrain) | +| WITH_LDAP | use if you want to enable LDAP authentication | +| LDAP_HOST | LDAP Host for authentication (default: ldap) | +| LDAP_PORT | LDAP port (default: 389) | +| LDAP_SECURE | use if you want to use LDAP with ldaps protocol | +| LDAP_BIND_USER | User for LDAP connexion | +| LDAP_BIND_PASS | Password for LDAP connexion | +| LDAP_FILTER | LDAP filter | +| LDAP_BASEDN | LDAP base DN | +| LDAP_UIDTAG | LDAP UID tag (e.g. uid/cn/username) | +| WITH_ZONE_MTA | enables or disables builtin Zone-MTA (default: true) | +| POOL_NAME | sets builtin Zone-MTA pool name (default: os.hostname()) | +| LOG_LEVEL | sets log level among `silly|verbose|info|http|warn|error|silent` (default: `info`) | + +If you don't want to modify the original `docker-compose.yml`, you can put your overrides to another file (e.g. `docker-compose.override.yml`) -- like the one below. + +``` +version: '3' +services: + mailtrain: + environment: + - URL_BASE_TRUSTED + - URL_BASE_SANDBOX + - URL_BASE_PUBLIC +``` ## License - * Versions 1.22.0 and up **GPL-V3.0** - * Versions 1.21.0 and up: **EUPL-1.1** - * Versions 1.19.0 and up: **MIT** - * Up to versions 1.18.0 **GPL-V3.0** + **GPL-V3.0** diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..82f5c76f --- /dev/null +++ b/TODO.md @@ -0,0 +1,26 @@ +Note that some of these may be already obsolete... + +### Front page +- Some dashboard + +### Campaigns +- List of sent RSS campaigns (?) + +### Pull requests +- Support ldaps:// - 5325f2ea7864ce5f42a9a6df3408af7ffbd32591 +- Support https - abd788d8f4d18b5a977226ba1224cba7f2b7fa9b +- Support warn of failed login - 4bd1e994b27420ba366d9b0429e9014e5bf01f13 +- Add X-Mailer header option in settings to override or disable it - 44fe8882b876bdfd9990110496d16f819dc64ac3 +- Add custom unsubscribe option in a campaign - 68cb8384f7dfdbcaf2932293ec5a2f1ec0a1554e + +### API +- Add API extensions + +### GDPR +- Refuse editing subscriptions which have been anonymized +- Add field to subscriptions which says till when the consent has been given +- Provide a link (and merge tag) that will update the consent date to now +- Add campaign trigger that triggers if the consent for specific subscription field is about to expire (i.e. it is greater than now - seconds) + +### RSS Campaigns +- Aggregated RSS campaigns \ No newline at end of file diff --git a/UPGRADE.md b/UPGRADE.md new file mode 100644 index 00000000..e98d3d28 --- /dev/null +++ b/UPGRADE.md @@ -0,0 +1,21 @@ +## Migration from Mailtrain v1 to Mailtrain v2 + +The migration should happen almost automatically. There are however the following caveats: + +1. Structure of config files (under `config`) has changed at many places. Revisit the default config (`config/default.toml`) + and update your configs accordingly. + +2. Images uploaded in a template editor (Mosaico, Grapesjs, etc.) need to be manually moved to a new destination (under `client`). + For Mosaico, this means to move folders named by a number from `public/mosaico` to `client/static/mosaico`. + +3. Directory for custom Mosaico templates has changed from `public/mosaico/templates` to `client/static/mosaico/templates`. + +4. Imports are not migrated. If you have any pending imports, complete them before migration to v2. + +5. Zone MTA configuration endpoint (webhooks/zone-mta/sender-config) has changed. The send-configuration CID has to be + part of the URL - e.g. webhooks/zone-mta/sender-config/system. + +6. If there are lists that contain birthday or date fields that were created before + commit `bc73a0df0cab9943d726bd12fc1c6f2ff1279aa7` (on Jan 3, 2018), they still have TIMESTAMP data type in DB instead + of DATETIME. The problem was that that commit did not introduce migration from TIMESTAMP to DATETIME. + Mailtrain v2 does this migration, however in some corner cases, this may shift the date by a day back or forth. diff --git a/app.js b/app.js deleted file mode 100644 index c6578e60..00000000 --- a/app.js +++ /dev/null @@ -1,265 +0,0 @@ -'use strict'; - -const config = require('config'); -const log = require('npmlog'); - -const _ = require('./lib/translate')._; - -const express = require('express'); -const bodyParser = require('body-parser'); -const path = require('path'); -const favicon = require('serve-favicon'); -const logger = require('morgan'); -const cookieParser = require('cookie-parser'); -const session = require('express-session'); -const RedisStore = require('connect-redis')(session); -const flash = require('connect-flash'); -const hbs = require('hbs'); -const handlebarsHelpers = require('./lib/handlebars-helpers'); -const compression = require('compression'); -const passport = require('./lib/passport'); -const tools = require('./lib/tools'); - -const routes = require('./routes/index'); -const users = require('./routes/users'); -const lists = require('./routes/lists'); -const settings = require('./routes/settings'); -const settingsModel = require('./lib/models/settings'); -const templates = require('./routes/templates'); -const campaigns = require('./routes/campaigns'); -const links = require('./routes/links'); -const fields = require('./routes/fields'); -const forms = require('./routes/forms'); -const segments = require('./routes/segments'); -const triggers = require('./routes/triggers'); -const webhooks = require('./routes/webhooks'); -const subscription = require('./routes/subscription'); -const archive = require('./routes/archive'); -const api = require('./routes/api'); -const blacklist = require('./routes/blacklist'); -const editorapi = require('./routes/editorapi'); -const grapejs = require('./routes/grapejs'); -const mosaico = require('./routes/mosaico'); -const reports = require('./routes/reports'); -const reportsTemplates = require('./routes/report-templates'); - -const app = express(); - -// view engine setup -app.set('views', path.join(__dirname, 'views')); -app.set('view engine', 'hbs'); - -// Handle proxies. Needed to resolve client IP -if (config.www.proxy) { - app.set('trust proxy', config.www.proxy); -} - -// Do not expose software used -app.disable('x-powered-by'); - -hbs.registerPartials(__dirname + '/views/partials'); -hbs.registerPartials(__dirname + '/views/subscription/partials/'); -hbs.registerPartials(__dirname + '/views/report-templates/partials/'); -hbs.registerPartials(__dirname + '/views/reports/partials/'); - -/** - * We need this helper to make sure that we consume flash messages only - * when we are able to actually display these. Otherwise we might end up - * in a situation where we consume a flash messages but then comes a redirect - * and the message is never displayed - */ -hbs.registerHelper('flash_messages', function () { // eslint-disable-line prefer-arrow-callback - if (typeof this.flash !== 'function') { // eslint-disable-line no-invalid-this - return ''; - } - - let messages = this.flash(); // eslint-disable-line no-invalid-this - let response = []; - - // group messages by type - Object.keys(messages).forEach(key => { - let el = ''; - - response.push(el); - }); - - return new hbs.handlebars.SafeString( - response.join('\n') - ); -}); - -handlebarsHelpers.registerHelpers(hbs.handlebars); - - -app.use(compression()); -app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); - -app.use(logger(config.www.log, { - stream: { - write: message => { - message = (message || '').toString(); - if (message) { - log.info('HTTP', message.replace('\n', '').trim()); - } - } - } -})); - -app.use(cookieParser()); -app.use(express.static(path.join(__dirname, 'public'))); - -app.use(session({ - store: config.redis.enabled ? new RedisStore(config.redis) : false, - secret: config.www.secret, - saveUninitialized: false, - resave: false -})); -app.use(flash()); - -app.use((req, res, next) => { - req._ = str => _(str); - next(); -}); - -app.use(bodyParser.urlencoded({ - extended: true, - limit: config.www.postsize -})); - -app.use(bodyParser.text({ - limit: config.www.postsize -})); - -app.use(bodyParser.json({ - limit: config.www.postsize -})); - -passport.setup(app); - -// make sure flash messages are available -app.use((req, res, next) => { - res.locals.flash = req.flash.bind(req); - res.locals.user = req.user; - res.locals.ldap = { - enabled: config.ldap.enabled, - passwordresetlink: config.ldap.passwordresetlink - }; - - let menu = [{ - title: _('Home'), - url: '/', - selected: true - }]; - - res.setSelectedMenu = key => { - menu.forEach(item => { - item.selected = (item.key === key); - }); - }; - - res.locals.menu = menu; - tools.updateMenu(res); - - res.locals.customStyles = config.customstyles || []; - res.locals.customScripts = config.customscripts || []; - - let bodyClasses = []; - if (req.user) { - bodyClasses.push('logged-in user-' + req.user.username); - } - res.locals.bodyClass = bodyClasses.join(' '); - - settingsModel.list(['ua_code', 'shoutout'], (err, configItems) => { - if (err) { - return next(err); - } - Object.keys(configItems).forEach(key => { - res.locals[key] = configItems[key]; - }); - next(); - }); -}); - -app.use('/', routes); -app.use('/users', users); -app.use('/lists', lists); -app.use('/templates', templates); -app.use('/campaigns', campaigns); -app.use('/settings', settings); -app.use('/blacklist', blacklist); -app.use('/links', links); -app.use('/fields', fields); -app.use('/forms', forms); -app.use('/segments', segments); -app.use('/triggers', triggers); -app.use('/webhooks', webhooks); -app.use('/subscription', subscription); -app.use('/archive', archive); -app.use('/api', api); -app.use('/editorapi', editorapi); -app.use('/grapejs', grapejs); -app.use('/mosaico', mosaico); - -if (config.reports && config.reports.enabled === true) { - app.use('/reports', reports); - app.use('/report-templates', reportsTemplates); -} - -// catch 404 and forward to error handler -app.use((req, res, next) => { - let err = new Error(_('Not Found')); - err.status = 404; - next(err); -}); - -// error handlers - -// development error handler -// will print stacktrace -if (app.get('env') === 'development') { - app.use((err, req, res, next) => { - if (!err) { - return next(); - } - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: err - }); - }); -} - -// production error handler -// no stacktraces leaked to user -app.use((err, req, res, next) => { - if (!err) { - return next(); - } - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: {} - }); -}); - -module.exports = app; diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 00000000..9b1c8b13 --- /dev/null +++ b/client/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 00000000..4f6f4c23 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,11758 @@ +{ + "name": "mailtrain-client", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/cli": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.8.0.tgz", + "integrity": "sha512-/zOi56gIH3jBmnrfUvVf8MOMqf3hfFou2ONRYdRRpgnBSi0dUkiO+usu44YHsOEJqqwPkijBsiDKscQizouoag==", + "dev": true, + "requires": { + "chokidar": "^2.1.8", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "commander": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.0.tgz", + "integrity": "sha512-NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/code-frame": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz", + "integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.0" + } + }, + "@babel/compat-data": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.0.tgz", + "integrity": "sha512-ixPUWJpnd9hHvRkyIE3mJ6PY5DEWmR08UkcpdqI5kV5g/d6knT8Wth1LE5v5sVTIJkm9dGpQsXnhwxcf2/PjAg==", + "dev": true, + "requires": { + "browserslist": "^4.8.2", + "invariant": "^2.2.4", + "semver": "^7.1.1" + }, + "dependencies": { + "semver": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz", + "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==", + "dev": true + } + } + }, + "@babel/core": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.0.tgz", + "integrity": "sha512-3rqPi/bv/Xfu2YzHvBz4XqMI1fKVwnhntPA1/fjoECrSjrhbOCxlTrbVu5gUtr8zkxW+RpkDOa/HCW93gzS2Dw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/generator": "^7.8.0", + "@babel/helpers": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz", + "integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.0.tgz", + "integrity": "sha512-WWj+1amBdowU2g18p3/KUc1Y5kWnaNm1paohq2tT4/RreeMNssYkv6ul9wkE2iIqjwLBwNMZGH4pTGlMSUqMMg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.0.tgz", + "integrity": "sha512-KbBloNiBHM3ZyHg1ViDRs4QcnAunwMJ+rLpAEA8l3cWb3Z1xof7ag1iHvX16EwhUfaTG3+YSvTRPv4xHIrseUQ==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.0.tgz", + "integrity": "sha512-Zg7VLtZzcAHoQ13S0pEIGKo8OAG3s5kjsk/4keGmUeNuc810T9fVp6izIaL8ZVeAErRFWJdvqFItY3QMTHMsSg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.0.tgz", + "integrity": "sha512-Vi8K1LScr8ZgLicfuCNSE7JWUPG/H/9Bw9zn+3vQyy4vA54FEGTCuUTOXCFwmBM93OD6jHfjrQ6ZnivM5U+bHg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.0.tgz", + "integrity": "sha512-VcMSwBCqA2mGqmFFnLYtaC+Zkok5pVMOypeGn76RpSBAoFqc1olWjYoNqTn09YMChTi6rsbPIkkEOAwfsKSqRg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.0", + "browserslist": "^4.8.2", + "invariant": "^2.2.4", + "levenary": "^1.1.0", + "semver": "^7.1.1" + }, + "dependencies": { + "semver": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz", + "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.0.tgz", + "integrity": "sha512-ctCvqYBTlwEl2uF4hCxE0cd/sSw71Zfag0jKa39y4HDLh0BQ4PVBX1384Ye8GqrEZ69xgLp9fwPbv3GgIDDF2Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-member-expression-to-functions": "^7.8.0", + "@babel/helper-optimise-call-expression": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-replace-supers": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.0.tgz", + "integrity": "sha512-vJj2hPbxxLUWJEV86iZiac5curAnC3ZVc+rFmFeWZigUOcuCPpbF+KxoEmxrkmuCGylHFF9t4lkpcDUcxnhQ5g==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.0", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.0.tgz", + "integrity": "sha512-Go06lUlZ4YImNEmdyAH5iO38yh5mbpOPSwA2PtV1vyczFhTZfX0OtzkiIL2pACo6AOYf89pLh42nhhDrqgzC3A==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.0", + "@babel/types": "^7.8.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.0.tgz", + "integrity": "sha512-w4mRQqKAh4M7BSLwvDMm8jYFroEzpqMCtXDhFHP+kNjMIQWpbC6b0Q/RUQsJNSf54rIx6XMdci1Stf60DWw+og==", + "dev": true, + "requires": { + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz", + "integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz", + "integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.0.tgz", + "integrity": "sha512-jDl66KvuklTXUADcoXDMur1jDtAZUZZkzLIaQ54+z38ih8C0V0hC56hMaoVoyoxN60MwQmmrHctBwcLqP0c/Lw==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.0.tgz", + "integrity": "sha512-0m1QabGrdXuoxX/g+KOAGndoHwskC70WweqHRQyCsaO67KOEELYh4ECcGw6ZGKjDKa5Y7SW4Qbhw6ly4Fah/jQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.0.tgz", + "integrity": "sha512-ylY9J6ZxEcjmJaJ4P6aVs/fZdrZVctCGnxxfYXwCnSMapqd544zT8lWK2qI/vBPjE5gS0o2jILnH+AkpsPauEQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.0.tgz", + "integrity": "sha512-fvGhX4FY7YwRdWW/zfddNaKpYl8TaA8hvwONIYhv1/a1ZbgxbTrjsmH6IGWUgUNki7QzbpZ27OEh88sZdft3YA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.0", + "@babel/helper-simple-access": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.0.tgz", + "integrity": "sha512-aiJt1m+K57y0n10fTw+QXcCXzmpkG+o+NoQmAZqlZPstkTE0PZT+Z27QSd/6Gf00nuXJQO4NiJ0/YagSW5kC2A==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.0.tgz", + "integrity": "sha512-haD8fRsPtyFZkbtxBIaGBBHRtbn0YsyecdYrxNgO0Bl6SlGokJPQX9M2tDuVbeQBYHZVLUPMSwGQn4obHevsMQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.0.tgz", + "integrity": "sha512-+aKyBd4oHAaIZgOLq/uLjkUz7ExZ0ppdNBc8Qr72BmtKNAy3A6EJa/ifjj0//CIzQtUDPs3E6HjKM2cV6bnXsQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.0", + "@babel/helper-wrap-function": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.0.tgz", + "integrity": "sha512-R2CyorW4tcO3YzdkClLpt6MS84G+tPkOi0MmiCn1bvYVnmDpdl9R15XOi3NQW2mhOAEeBnuQ4g1Bh7pT2sX8fg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.0", + "@babel/helper-optimise-call-expression": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.0.tgz", + "integrity": "sha512-I+7yKZJnxp7VIC2UFzXfVjLiJuU16rYFF59x27c+boINkO/pLETgZcoesCryg9jmU4jxEa0foFueW+2wjc9Gsw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz", + "integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.0.tgz", + "integrity": "sha512-2j6idN2jt8Y+8nJ4UPN/6AZa53DAkcETMVmroJQh50qZc59PuQKVjgOIIqmrLoQf6Ia9bs90MHRcID1OW5tfag==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helpers": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.0.tgz", + "integrity": "sha512-srWKpjAFbiut5JoCReZJ098hLqoZ9HufOnKZPggc7j74XaPuQ+9b3RYPV1M/HfjL63lCNd8uI1O487qIWxAFNA==", + "dev": true, + "requires": { + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/highlight": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz", + "integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.0.tgz", + "integrity": "sha512-8vIQf8JYced7gCeKDsGETNGKE+zdD/JmP1LBlRn+w3UXc1aSpZv2Y330bB/fnOEbUgPbuFv+IEi+gopg+Fu0kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-remap-async-to-generator": "^7.8.0", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.0.tgz", + "integrity": "sha512-eVGj5NauhKCwABQjKIYncMQh9HtFsBrIcdsxImbTdUIaGnjymsVsBGmDQaDuPL/WCjYn6vPL4d+yvI6zy+VkrQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.0.tgz", + "integrity": "sha512-HKltBhhrRigrHYkDrO/9rg+ZerXSAtZjepm8URUrNxgzTzEfuOb06fUU311chMkahZHSfASNUxWVwRzIwGt/uw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-decorators": "^7.8.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.0.tgz", + "integrity": "sha512-YzMq0AqeTR4Mh2pz3GrCWqhcEV38HgUMMR/56/YR5GPc4Y2p1KJ4Le6j92vMnW8TJqVj+qJz/KDNglpMeww9Yg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-function-bind": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.8.0.tgz", + "integrity": "sha512-mbGbYcKbRyws4YEyb1db/wGJ7qwkCWWAjG00QFPmtqHGRigIPJ54MZuSlgl3uTvHg6I3u5kGEMk4VJWaXv2mUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-function-bind": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.0.tgz", + "integrity": "sha512-pSpuhwn926vtNeUH2FHx1OzIXaUMgklG0MzlFZJVEg37fB904gOxN572NgBae+KDwFyZDpkLMyEkVA011lBJrQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.0.tgz", + "integrity": "sha512-cQMI+RQdcK2IyMm13NKKFCYfOSBUtFxEeRBOdFCi2Pubv/CpkrCubc/ikdeKMT6Lu+uQ+lNSDEJvDCOQZkUy0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.0.tgz", + "integrity": "sha512-SjJ2ZXCylpWC+5DTES0/pbpNmw/FnjU/3dF068xF0DU9aN+oOKah+3MCSFcb4pnZ9IwmxfOy4KnbGJSQR+hAZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.0.tgz", + "integrity": "sha512-tHP3eez6TrpPJYttBZ/6uItRbIuXUIDpQ9xwvzKwR+RboWGMJ7WzFC5dDJ3vjLuCx0/DG1tM0MVkmgcBybth9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.0.tgz", + "integrity": "sha512-PNBHxPHE91m+LLOdGwlvyGicWfrMgiVwng5WdB3CMjd61+vn3vPw0GbgECIAUCZnyi7Jqs5htUIZRztGuV8/5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.0.tgz", + "integrity": "sha512-3oK0Qt5w4arb+es3rWBribDbtc0TYJP7dFZ1dXcYul3cXderqfIOoSx9YUC1oD208nJwJO/++fvrgLmkYSbe8A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.0.tgz", + "integrity": "sha512-a8w8k7pK8nYhem07rXdAq03T+DlTX8LFojUptrh9JEx80AgLqGiuoFIyQOGTWif39kFnDOQqbzl1s6KQqrfV+A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.0.tgz", + "integrity": "sha512-Qz68qh9jJqQePGWqbNW9PA7vkE2gvnWkYtx32jgPOszpE7u+xObPkRGm3B80oXAjQlBdTa4ktqjkOIRiKRuapw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.0.tgz", + "integrity": "sha512-Mx2RzpCHJaBfmFdA2abXDKRHVJdzJ6R0Wqwb6TxCgM7NRR5wcC4cyiAsRL7Ga+lwG8GG1cKvb+4ENjic8y15jA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-function-bind": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.8.0.tgz", + "integrity": "sha512-iHir8a9jJ4/DKseBhcPMQjBJvlnupXORLyxuevHC6XYnIe6jVd4jtAA1IgFUn0OXW4EkpFAcJcO6nW8y8nUUZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.0.tgz", + "integrity": "sha512-LPykaAbH86L5NnDfCRSpNxtEHZk+6GaFzXfWEFU/6R4v69EXQr6GOp7hwH+Uw0QlYVN++s6TukTJ3flFcspahA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.0.tgz", + "integrity": "sha512-zLDUckAuKeOtxJhfNE0TlR7iEApb2u7EYRlh5cxKzq6A5VzUbYEdyJGJlug41jDbjRbHTtsLKZUnUcy/8V3xZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.0.tgz", + "integrity": "sha512-Rv2hnBToN6rbA9hO2a4vtwXZLzNa+TWkoSIMMvUezFz5+D9NPeX7SFrArwtFzzbwndmWiqboTr5rNpzAz0MPpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.0.tgz", + "integrity": "sha512-dt89fDlkfkTrQcy5KavMQPyF2A6tR0kYp8HAnIoQv5hO34iAUffHghP/hMGd7Gf/+uYTmLQO0ar7peX1SUWyIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.0.tgz", + "integrity": "sha512-EIgJVy+u1RvR2gJfX4ReLwAupO/twllUue1wPrRxhu18+eC3bGTEcOSXLQdaE9ya9NG1rE0eQs0GSiloUGFEwg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.0.tgz", + "integrity": "sha512-LV1c+TTAO8Vawe3t+WXBHYWbS7endP8MSlqKPKEZOyWPEJX2akl3jfvFG828/OE7RpyoC3JXfLJDFj/jN7A8hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.0.tgz", + "integrity": "sha512-iXR/Cw32fMfWlD1sK2zD/nXtuLStkalRv+xee6VrX84CFrn2LKwb/EOs/4UaDNUpUsws8YZYKeQjPagacFquug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.0.tgz", + "integrity": "sha512-9KfteDp9d8cF388dxFMOh3Dum41qpOVUPVjQhXGd1kPyQBE05FJgYndiAriML2yhMIbZ2bjgweh2nnvBXDH2MQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.0.tgz", + "integrity": "sha512-9dvBvJnEdsDWYMrykoMyLNVRPGoub6SFlARtsYgSQ1riTjnyBjhctihSME4XsSku86F59PDeFpC9PCU+9I154w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-remap-async-to-generator": "^7.8.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.0.tgz", + "integrity": "sha512-bim6gUfHq2kPN+aQst33ZEMeglpaUXAo6PWTZvOA8BOnWpNKgZcUzBvpZhh2ofL6YhZgzGoRwVVfzwynDEf47g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.0.tgz", + "integrity": "sha512-FKTK4hzg7W950Yu9iqMl12WBixCmusMc5HBt3/ErvpFLnvr3/6mu/EBTZoCEJ0mw/lQUDfU01vTcZY9oEahlMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.0.tgz", + "integrity": "sha512-18RLDwKtGXCLLbf5V03GojebPH7dKYCmIBqQGhgfZDoYsyEzR9kMZ6IxlJP72K5ROC9ADa4KPI6ywuh7NfQOgQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.0", + "@babel/helper-define-map": "^7.8.0", + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-optimise-call-expression": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-replace-supers": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.0.tgz", + "integrity": "sha512-FaODHuQRdnWFVwxLPlTN85Lk/aitfvQBHTXahf58FnatCynfhkeNUO8ID+AqAxY4IJsZjeH6OnKDzcGfgKJcVw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.0.tgz", + "integrity": "sha512-D+69HT//cE86aBTLULzSBFLC5A7HcPQzJPiny6P4SLHkDF750MylRKO3iWvdgvb+OSp5dOrOxwXajvaxk1ZfYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.0.tgz", + "integrity": "sha512-pq/XLkDB4MPvTe9ktHJInfWksalXogrIGRZJUG7RiDXhEfdNrlducoMPbACZQuCFtelVgVpD0VyreiY0l38G7g==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.0.tgz", + "integrity": "sha512-REtYWvpP4TDw4oVeP01vQJcAeewjgk8/i7tPFP11vUjvarUGGyxJLeq79WEnIdnKPQJirZaoDRT4kEWEdSWkDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.0.tgz", + "integrity": "sha512-vaDgF3gPLzVcoe3UZqnra6FA7O797sZc+UCHPd9eQTI34cPtpCA270LzopIXS3Fhc3UmFrijLmre9mHTmUKVgg==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.0.tgz", + "integrity": "sha512-9j9g0qViCAo8E5qCBSaQdghymn7A9bRXSfS9jU7oLpYccYFZg9A+1KO8X+HV7fhJYH6mZ+e7MRg4p3sLo+RG6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.0.tgz", + "integrity": "sha512-YL8Ol54UKeIyY1uUGfry+B9ppXAB3aVBB1gG9gxqhg/OBCPpV2QUNswmjvfmyXEdaWv8qODssBgX7on792h44w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.0.tgz", + "integrity": "sha512-7UDPKG+uVltsZt98Hw+rMbLg772r8fQC6YJ2fNDckcpAXgIWqQbMCmCpfYo0hBNhdhqocM73auk4P/zziQshQw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.0.tgz", + "integrity": "sha512-lJSdaWR56wmrosCiyqKFRVnLrFYoVAk2mtZAyegt7akeJky/gguv0Rukx9GV3XwHGuM1ZPE06cZMjNlcLp8LrQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.0.tgz", + "integrity": "sha512-mFr1O3TaDL4XozM3AzNPz9AsxzzjTxwn4aOShYP5TlO+4rufvjagV2KKDTPMZTQm1ZA/C/PxJDsDekEnnUGz5A==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.0.tgz", + "integrity": "sha512-w2g8tmL7NgBYt6alc8YawMcmPiYqnVvvI0kLB++VOUOssqdJMAkfQOMGV+2M8H5uhJYDaAghAVMUYps3s+jMrw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-simple-access": "^7.8.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.0.tgz", + "integrity": "sha512-tKF9KLiIsiKyWTVU0yo+NcNAylGn7euggYwXw63/tMxGtDTPsB9Y7Ecqv4EoXEwtoJOJ0Lewf17oaWQtindxIA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.0", + "@babel/helper-module-transforms": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.0.tgz", + "integrity": "sha512-lAwNfXwmfTy7fl2XOyoVpMXnLkJANgH0vdSYNFcS4RuJPBtHfunGA+Y0L7wsHmfPzyVYt8sUglLjaWtdZMNJNg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.0.tgz", + "integrity": "sha512-kq1rxQ1HviCP13SMGZ4WjBBpdogTGK7yn/g/+p+g1AQledgHOWKVeMY1DwKYGlGJ/grDGTOqpJLF1v3Sb7ghKA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.0.tgz", + "integrity": "sha512-hH1Afz9Xy/wkcxhoI0vYw48kTBJqYUhMmhp3SLI1p817iByM6ItH4LS8tZatDAIKmAQAXj8d3Ups1BgVJECDrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.0.tgz", + "integrity": "sha512-2DYqQ811nRlFVlni6iqfxBVVGqkBgfvEv/lcvmdNu2CaG+EA7zSP1hqYUsqamR+uCdDbsrV7uY6/0rkXbJo5YQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-replace-supers": "^7.8.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.0.tgz", + "integrity": "sha512-9R2yykk7H92rntETO0fq52vJ4OFaTcDA49K9s8bQPyoD4o3/SkWEklukArCsQC6fowEuraPkH/umopr9uO539g==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.8.0", + "@babel/helper-get-function-arity": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.0.tgz", + "integrity": "sha512-vjZaQlojnZIahu5ofEW+hPJfDI5A6r2Sbi5C0RuCaAOFj7viDIR5kOR7ul3Fz5US8V1sVk5Zd2yuPaz7iBeysg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.0.tgz", + "integrity": "sha512-oozdOhU2hZ6Tb9LS9BceGqDSmiUrlZX8lmRqnxQuiGzqWlhflIRQ1oFBHdV+hv+Zi9e5BhRkfSYtMLRLEkuOVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.0.tgz", + "integrity": "sha512-r5DgP2ZblaGmW/azRS9rlaf3oY4r/ByXRDA5Lcr3iHUkx3cCfL9RM10gU7AQmzwKymoq8LZ55sHyq9VeQFHwyQ==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-jsx": "^7.8.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.0.tgz", + "integrity": "sha512-hJXfJdLDDlJoxW/rAjkuIpGUUTizQ6fN9tIciW1M8KIqFsmpEf9psBPNTXYRCOLYLEsra+/WgVq+sc+1z05nQw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-jsx": "^7.8.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.0.tgz", + "integrity": "sha512-W+0VXOhMRdUTL7brjKXND+BiXbsxczfMdZongQ/Jtti0JVMtcTxWo66NMxNNtbPYvbc4aUXmgjl3eMms41sYtg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-syntax-jsx": "^7.8.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.0.tgz", + "integrity": "sha512-n88GT8PZuOHWxqxCJORW3g1QaYzQhHu5sEslxYeQkHVoewfnfuWN37t7YGaRLaNUdaZUlRPXhDcLGT7zBa/u0g==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.0.tgz", + "integrity": "sha512-DnshRyDTXZhmAgO2c1QKZI4CfZjoP2t3fSwRsnbCP9P/FSBpf9I7ovnAELswklw5OeY+/D/JIiaGLoUt2II3LA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.0.tgz", + "integrity": "sha512-sExhzq63Gl2PMbl7ETpN7Z1A38rLD6GeCT6EEEIIKjTVt9u6dRqJ6nHhaquL7QgR3egj/8fcvq23UvzfPqGAYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.0.tgz", + "integrity": "sha512-6Zjl0pv6x10YmFVRI0VhwJ/rE++geVHNJ9xwd+UIt3ON2VMRO7qI2lPsyLnzidR5HYNd/JXj47kdU9Rrn4YcnQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.0.tgz", + "integrity": "sha512-uksok0Bqox8YeIRFhr6RRtlBXeGpN1ogiEVjEd7A7rVLPZBXKGbL7kODpE7MQ+avjDLv5EEKtDCeYuWZK7FF7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-regex": "^7.8.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.0.tgz", + "integrity": "sha512-EF7Q7LEgeMpogHcvmHMNXBWdLWG1tpA1ErXH3i8zTu3+UEKo6aBn+FldPAJ16UbbbOwSCUCiDP6oZxvVRPhwnQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.0.tgz", + "integrity": "sha512-rEUBEFzsA9mCS2r7EtXFlM/6GqtzgLdC4WVYM9fIgJX+HcSJ8oMmj8LinfKhbo0ipRauvUM2teE2iNDNqDwO1g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.0.tgz", + "integrity": "sha512-qDg8wsnE47B/Sj8ZtOndPHrGBxJMssZJ71SzXrItum9n++iVFN7kYuJO+OHhjom7+/or0zzYqvJNzCkUjyNKqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/preset-env": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.0.tgz", + "integrity": "sha512-g3wnth3Ct+ZvnaHcvb5PQyojqNj0whXTkO7hatXgz+lQ2FphOoXrG1JMIfeaHgDakGzx3LiNe0KsWO69xSVFDA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.0", + "@babel/helper-compilation-targets": "^7.8.0", + "@babel/helper-module-imports": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-proposal-async-generator-functions": "^7.8.0", + "@babel/plugin-proposal-dynamic-import": "^7.8.0", + "@babel/plugin-proposal-json-strings": "^7.8.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-proposal-object-rest-spread": "^7.8.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.0", + "@babel/plugin-proposal-optional-chaining": "^7.8.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.0", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.0", + "@babel/plugin-transform-arrow-functions": "^7.8.0", + "@babel/plugin-transform-async-to-generator": "^7.8.0", + "@babel/plugin-transform-block-scoped-functions": "^7.8.0", + "@babel/plugin-transform-block-scoping": "^7.8.0", + "@babel/plugin-transform-classes": "^7.8.0", + "@babel/plugin-transform-computed-properties": "^7.8.0", + "@babel/plugin-transform-destructuring": "^7.8.0", + "@babel/plugin-transform-dotall-regex": "^7.8.0", + "@babel/plugin-transform-duplicate-keys": "^7.8.0", + "@babel/plugin-transform-exponentiation-operator": "^7.8.0", + "@babel/plugin-transform-for-of": "^7.8.0", + "@babel/plugin-transform-function-name": "^7.8.0", + "@babel/plugin-transform-literals": "^7.8.0", + "@babel/plugin-transform-member-expression-literals": "^7.8.0", + "@babel/plugin-transform-modules-amd": "^7.8.0", + "@babel/plugin-transform-modules-commonjs": "^7.8.0", + "@babel/plugin-transform-modules-systemjs": "^7.8.0", + "@babel/plugin-transform-modules-umd": "^7.8.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.0", + "@babel/plugin-transform-new-target": "^7.8.0", + "@babel/plugin-transform-object-super": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.8.0", + "@babel/plugin-transform-property-literals": "^7.8.0", + "@babel/plugin-transform-regenerator": "^7.8.0", + "@babel/plugin-transform-reserved-words": "^7.8.0", + "@babel/plugin-transform-shorthand-properties": "^7.8.0", + "@babel/plugin-transform-spread": "^7.8.0", + "@babel/plugin-transform-sticky-regex": "^7.8.0", + "@babel/plugin-transform-template-literals": "^7.8.0", + "@babel/plugin-transform-typeof-symbol": "^7.8.0", + "@babel/plugin-transform-unicode-regex": "^7.8.0", + "@babel/types": "^7.8.0", + "browserslist": "^4.8.2", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.0", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.0.tgz", + "integrity": "sha512-GP9t18RjtH67ea3DA2k71VqtMnTOupYJx34Z+KUEBRoRxvdETaucmtMWH5uoGHWzAD4qxbuV5ckxpewm39NXkA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/plugin-transform-react-display-name": "^7.8.0", + "@babel/plugin-transform-react-jsx": "^7.8.0", + "@babel/plugin-transform-react-jsx-self": "^7.8.0", + "@babel/plugin-transform-react-jsx-source": "^7.8.0" + } + }, + "@babel/runtime": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.5.tgz", + "integrity": "sha512-UXhClKWTL7/vlYX49kETXti6VbpPJK/pdsIOqUMhUUES/lqThpNTsmC/0aU/IW4uozDUx17axjeqel7SCYF6EQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/template": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz", + "integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/traverse": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz", + "integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/generator": "^7.8.0", + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz", + "integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@coreui/coreui": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@coreui/coreui/-/coreui-2.1.16.tgz", + "integrity": "sha512-1YOnQAlcX2bIgnaX3k9GKaN4lD+wKam7tdDfFj7/ZQTN1XG3dwDELHp4aagWQs78ix2CCO1LyeLrzGpsMcLW3Q==", + "requires": { + "@coreui/coreui-plugin-npm-postinstall": "^1.0.2", + "bootstrap": "^4.3.1", + "core-js": "^3.3.4", + "regenerator-runtime": "^0.13.3" + }, + "dependencies": { + "core-js": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.7.tgz", + "integrity": "sha512-qaPVGw30J1wQ0GR3GvoPqlGf9GZfKKF4kFC7kiHlcsPTqH3txrs9crCp3ZiMAXuSenhz89Jnl4GZs/67S5VOSg==" + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + } + } + }, + "@coreui/coreui-plugin-npm-postinstall": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@coreui/coreui-plugin-npm-postinstall/-/coreui-plugin-npm-postinstall-1.0.2.tgz", + "integrity": "sha512-yeeoWp+bNS84nP1977Y8UCiQ9pssO+f4QuVj3i0/gYZFjjvOgxx0dnyWhtowD5sLYnCRMPlPpqyjwXze3SlkYg==" + }, + "@fortawesome/fontawesome-free": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.0.tgz", + "integrity": "sha512-vKDJUuE2GAdBERaQWmmtsciAMzjwNrROXA5KTGSZvayAsmuTGjam5z6QNqNPCwDfVljLWuov1nEC3mEQf/n6fQ==" + }, + "@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==" + }, + "@types/asap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asap/-/asap-2.0.0.tgz", + "integrity": "sha512-upIS0Gt9Mc8eEpCbYMZ1K8rhNosfKUtimNcINce+zLwJF5UpM3Vv7yz3S5l/1IX+DxTa8lTkUjqynvjRXyJzsg==" + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "@types/invariant": { + "version": "2.2.30", + "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.30.tgz", + "integrity": "sha512-98fB+yo7imSD2F7PF7GIpELNgtLNgo5wjivu0W5V4jx+KVVJxo6p/qN4zdzSTBWy4/sN3pPyXwnhRSD28QX+ag==" + }, + "@types/prop-types": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", + "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==" + }, + "@types/react": { + "version": "16.8.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz", + "integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/shallowequal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/shallowequal/-/shallowequal-1.1.1.tgz", + "integrity": "sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==" + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "ace-builds": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.7.tgz", + "integrity": "sha512-gwQGVFewBopRLho08BfahyvRa9FlB43JUig5ItAKTYc9kJJsbA9QNz75p28QtQomoPQ9rJx82ymL21x4ZSZmdg==" + }, + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "requires": { + "lodash": "^4.17.11" + } + }, + "async-each": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.2.tgz", + "integrity": "sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg==", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "attr-accept": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.0.0.tgz", + "integrity": "sha512-I9SDP4Wvh2ItYYoafEg8hFpsBe96pfQ+eabceShXt3sw2fbIP96+Aoj9zZE0vkZNAkXXzHJATVRuWz+h9FxJxQ==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axios": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.1.tgz", + "integrity": "sha512-Yl+7nfreYKaLRvAvjNPkvfjnQHJM1yLBY3zhqAwcJSwR/6ETkanUgylgtIvkvz0xJ+p/vZuNw8X7Hnb7Whsbpw==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "requires": { + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "requires": { + "babel-plugin-transform-flow-strip-types": "^6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "requires": { + "babel-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-preset-flow": "^6.23.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "backbone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "requires": { + "underscore": ">=1.8.3" + } + }, + "backbone-undo": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/backbone-undo/-/backbone-undo-0.2.5.tgz", + "integrity": "sha1-VbJSMPkDGcpiJGXomoAki4k8LOI=", + "requires": { + "backbone": "1.0.0 - 1.2.1", + "underscore": "1.4.4 - 1.8.3" + }, + "dependencies": { + "backbone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.2.1.tgz", + "integrity": "sha1-1yGcXtSeXhMdv/ryXJbW0sw8oD4=", + "requires": { + "underscore": ">=1.7.0" + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "bootstrap": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", + "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001020", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz", + "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "cash-dom": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/cash-dom/-/cash-dom-1.3.7.tgz", + "integrity": "sha512-cWqx3b+8Vh5hvRd87voSW7hxHVhUekGiOUd7iix8fP29cl6TBIInkAqYVSKaL2xeVewS3/kfPnIIC+Xl3nVe/A==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + } + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "dependencies": { + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "requires": { + "picomatch": "^2.0.4" + } + } + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-css-cli": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.3.0.tgz", + "integrity": "sha512-8GHZfr+mG3zB/Lgqrr27qHBFsPSn0fyEI3f2rIZpxPxUbn2J6A8xyyeBRVTW8duDuXigN0s80vsXiXJOEFIO5Q==", + "dev": true, + "requires": { + "clean-css": "^4.2.1", + "commander": "2.x", + "glob": "7.x" + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "clsx": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz", + "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg==" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codemirror": { + "version": "5.48.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.48.2.tgz", + "integrity": "sha512-i9VsmC8AfA5ji6EDIZ+aoSe4vt9FcwPLdHB1k1ItFbVyuOFRrcfvnoKqwZlC7EVA2UmTRiNEypE4Uo7YvzVY8Q==" + }, + "codemirror-formatting": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/codemirror-formatting/-/codemirror-formatting-1.0.0.tgz", + "integrity": "sha1-h5zB/dkBg0PB1VEXac5TYNcF6/I=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + }, + "core-js-compat": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.3.tgz", + "integrity": "sha512-Y3YNGU3bU1yrnzVodop23ghArbKv4IqkZg9MMOWv/h7KT6NRk1/SzHhWDDlubg2+tlcUzAqgj1/GyeJ9fUKMeg==", + "dev": true, + "requires": { + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", + "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "datatables.net": { + "version": "1.10.20", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.20.tgz", + "integrity": "sha512-4E4S7tTU607N3h0fZPkGmAtr9mwy462u+VJ6gxYZ8MxcRIjZqHy3Dv1GNry7i3zQCktTdWbULVKBbkAJkuHEnQ==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-bs4": { + "version": "1.10.20", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.10.20.tgz", + "integrity": "sha512-kQmMUMsHMOlAW96ztdoFqjSbLnlGZQ63iIM82kHbmldsfYdzuyhbb4hTx6YNBi481WCO3iPSvI6YodNec46ZAw==", + "requires": { + "datatables.net": "1.10.20", + "jquery": ">=1.7" + } + }, + "datauri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-1.1.0.tgz", + "integrity": "sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ==", + "requires": { + "image-size": "^0.6.2", + "mimer": "^0.3.2", + "semver": "^5.5.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "dnd-core": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-9.5.1.tgz", + "integrity": "sha512-/yEWFF2jg51yyB8uA2UbvBr9Qis0Oo/4p9cqHLEKZdxzHHVSPfq0a/ool8NG6dIS6Q4uN+oKGObY0rNWiopJDA==", + "requires": { + "@types/asap": "^2.0.0", + "@types/invariant": "^2.2.30", + "asap": "^2.0.6", + "invariant": "^2.2.4", + "redux": "^4.0.4" + } + }, + "dom-helpers": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.3.tgz", + "integrity": "sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==", + "requires": { + "@babel/runtime": "^7.6.3", + "csstype": "^2.6.7" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.7.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.5.tgz", + "integrity": "sha512-UXhClKWTL7/vlYX49kETXti6VbpPJK/pdsIOqUMhUUES/lqThpNTsmC/0aU/IW4uozDUx17axjeqel7SCYF6EQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "csstype": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.7.tgz", + "integrity": "sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ==" + } + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + } + } + }, + "electron-to-chromium": { + "version": "1.3.332", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.332.tgz", + "integrity": "sha512-AP2HkLhfSOIxP7gDjlyZ4ywGWIcxRMZoU9+JriuVkQe2pSLDdWBsE6+eI6BQOqun1dohLrUTOPHsQLLhhFA7Eg==", + "dev": true + }, + "ellipsize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz", + "integrity": "sha1-nUNoLUS5GtFuvYQmisEDFwplU/g=" + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } + }, + "file-selector": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.1.12.tgz", + "integrity": "sha512-Kx7RTzxyQipHuiqyZGf+Nz4vY9R1XGxuQl/hLoJwq+J4avk/9wxxgZyHKtbyIPJmbD4A66DWGYfyykWNpcYutQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + }, + "dependencies": { + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "frontend-collective-react-dnd-scrollzone": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/frontend-collective-react-dnd-scrollzone/-/frontend-collective-react-dnd-scrollzone-1.0.2.tgz", + "integrity": "sha512-me/D9PZJq9j/sjEjs/OPmm6V6nbaHbhgeQiwrWu0t35lhwAOKWc+QBzzKKcZQeboYTkgE8UvCD9el+5ANp+g5Q==", + "requires": { + "hoist-non-react-statics": "^3.1.0", + "lodash.throttle": "^4.0.1", + "prop-types": "^15.5.9", + "raf": "^3.2.0", + "react": "^16.3.0", + "react-display-name": "^0.2.0", + "react-dom": "^16.3.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "grapesjs": { + "version": "0.14.62", + "resolved": "https://registry.npmjs.org/grapesjs/-/grapesjs-0.14.62.tgz", + "integrity": "sha512-pqmSf6gp1qYPBZPCVPuDrIcS+Ea8ILl4+pyct70i3lN1hm+N+5Jidb4JzlbszIHZMtGT+nC7VIbQWuZCaT2Qbg==", + "requires": { + "backbone": "^1.3.3", + "backbone-undo": "^0.2.5", + "cash-dom": "^1.3.7", + "codemirror": "^5.42.0", + "codemirror-formatting": "^1.0.0", + "font-awesome": "^4.7.0", + "keymaster": "^1.6.2", + "promise-polyfill": "^8.1.0", + "spectrum-colorpicker": "^1.8.0", + "underscore": "^1.9.1" + } + }, + "grapesjs-mjml": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/grapesjs-mjml/-/grapesjs-mjml-0.1.15.tgz", + "integrity": "sha512-ayLotiNSjI4dB21n3M5aLmfpBLvzKpr4j3AEJeQzuobxutG0DKvRQODD2LDm5bBotkfKb7+tw5AT/BT01kfyOA==", + "requires": { + "mjml": "4.4.1" + } + }, + "grapesjs-preset-newsletter": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/grapesjs-preset-newsletter/-/grapesjs-preset-newsletter-0.2.20.tgz", + "integrity": "sha512-rffUeuznf9Saig+kIUddmGfhWwbLjxdaqAYf6Hoge4b0sfT8knOS4mQXJBdRsSROfzuRhFe6ybRHm4yC32lHxA==", + "requires": { + "juice": "^4.1.1" + }, + "dependencies": { + "juice": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz", + "integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^5.1.0", + "deep-extend": "^0.5.1", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.2.1" + } + } + } + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "html-parse-stringify2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz", + "integrity": "sha1-3FZwtyksoVi3vJFsmmc1rIhyg0o=", + "requires": { + "void-elements": "^2.0.1" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "i18next": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.0.3.tgz", + "integrity": "sha512-Ru4afr++b4cUApsIBifcMYyWG9Nx8wlFdq4DuOF+UuoPoQKfuh0iAVMekTjs6w1CZLUOVb5QZEuoYRLmu17EIA==", + "requires": { + "@babel/runtime": "^7.3.1" + } + }, + "i18next-browser-languagedetector": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.0.1.tgz", + "integrity": "sha512-RxSoX6mB8cab0CTIQ+klCS764vYRj+Jk621cnFVsINvcdlb/cdi3vQFyrPwmnowB7ReUadjHovgZX+RPIzHVQQ==", + "requires": { + "@babel/runtime": "^7.5.5" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", + "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immutable": { + "version": "4.0.0-rc.12", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.12.tgz", + "integrity": "sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A==" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jquery": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.0.tgz", + "integrity": "sha512-ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ==" + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-beautify": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz", + "integrity": "sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~0.5.1", + "nopt": "~4.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "juice": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-6.0.0.tgz", + "integrity": "sha512-5T3JPgXYiw6A6axsb9E09Gzq46WbfJeDirY6nMrqY55iAdqEoPDxSr1GpXqYfoyndx4ujpBPXGLzBRzbiqOOaw==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^6.0.5", + "deep-extend": "^0.6.0", + "mensch": "^0.3.4", + "slick": "^1.12.2", + "web-resource-inliner": "^4.3.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "async": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "datauri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-2.0.0.tgz", + "integrity": "sha512-zS2HSf9pI5XPlNZgIqJg/wCJpecgU/HA6E/uv2EfaWnW1EiTGLfy/EexTIsC9c99yoCOTXlqeeWk4FkCSuO3/g==", + "requires": { + "image-size": "^0.7.3", + "mimer": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + }, + "domhandler": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", + "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.0.0.tgz", + "integrity": "sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg==", + "requires": { + "dom-serializer": "^0.2.1", + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0" + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + }, + "htmlparser2": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.0.0.tgz", + "integrity": "sha512-cChwXn5Vam57fyXajDtPXL1wTYc8JtLbr2TN76FYu05itVVVealxLowe2B3IEznJG4p9HAYn/0tJaRlGuEglFQ==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "image-size": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" + }, + "mensch": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", + "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==" + }, + "mimer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-1.0.0.tgz", + "integrity": "sha512-4ZJvCzfcwsBgPbkKXUzGoVZMWjv8IDIygkGzVc7uUYhgnK0t2LmGxxjdgH1i+pn0/KQfB5F/VKUJlfyTSOFQjg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "valid-data-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-2.0.0.tgz", + "integrity": "sha512-dyCZnv3aCey7yfTgIqdZanKl7xWAEEKCbgmR7SKqyK6QT/Z07ROactrgD1eA37C69ODRj7rNOjzKWVPh0EUjBA==" + }, + "web-resource-inliner": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.3.4.tgz", + "integrity": "sha512-agVAgRhOOi4GVlvKK34oM23tDgH8390HfLnZY2HZl8OFBwKNvUJkH7t89AT2iluQP8w9VHAAKX6Z8EN7/9tqKA==", + "requires": { + "async": "^3.1.0", + "chalk": "^2.4.2", + "datauri": "^2.0.0", + "htmlparser2": "^4.0.0", + "lodash.unescape": "^4.0.1", + "request": "^2.88.0", + "safer-buffer": "^2.1.2", + "valid-data-url": "^2.0.0", + "xtend": "^4.0.2" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } + }, + "keymaster": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/keymaster/-/keymaster-1.6.2.tgz", + "integrity": "sha1-4a5U0OqUiPn2C2a2aPAumhlGxus=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.0.tgz", + "integrity": "sha512-VHcwhO0UTpUW7rLPN2/OiWJdgA1e9BqEDALhrgCe/F+uUJnep6CoUsTzMeP8Rh0NGr9uKquXxqe7lwLZo509nQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.unescape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", + "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "mensch": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.3.tgz", + "integrity": "sha1-4gD/TdgjcX+OBWOzLj9UgfyiYrI=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", + "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", + "dev": true + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "requires": { + "mime-db": "~1.38.0" + } + }, + "mimer": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-0.3.2.tgz", + "integrity": "sha512-N6NcgDQAevhP/02DQ/epK6daLy4NKrIHyTlJcO6qBiYn98q+Y4a/knNsAATCe1xLS2F0nEmJp+QYli2s8vKwyQ==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-create-react-context": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz", + "integrity": "sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw==", + "requires": { + "@babel/runtime": "^7.4.0", + "gud": "^1.0.0", + "tiny-warning": "^1.0.2" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mjml": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml/-/mjml-4.4.1.tgz", + "integrity": "sha512-XFYAMJKvsY8Hu+GS8Bp2IjwawukQpW6nGWqK2kF+dd9se/cN4dnPGowDqF29GOgvZJJ/MckaJyiAl1KbJwGjtg==", + "requires": { + "mjml-accordion": "4.4.1", + "mjml-body": "4.4.1", + "mjml-button": "4.4.1", + "mjml-carousel": "4.4.1", + "mjml-cli": "4.4.1", + "mjml-column": "4.4.1", + "mjml-core": "4.4.1", + "mjml-divider": "4.4.1", + "mjml-group": "4.4.1", + "mjml-head": "4.4.1", + "mjml-head-attributes": "4.4.1", + "mjml-head-breakpoint": "4.4.1", + "mjml-head-font": "4.4.1", + "mjml-head-preview": "4.4.1", + "mjml-head-style": "4.4.1", + "mjml-head-title": "4.4.1", + "mjml-hero": "4.4.1", + "mjml-image": "4.4.1", + "mjml-migrate": "4.4.1", + "mjml-navbar": "4.4.1", + "mjml-raw": "4.4.1", + "mjml-section": "4.4.1", + "mjml-social": "4.4.1", + "mjml-spacer": "4.4.1", + "mjml-table": "4.4.1", + "mjml-text": "4.4.1", + "mjml-validator": "4.4.0", + "mjml-wrapper": "4.4.1" + } + }, + "mjml-accordion": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-accordion/-/mjml-accordion-4.4.1.tgz", + "integrity": "sha512-zKAXZ9qeFsy+ftZ0iImUSqBux1z0NmRGUDbANqkZG1yo4QOOYhe9wHFr/Cjv2v/+m6Jpxt+De73Pvw5dXBnMbQ==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-body": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-body/-/mjml-body-4.4.1.tgz", + "integrity": "sha512-rf8k2kE0h7eJGA9NzVoqvUlSHXxypbZc0utQDVQuwaz1051Ny+fIUAR46jpksd93V2LYxobeUfjes2aJPFDTMA==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-button": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-button/-/mjml-button-4.4.1.tgz", + "integrity": "sha512-c/jbtccOqgP8HL47Pmi1JBbgrUWjSUkiwh1hWLgAR6/oS9uDK+TYZZ2gK9IyCdFo0dl8na25WFLRQ1kUHQE09Q==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-carousel": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-carousel/-/mjml-carousel-4.4.1.tgz", + "integrity": "sha512-34iKJSJE8o4U+StX5gEgbLklQ8JxmVIqoQ/9T5JgvAGQ0G+REZL37BJZx4nq0lMI88Pjwkdu2pzRxPYe8go39g==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-cli": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-cli/-/mjml-cli-4.4.1.tgz", + "integrity": "sha512-h8+qWGKzRklCoVtEfv0+83JORkPaFM+oUrLnnYDI+AY+CnBdC4eiyjBkVR9kzVue0xv8JmyGP5RADSoeU99ULg==", + "requires": { + "babel-runtime": "^6.26.0", + "chokidar": "^3.0.0", + "glob": "^7.1.1", + "lodash": "^4.17.4", + "mjml-core": "4.4.1", + "mjml-migrate": "4.4.1", + "mjml-parser-xml": "4.4.1", + "mjml-validator": "4.4.0", + "yargs": "^8.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "mjml-column": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-column/-/mjml-column-4.4.1.tgz", + "integrity": "sha512-VUTW5pvxLBUHa7xO4e3YWCmJqsDC0RhkjN6Rg7qgZE0TPPun3gUMFV1Geb8hM4OXyjp9xAc0TOOAU+umXiBPbA==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-core/-/mjml-core-4.4.1.tgz", + "integrity": "sha512-7y0OYhi0HEeQJo47rkJvCh4PP52KrSbzINOhGwi1Dky3Gahl1v0U/Uza//DXHUQ49142tpuXsao1euijH1zgTA==", + "requires": { + "babel-runtime": "^6.26.0", + "html-minifier": "^3.5.3", + "js-beautify": "^1.6.14", + "juice": "^5.2.0", + "lodash": "^4.17.2", + "mjml-migrate": "4.4.1", + "mjml-parser-xml": "4.4.1", + "mjml-validator": "4.4.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "juice": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-5.2.0.tgz", + "integrity": "sha512-0l6GZmT3efexyaaay3SchKT5kG311N59TEFP5lfvEy0nz9SNqjx311plJ3b4jze7arsmDsiHQLh/xnAuk0HFTQ==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^6.0.5", + "deep-extend": "^0.6.0", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.3.1" + } + } + } + }, + "mjml-divider": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-divider/-/mjml-divider-4.4.1.tgz", + "integrity": "sha512-vZLjRpjt45mvY18FHZL3ilZyVpYDLvvyekpz15Mjp+f9NKNKJMSDHRN82nVD26gxoag8yNbmZgIe8zYpRUMWpA==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-group": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-group/-/mjml-group-4.4.1.tgz", + "integrity": "sha512-Dzk/yVXgoQn5/OqJB6qUFy14Oy7RUuCKiLWa3BzcOFQgKc2/+n2JYdRR96WV9FP9AphZuliDxTHAnpnAFDAcpQ==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head/-/mjml-head-4.4.1.tgz", + "integrity": "sha512-N1Yj+298eq4sA+F8n+jnprBlDx81dXq6QsA8bLdFTznKfgY3FaUY2FjCras6Ze3HtpNJztCaXfwEMcUvnjNbeA==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-attributes": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-attributes/-/mjml-head-attributes-4.4.1.tgz", + "integrity": "sha512-SSb+A4puaKNtr5fV/xn38aXC5ZE6XbEjNQPTRGRVi5NtAiS2Pfue+tOKftEkrwsPcJjZIRKmxOFE62sUv3bT8A==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-breakpoint": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-breakpoint/-/mjml-head-breakpoint-4.4.1.tgz", + "integrity": "sha512-d9W5G8DhJW5SIPsu8JbblWnsr+ISyPCn6PrsLy+cRg2hIXBggX960sSol+rdcdnNFt1PuVIaRSpNgqbmyJfB0g==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-font": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-font/-/mjml-head-font-4.4.1.tgz", + "integrity": "sha512-7MttVqLSAKxaaFrWxp7on3v0pm1futZ2qibPXEqFtf2+cQAq0fGp6e+FageN7abRHi1o4ZQ/1OzC5HA+giDL1Q==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-preview": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-preview/-/mjml-head-preview-4.4.1.tgz", + "integrity": "sha512-wFmxkMJxLM+VlBymKtkH8gbnqBqSDI6T/bIwPij26p+LjIpW9P6j53caVCuJpAyimRAp1PL/W9xl5AF4qZnYog==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-style": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-style/-/mjml-head-style-4.4.1.tgz", + "integrity": "sha512-fV3Qvl/7rE5reNzZ1b5Iy63f/IlEYFj3tmqeZ6PNz8Jo5ZWngqDmQrx+lliMorVBTgwSg+Ym2LnQorilABk2kw==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-head-title": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-head-title/-/mjml-head-title-4.4.1.tgz", + "integrity": "sha512-h0a2BmJMoBVYs9AlZyJkM1D6UW9F1lklGQ6L7c5mTuvgyCNP1NscRbRIQ0iW8Ckc94ielTEGJRvUiNuNCkMgbA==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-hero": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-hero/-/mjml-hero-4.4.1.tgz", + "integrity": "sha512-8WL+JuasmBUNOph/btVR0cjz671V8Wkvn6Dt6hucmH51ikLuMYslw48SZWEC9yp1CsD6s1THyUogYcE/rB6RYw==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-image": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-image/-/mjml-image-4.4.1.tgz", + "integrity": "sha512-BPzw2cfXAsA2YihiR1RjHC56nTxNObdZ2A0A65jhsvRIcRhJyPPWRuzyxv/rejnKByGx6vuoRCkRE8IaiVrrzw==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-migrate": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-migrate/-/mjml-migrate-4.4.1.tgz", + "integrity": "sha512-SzpR7fgnCPay9OtAEjo1mrEUoz9cTg5/nhRzvC/h+HpXFvyF+llGnUqsG4parnunGzzZ2kmZtd5cPc6ORa3dOA==", + "requires": { + "babel-runtime": "^6.26.0", + "commander": "^2.11.0", + "js-beautify": "^1.6.14", + "lodash": "^4.17.2", + "mjml-core": "4.4.1", + "mjml-parser-xml": "4.4.1" + } + }, + "mjml-navbar": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-navbar/-/mjml-navbar-4.4.1.tgz", + "integrity": "sha512-DI9mMTKiAvgVuFE3IO/NDIBah7OHvb8I8n1WMXLc/cMf7DZEJApfEy9MNRFz4EzCEgfBPf5dsYPGu4H/Nv36Fg==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-parser-xml": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-parser-xml/-/mjml-parser-xml-4.4.1.tgz", + "integrity": "sha512-UFikH3kwnKGjJOH/UApNnYcLgCFvqC4D5zhI7/EpIAZGmCiyfsYxsjb9vi8zNTd3vxkB2REPdBs+TwIKUiVYLw==", + "requires": { + "babel-runtime": "^6.26.0", + "htmlparser2": "^3.9.2", + "lodash": "^4.17.2" + } + }, + "mjml-raw": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-raw/-/mjml-raw-4.4.1.tgz", + "integrity": "sha512-6kMjtuiyc4+kbw+f9auiYb6eYVKBUA34CbFB2x+wS71sDNarCjvRedv30DJ2rp6M5IV79kOzv8wmb4+wN1Guig==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-section": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-section/-/mjml-section-4.4.1.tgz", + "integrity": "sha512-QAdXVGrVw5ebECXmYj0l9D5hr1C5bpval9yx3yePEgZ+TMZwqtxKqUg4IjqTSdpZg+g0dxr6UzFILtfWg6n6rg==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-social": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-social/-/mjml-social-4.4.1.tgz", + "integrity": "sha512-eO89CJhyCOdox3IVOJQmIZ+VOzoIp9kIC3eD9sY+K6CzZDD9LwapCoWUt5uQrDKn7dhhi8lN06u3SzGnRd8qmw==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-spacer": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-spacer/-/mjml-spacer-4.4.1.tgz", + "integrity": "sha512-z3SOabP4THd/sKZBdC2jOQq4zGUdSZvjm3vGum3hM6ZS4jZkHJzL7qtd//u3WtaULdpjyeyaY9o0QDFcAKcrPQ==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-table": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-table/-/mjml-table-4.4.1.tgz", + "integrity": "sha512-bJzPnecXrEvkEAO5X9bIsFEhcObk4viArZVHzQW3wgfCLb7uSo9UHEF5lqueT+e00JThHVeP2SBcPuHgQC5JOg==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-text": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-text/-/mjml-text-4.4.1.tgz", + "integrity": "sha512-kupHgeSb4Hc+HQtghhcK31p8q73u4mSjs/0HUUxXtmzbMxctSl9UNbFXApAVnbwAA03DL1LtVRymhGO2GdFowQ==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1" + } + }, + "mjml-validator": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/mjml-validator/-/mjml-validator-4.4.0.tgz", + "integrity": "sha512-htKvNAjfhLgPZHTVAQENRc/sMlOKYGCRn7pvSGi1N96VhDf2pB5/kgyLJMjT2u1yT0hXID+6P9/HKVNW2zlUQQ==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "warning": "^3.0.0" + } + }, + "mjml-wrapper": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/mjml-wrapper/-/mjml-wrapper-4.4.1.tgz", + "integrity": "sha512-/A6PTg0UOqk/3D7FEotPsnIcE4asHmlJdbCCU9XuvdThYMx70CE2JxurOo52OD1Hj41eLHrwXzybtYW9HZ56Bw==", + "requires": { + "babel-runtime": "^6.26.0", + "lodash": "^4.17.2", + "mjml-core": "4.4.1", + "mjml-section": "4.4.1" + } + }, + "mjml4-in-browser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/mjml4-in-browser/-/mjml4-in-browser-1.1.2.tgz", + "integrity": "sha512-/GFYD4qnRT/0zNxD0hevJiGeyEGAwCP0WlpPpzMMnH29FHHZu6FB1dUIaEkVaV0IFw2HTG01IuEKX4pYiubAIA==", + "requires": { + "html-minifier": "^3.5.3", + "htmlparser2": "^3.10.1", + "js-beautify": "^1.10.1", + "juice": "^4.1.0", + "lodash": "^4.17.15", + "warning": "^4.0.3" + }, + "dependencies": { + "js-beautify": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.1.tgz", + "integrity": "sha512-4y8SHOIRC+/YQ2gs3zJEKBUraQerq49FJYyXRpdzUGYQzCq8q9xtIh0YXial1S5KmonVui4aiUb6XaGyjE51XA==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "mkdirp": "~0.5.1", + "nopt": "~4.0.1" + } + }, + "juice": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz", + "integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==", + "requires": { + "cheerio": "^0.22.0", + "commander": "^2.15.1", + "cross-spawn": "^5.1.0", + "deep-extend": "^0.5.1", + "mensch": "^0.3.3", + "slick": "^1.12.2", + "web-resource-inliner": "^4.2.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "moment-timezone": { + "version": "0.5.27", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.27.tgz", + "integrity": "sha512-EIKQs7h5sAsjhPCqN6ggx6cEbs94GK050254TIJySD1bzoM5JTYDwAU1IoVOeTOL6Gm27kYJ51/uuvq1kIlrbw==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "dev": true + }, + "nanoid": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.7.tgz", + "integrity": "sha512-fmS3qwDldm4bE01HCIRqNk+f255CNjnAoeV3Zzzv0KemObHKqYgirVaZA9DtKcjogicWjYcHkJs4D5A8CjnuVQ==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + } + } + }, + "node-releases": { + "version": "1.1.45", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.45.tgz", + "integrity": "sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "node-sass": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz", + "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + } + } + }, + "nodemon": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz", + "integrity": "sha512-VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==", + "dev": true, + "requires": { + "chokidar": "^2.1.8", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==" + }, + "pidtree": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", + "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "popper.js": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz", + "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + }, + "pstree.remy": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.7.tgz", + "integrity": "sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "react": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-ace": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-8.0.0.tgz", + "integrity": "sha512-EvU14vXbZpAenb1ZVKdn8yTQs/shZ9RghFulHtt67bBXT6sjrNHcfOEXHYtSEmwMb6pQVVNNuulzzd8o+Uouig==", + "requires": { + "ace-builds": "^1.4.6", + "diff-match-patch": "^1.0.4", + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.7.2" + } + }, + "react-ckeditor-component": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-ckeditor-component/-/react-ckeditor-component-1.1.0.tgz", + "integrity": "sha512-dcptPsMKRDGvAGxokwdVDKPgZbTgwngknaQVD+SDTV6XSw57J6LD7cRaqEo6WGLwMZh39Up37fdJjugNd6vEAA==", + "requires": { + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-react": "^6.16.0", + "babel-runtime": "^6.11.6", + "load-script": "^1.0.0" + } + }, + "react-color": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.18.0.tgz", + "integrity": "sha512-FyVeU1kQiSokWc8NPz22azl1ezLpJdUyTbWL0LPUpcuuYDrZ/Y1veOk9rRK5B3pMlyDGvTk4f4KJhlkIQNRjEA==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.11", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-day-picker": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.0.tgz", + "integrity": "sha512-dqfr96EY7mHSpbW23hJI6of2JvxClDfHLNQ7VqctxBvNsJIzEiwh3zS8hEhqNza7xuR0vC4KN517zxndgb3/fw==", + "requires": { + "prop-types": "^15.6.2" + } + }, + "react-display-name": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", + "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==" + }, + "react-dnd": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-9.5.1.tgz", + "integrity": "sha512-j2MvziPNLsxXkb3kIJzLvvOv/TQ4sysp6U4CmxAXd4C884dXm/9UGdB7K1wkTW3ZxVpI1K7XhKbX0JgNlPfLcA==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.1", + "@types/shallowequal": "^1.1.1", + "dnd-core": "^9.5.1", + "hoist-non-react-statics": "^3.3.0", + "shallowequal": "^1.1.0" + } + }, + "react-dnd-html5-backend": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-9.5.1.tgz", + "integrity": "sha512-wUdzjREwLqHxFkA6E+XDVL5IFjRDbBI3SHVKil9n3qrGT5dm2tA2oi1aIALdfMKsu00c+OXA9lz/LuKZCE9KXg==", + "requires": { + "dnd-core": "^9.5.1" + } + }, + "react-dnd-touch-backend": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/react-dnd-touch-backend/-/react-dnd-touch-backend-9.5.1.tgz", + "integrity": "sha512-XpdhR/XUhjR2lsFdW9ce0Q1QNX24MGwlT6qGbWdg5G2J3rmt7rzLT8UytppdusYHTn7UbNKtuZcxfw4HOCPdKg==", + "requires": { + "@types/invariant": "^2.2.30", + "dnd-core": "^9.5.1", + "invariant": "^2.2.4" + } + }, + "react-dom": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + } + }, + "react-dropzone": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-10.2.1.tgz", + "integrity": "sha512-Me5nOu8hK9/Xyg5easpdfJ6SajwUquqYR/2YTdMotsCUgJ1pHIIwNsv0n+qcIno0tWR2V2rVQtj2r/hXYs2TnQ==", + "requires": { + "attr-accept": "^2.0.0", + "file-selector": "^0.1.12", + "prop-types": "^15.7.2" + } + }, + "react-google-charts": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/react-google-charts/-/react-google-charts-3.0.15.tgz", + "integrity": "sha512-78s5xOQOJvL+jIewrWQZEHtlVk+5Yh4zZy+ODA1on1o1FaRjKWXxoo4n4JQl1XuqkF/A9NWque3KqM6pMggjzQ==", + "requires": { + "react-load-script": "^0.0.6" + } + }, + "react-i18next": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.2.7.tgz", + "integrity": "sha512-BBm6/ch6jgvpIBwyitNd0G7Z49+wNeyJ6x0rZFcXX6NPrla2GuDGH+oKSjmYRg8IqtL6aG9CwWb06YJCrXbk6w==", + "requires": { + "@babel/runtime": "^7.3.1", + "html-parse-stringify2": "2.0.1" + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-load-script": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/react-load-script/-/react-load-script-0.0.6.tgz", + "integrity": "sha512-aRGxDGP9VoLxcsaYvKWIW+LRrMOzz2eEcubTS4NvQPPugjk2VvMhow0wWTkSl7RxookomD1MwcP4l5UStg5ShQ==" + }, + "react-router": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.1.2.tgz", + "integrity": "sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.3.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-router-dom": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.1.2.tgz", + "integrity": "sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.1.2", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "react-sortable-tree": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-sortable-tree/-/react-sortable-tree-2.7.1.tgz", + "integrity": "sha512-J78/6AXv9RN0XxoBAIDz8a7aNFdi/Mezcv/9lKNYTYzqAWxEyOTMeqZjpmvwLhM2HRpChTn0yYLHTdRSNHRACw==", + "requires": { + "frontend-collective-react-dnd-scrollzone": "^1.0.2", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.6.1", + "react-dnd": "^9.3.4", + "react-dnd-html5-backend": "^9.3.4", + "react-lifecycles-compat": "^3.0.4", + "react-sortable-tree": "^2.6.0", + "react-virtualized": "^9.19.1" + }, + "dependencies": { + "dnd-core": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-9.5.1.tgz", + "integrity": "sha512-/yEWFF2jg51yyB8uA2UbvBr9Qis0Oo/4p9cqHLEKZdxzHHVSPfq0a/ool8NG6dIS6Q4uN+oKGObY0rNWiopJDA==", + "requires": { + "@types/asap": "^2.0.0", + "@types/invariant": "^2.2.30", + "asap": "^2.0.6", + "invariant": "^2.2.4", + "redux": "^4.0.4" + } + }, + "hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "react-dnd": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-9.5.1.tgz", + "integrity": "sha512-j2MvziPNLsxXkb3kIJzLvvOv/TQ4sysp6U4CmxAXd4C884dXm/9UGdB7K1wkTW3ZxVpI1K7XhKbX0JgNlPfLcA==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.1", + "@types/shallowequal": "^1.1.1", + "dnd-core": "^9.5.1", + "hoist-non-react-statics": "^3.3.0", + "shallowequal": "^1.1.0" + } + }, + "react-dnd-html5-backend": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-9.5.1.tgz", + "integrity": "sha512-wUdzjREwLqHxFkA6E+XDVL5IFjRDbBI3SHVKil9n3qrGT5dm2tA2oi1aIALdfMKsu00c+OXA9lz/LuKZCE9KXg==", + "requires": { + "dnd-core": "^9.5.1" + } + } + } + }, + "react-virtualized": { + "version": "9.21.2", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.2.tgz", + "integrity": "sha512-oX7I7KYiUM7lVXQzmhtF4Xg/4UA5duSA+/ZcAvdWlTLFCoFYq1SbauJT5gZK9cZS/wdYR6TPGpX/dqzvTqQeBA==", + "requires": { + "babel-runtime": "^6.26.0", + "clsx": "^1.0.1", + "dom-helpers": "^5.0.0", + "loose-envify": "^1.3.0", + "prop-types": "^15.6.0", + "react-lifecycles-compat": "^3.0.4" + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", + "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true + }, + "regjsparser": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz", + "integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shortid": { + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", + "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", + "requires": { + "nanoid": "^2.1.0" + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slick": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", + "integrity": "sha1-vQSN23TefRymkV+qSldXCzVQwtc=" + }, + "slugify": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.6.tgz", + "integrity": "sha512-wA9XS475ZmGNlEnYYLPReSfuz/c3VQsEMoU43mi6OnKMCdbnFXd4/Yg7J0lBv8jkPolacMpOrWEaoYxuE1+hoQ==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==" + }, + "spectrum-colorpicker": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/spectrum-colorpicker/-/spectrum-colorpicker-1.8.0.tgz", + "integrity": "sha1-uSbPUALAp3hgtfg1HhwJPGUgAQc=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.padend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", + "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "terser": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.2.tgz", + "integrity": "sha512-6FUjJdY2i3WZAtYBtnV06OOcOfzl+4hSKYE9wgac8rkLRBToPDDrBB2AcHwQD/OKDxbnvhVy2YgOPWO2SsKWqg==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-invariant": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz", + "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } + } + }, + "undefsafe": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.2.tgz", + "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, + "valid-data-url": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", + "integrity": "sha512-FXg2qXMzfAhZc0y2HzELNfUeiOjPr+52hU1DNBWiJJ2luXD+dD1R9NA48Ug5aj0ibbxroeGDc/RJv6ThiGgkDw==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "web-resource-inliner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.3.1.tgz", + "integrity": "sha512-4DCEuz0E1RJR8Yhki5rg/LLn/bpplFJKdvxQvD4zTGf3N5GxaWvSki0hcLDUbvGpYtkYvbHq3fow8v4V+iVsaQ==", + "requires": { + "async": "^2.1.2", + "chalk": "^1.1.3", + "datauri": "^1.0.4", + "htmlparser2": "^3.9.2", + "lodash.unescape": "^4.0.1", + "request": "^2.78.0", + "safer-buffer": "^2.1.2", + "valid-data-url": "^0.1.4", + "xtend": "^4.0.0" + } + }, + "webpack": { + "version": "4.41.5", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz", + "integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz", + "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} diff --git a/client/package.json b/client/package.json new file mode 100644 index 00000000..6930166f --- /dev/null +++ b/client/package.json @@ -0,0 +1,87 @@ +{ + "name": "mailtrain-client", + "version": "2.0.0", + "description": "Self hosted email newsletter app - client components", + "main": "index.js", + "scripts": { + "js": "webpack", + "watch-js": "webpack --watch", + "css": "npm-run-all --sequential css-compile css-minify", + "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 src/scss/mailtrain.scss dist/mailtrain.css", + "css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/mailtrain.min.css dist/mailtrain.css", + "watch-css": "nodemon --watch src/scss -e scss -x \"npm run css\"", + "watch": "npm-run-all --parallel watch-css watch-js", + "build": "npm-run-all --parallel css js" + }, + "repository": { + "type": "git", + "url": "git://github.com/Mailtrain-org/mailtrain.git" + }, + "license": "GPL-3.0", + "homepage": "https://mailtrain.org/", + "dependencies": { + "@coreui/coreui": "^2.1.16", + "@fortawesome/fontawesome-free": "^5.12.0", + "axios": "^0.19.1", + "bootstrap": "^4.4.1", + "clone": "^2.1.2", + "datatables.net": "^1.10.20", + "datatables.net-bs4": "^1.10.20", + "ellipsize": "^0.1.0", + "grapesjs": "^0.14.62", + "grapesjs-mjml": "^0.1.15", + "grapesjs-preset-newsletter": "^0.2.20", + "htmlparser2": "^3.10.1", + "i18next": "^19.0.3", + "i18next-browser-languagedetector": "^4.0.1", + "immutable": "^4.0.0-rc.12", + "juice": "^6.0.0", + "lodash": "^4.17.15", + "mjml4-in-browser": "^1.1.2", + "moment": "^2.24.0", + "moment-timezone": "^0.5.27", + "popper.js": "^1.16.0", + "prop-types": "^15.7.2", + "querystringify": "^2.1.1", + "react": "^16.12.0", + "react-ace": "^8.0.0", + "react-ckeditor-component": "^1.1.0", + "react-color": "^2.18.0", + "react-day-picker": "^7.4.0", + "react-dnd": "^9.5.1", + "react-dnd-html5-backend": "^9.5.1", + "react-dnd-touch-backend": "^9.5.1", + "react-dom": "^16.12.0", + "react-dropzone": "^10.2.1", + "react-google-charts": "^3.0.15", + "react-i18next": "^11.2.7", + "react-router-dom": "^5.1.2", + "react-sortable-tree": "^2.7.1", + "shallowequal": "^1.1.0", + "shortid": "^2.2.15", + "slugify": "^1.3.6", + "url-parse": "^1.4.7" + }, + "devDependencies": { + "@babel/cli": "^7.8.0", + "@babel/core": "^7.8.0", + "@babel/plugin-proposal-class-properties": "^7.8.0", + "@babel/plugin-proposal-decorators": "^7.8.0", + "@babel/plugin-proposal-function-bind": "^7.8.0", + "@babel/preset-env": "^7.8.0", + "@babel/preset-react": "^7.8.0", + "babel-loader": "^8.0.6", + "clean-css-cli": "^4.2.1", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^2.1.0", + "file-loader": "^3.0.1", + "node-sass": "^4.13.0", + "nodemon": "^1.19.4", + "npm-run-all": "^4.1.5", + "sass-loader": "^7.3.1", + "style-loader": "^0.23.1", + "url-loader": "^1.1.2", + "webpack": "^4.41.5", + "webpack-cli": "^3.3.10" + } +} diff --git a/client/src/Home.js b/client/src/Home.js new file mode 100644 index 00000000..834341dc --- /dev/null +++ b/client/src/Home.js @@ -0,0 +1,33 @@ +'use strict'; + +import React, {Component} from 'react'; +import PropTypes from 'prop-types'; +import {withTranslation} from './lib/i18n'; +import {requiresAuthenticatedUser} from './lib/page'; +import {withComponentMixins} from "./lib/decorator-helpers"; +import mailtrainConfig from 'mailtrainConfig'; + +@withComponentMixins([ + withTranslation, + requiresAuthenticatedUser +]) +export default class List extends Component { + constructor(props) { + super(props); + } + + static propTypes = { + } + + render() { + const t = this.props.t; + + return ( +
+

{t('Mailtrain 2 beta')}

+
{t('Build') + ' 2020-07-25-1024'}
+

{mailtrainConfig.shoutout}

+
+ ); + } +} \ No newline at end of file diff --git a/client/src/account/API.js b/client/src/account/API.js new file mode 100644 index 00000000..42636879 --- /dev/null +++ b/client/src/account/API.js @@ -0,0 +1,631 @@ +'use strict'; + +import React, {Component} from 'react'; +import {withTranslation} from '../lib/i18n'; +import {Trans} from 'react-i18next'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from '../lib/page' +import {withAsyncErrorHandler, withErrorHandling} from '../lib/error-handling'; +import axios from '../lib/axios'; +import {Button} from '../lib/bootstrap-components'; +import {getUrl} from "../lib/urls"; +import {withComponentMixins} from "../lib/decorator-helpers"; +import styles from "./styles.scss" + +@withComponentMixins([ + withTranslation, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class API extends Component { + constructor(props) { + super(props); + + this.state = { + accessToken: null + }; + } + + @withAsyncErrorHandler + async loadAccessToken() { + const response = await axios.get(getUrl('rest/access-token')); + this.setState({ + accessToken: response.data + }); + } + + componentDidMount() { + // noinspection JSIgnoredPromiseFromCall + this.loadAccessToken(); + } + + async resetAccessToken() { + const response = await axios.post(getUrl('rest/access-token-reset')); + this.setState({ + accessToken: response.data + }); + } + + render() { + const t = this.props.t; + + const accessToken = this.state.accessToken || 'ACCESS_TOKEN'; + + let accessTokenMsg; + if (this.state.accessToken) { + accessTokenMsg =
{t('personalAccessToken') + ': '}{accessToken}
; + } else { + accessTokenMsg =
{t('accessTokenNotYetGenerated')}
; + } + + return ( +
+ {t('api')} + +
+
+
+
+ {accessTokenMsg} +
+
+ +
+
+

{t('notesAboutTheApi')}

+ +
    +
  • + API response is a JSON structure with error and data properties. If the response error has a value set then the request failed. +
  • +
  • + You need to define proper Content-Type when making a request. You can either use application/x-www-form-urlencoded for normal form data or application/json for a JSON payload. Using multipart/form-data is not supported. +
  • +
+
+
+ +
+
+
+ +
+
+
+

+ {t('Get subscribers')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')} +
      +
    • start – {t('startPosition')} ({t('optionalDefault0')})
    • +
    • limit – {t('limitEmailsCountInResponse')} ({t('optionalDefault10000')})
    • +
    +
  • +
+ +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/subscriptions/P5wKkz-e7?access_token=${accessToken}&limit=10&start=10&search=gmail`)}' 
+ +
+
+
+
+
+

+
+
+
+

+ {t('thisApiCallEitherInsertsANewSubscription')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('subscribersEmailAddress')} ({t('required')})
  • +
  • FIRST_NAME – {t('subscribersFirstName')}
  • +
  • LAST_NAME – {t('subscribersLastName')}
  • +
  • TIMEZONE – {t('subscribersTimezoneEgEuropeTallinnPstOr')}
  • +
  • MERGE_TAG_VALUE – {t('customFieldValueUseYesnoForOptionGroup')}
  • +
+ +

+ {t('additionalPostArguments')}: +

+ +
    +
  • + FORCE_SUBSCRIBE – {t('setToYesIfYouWantToMakeSureTheEmailIs')} + by default. +
  • +
  • + REQUIRE_CONFIRMATION – {t('setToYesIfYouWantToSendConfirmationEmail')} +
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/subscribe/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com&MERGE_CHECKBOX=yes&REQUIRE_CONFIRMATION=yes'
+ +

+ {t('Response example')}: +

+
"data": ("id":"TTrw41znK")
+ +
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallMarksASubscriptionAs')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('subscribersEmailAddress')} ({t('required')})
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/unsubscribe/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+ +

+ {t('Response example')}: +

+
"data": ("id":"TTrw41znK", "unsubscribed":true)
+ +
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallDeletesASubscription')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('subscribersEmailAddress')} ({t('required')})
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/delete/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+

+ {t('Response example')}: +

+
"data": ("id":"TTrw41znK", "deleted":true)
+ +
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallCreatesANewCustomFieldForA')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • NAME – {t('fieldName')} ({t('required')})
  • +
  • TYPE – {t('oneOfTheFollowingTypes')} +
      +
    • text – Text
    • +
    • website – Website
    • +
    • longtext – Multi-line text
    • +
    • gpg – GPG Public Key
    • +
    • number – Number
    • +
    • radio – Radio Buttons
    • +
    • checkbox – Checkboxes
    • +
    • dropdown – Drop Down
    • +
    • date-us – Date (MM/DD/YYY)
    • +
    • date-eur – Date (DD/MM/YYYY)
    • +
    • birthday-us – Birthday (MM/DD)
    • +
    • birthday-eur – Birthday (DD/MM)
    • +
    • json – JSON value for custom rendering
    • +
    • option – Option
    • +
    +
  • +
  • GROUP – {t('ifTheTypeIsOptionThenYouAlsoNeedTo')}
  • +
  • GROUP_TEMPLATE – {t('templateForTheGroupElementIfNotSetThen')}
  • +
  • VISIBLE – yes/no, {t('ifNotVisibleThenTheSubscriberCanNotView')}
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/field/B16uVTdW?access_token=${accessToken}`)}' \
+--data 'NAME=Comment&TYPE=text'
+

+ {t('Response example')}: +

+
"data": ("id":22, "tag":"MERGE_COMMENT")
+
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallGetListOfBlacklistedEmails')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')} +
      +
    • start – {t('startPosition')} ({t('optionalDefault0')})
    • +
    • limit – {t('limitEmailsCountInResponse')} ({t('optionalDefault10000')})
    • +
    • search – {t('filterByPartOfEmail')} ({t('optionalDefault')})
    • +
    +
  • +
+ +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/blacklist/get?access_token=${accessToken}&limit=10&start=10&search=gmail`)}' 
+ +
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallEitherAddEmailsToBlacklist')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('emailAddress')} ({t('required')})
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/blacklist/add?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+
+
+
+
+
+ +
+
+
+

+ {t('thisApiCallEitherDeleteEmailsFrom')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('emailAddress')} ({t('required')})
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/blacklist/delete?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com'
+
+
+
+
+
+ +
+
+
+

+ {t('retrieveTheListsThatTheUserWithEmailHas')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/lists/test@example.com?access_token=${accessToken}`)}'
+
+
+
+
+
+ +
+
+
+

+ {t('retrieveTheListsThatTheNamespaceHas')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/lists-by-namespace/1?access_token=${accessToken}`)}'
+
+
+
+
+
+ +
+
+
+

+ {t('createListDescription')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • NAMESPACE – {t('namespace')} ({t('required')})
  • +
  • UNSUBSCRIPTION_MODE – {t('unsubscription')} ({t('required')}): +
      +
    • 0 - {t('onestepIeNoEmailWithConfirmationLink')}
    • +
    • 1 - {t('onestepWithUnsubscriptionFormIeNoEmail')}
    • +
    • 2 - {t('twostepIeAnEmailWithConfirmationLinkWill')}
    • +
    • 3 - {t('twostepWithUnsubscriptionFormIeAnEmail')}
    • +
    • 4 - {t('manualIeUnsubscriptionHasToBePerformedBy')}
    • +
    +
  • +
  • NAME – {t('name')}
  • +
  • DESCRIPTION – {t('description')}
  • +
  • HOMEPAGE – {t('homepage')}
  • +
  • CONTACT_EMAIL – {t('contactEmail')}
  • +
  • DEFAULT_FORM – {t('webAndEmailFormsAndTemplatesUsedIn')}
  • +
  • FIELDWIZARD – {t('representationOfSubscribersName')}: +
      +
    • none - {t('emptyCustomNoFields')}
    • +
    • full_name - {t('nameOneField')}
    • +
    • first_last_name - {t('firstNameAndLastNameTwoFields')}
    • +
    +
  • +
  • TO_NAME – {t('recipientsNameTemplate')}
  • +
  • LISTUNSUBSCRIBE_DISABLED – {t('doNotSendListUnsubscribeHeaders')}
  • +
  • PUBLIC_SUBSCRIBE – {t('allowPublicUsersToSubscribeThemselves')}
  • +
  • SEND_CONFIGURATION – {t('sendConfiguration-1')}
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/list?access_token=${accessToken}`)}' \
+ -d 'NAMESPACE=1' \
+ -d 'UNSUBSCRIPTION_MODE=0' \
+ -d 'NAME=list1' \
+ -d 'DESCRIPTION=a very nice list' \
+ -d 'CONTACT_EMAIL=test@example.com' \
+ -d 'HOMEPAGE=example.com' \
+ -d 'FIELDWIZARD=first_last_name' \
+ -d 'SEND_CONFIGURATION=1' \
+ -d 'PUBLIC_SUBSCRIBE=1' \
+ -d 'LISTUNSUBSCRIBE_DISABLED=0' +
+

+ {t('Response example')}: +

+
"data": ("id":"WSGjaP1fY")
+
+
+
+
+
+ +
+
+
+

+ {t('deleteListDescription')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ {t('example')} +

+ +
curl -XDELETE '{getUrl(`api/list/WSGjaP1fY?access_token=${accessToken}`)}'
+

+ {t('Response example')}: +

+
{t('Empty object')}
+
+
+
+
+
+ +
+
+
+

+ {t('forcesTheRssFeedCheckToImmediatelyCheck')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ {t('example')} +

+ +
curl -XGET '{getUrl(`api/rss/fetch/5OOnZKrp0?access_token=${accessToken}`)}'
+
+
+
+
+
+ +
+
+
+

+ {t('sendSingleEmailByTemplateWithGiven')} +

+ +

+ {t('Query params')} +

+
    +
  • access_token – {t('yourPersonalAccessToken')}
  • +
+ +

+ POST {t('arguments')} +

+
    +
  • EMAIL – {t('emailAddress')} ({t('required')})
  • +
  • SEND_CONFIGURATION_ID – {t('idOfConfigurationUsedToCreateMailer')}
  • +
  • SUBJECT – {t('subject')}
  • +
  • TAGS – {t('mapOfTemplatesubjectVariablesToReplace')}
  • +
  • ATTACHMENTS – {t('Attachments (format as consumed by nodemailer)')}
  • +
+ +

+ {t('example')} +

+ +
curl -XPOST '{getUrl(`api/templates/1/send?access_token=${accessToken}`)}' \
+--data 'EMAIL=test@example.com&SUBJECT=Test&TAGS[FOO]=bar&TAGS[TEST]=example'
+
+
+
+
+ + + +
+ ); + } +} diff --git a/client/src/account/Account.js b/client/src/account/Account.js new file mode 100644 index 00000000..fc5a83e7 --- /dev/null +++ b/client/src/account/Account.js @@ -0,0 +1,224 @@ +'use strict'; + +import React, {Component} from 'react'; +import {withTranslation} from '../lib/i18n'; +import {Trans} from 'react-i18next'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from '../lib/page' +import { + Button, + ButtonRow, + Fieldset, + filterData, + Form, + FormSendMethod, + InputField, + withForm, + withFormErrorHandlers +} from '../lib/form'; +import {withAsyncErrorHandler, withErrorHandling} from '../lib/error-handling'; +import passwordValidator from '../../../shared/password-validator'; +import interoperableErrors from '../../../shared/interoperable-errors'; +import mailtrainConfig from 'mailtrainConfig'; +import {withComponentMixins} from "../lib/decorator-helpers"; + +@withComponentMixins([ + withTranslation, + withForm, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class Account extends Component { + constructor(props) { + super(props); + + this.passwordValidator = passwordValidator(props.t); + + this.state = {}; + + this.initForm({ + serverValidation: { + url: 'rest/account-validate', + changed: ['email', 'currentPassword'] + } + }); + } + + getFormValuesMutator(data) { + data.password = ''; + data.password2 = ''; + data.currentPassword = ''; + } + + submitFormValuesMutator(data) { + return filterData(data, ['name', 'email', 'password', 'currentPassword']); + } + + @withAsyncErrorHandler + async loadFormValues() { + await this.getFormValuesFromURL('rest/account'); + } + + componentDidMount() { + // noinspection JSIgnoredPromiseFromCall + this.loadFormValues(); + } + + localValidateFormValues(state) { + const t = this.props.t; + + const email = state.getIn(['email', 'value']); + const emailServerValidation = state.getIn(['email', 'serverValidation']); + + if (!email) { + state.setIn(['email', 'error'], t('emailMustNotBeEmpty')); + } else if (emailServerValidation && emailServerValidation.invalid) { + state.setIn(['email', 'error'], t('invalidEmailAddress')); + } else if (emailServerValidation && emailServerValidation.exists) { + state.setIn(['email', 'error'], t('theEmailIsAlreadyAssociatedWithAnother')); + } else if (!emailServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['email', 'error'], null); + } + + + const name = state.getIn(['name', 'value']); + + if (!name) { + state.setIn(['name', 'error'], t('fullNameMustNotBeEmpty')); + } else { + state.setIn(['name', 'error'], null); + } + + + const password = state.getIn(['password', 'value']) || ''; + const password2 = state.getIn(['password2', 'value']) || ''; + const currentPassword = state.getIn(['currentPassword', 'value']) || ''; + + let passwordMsgs = []; + + if (password || currentPassword) { + const passwordResults = this.passwordValidator.test(password); + + passwordMsgs.push(...passwordResults.errors); + + const currentPasswordServerValidation = state.getIn(['currentPassword', 'serverValidation']); + + if (!currentPassword) { + state.setIn(['currentPassword', 'error'], t('currentPasswordMustNotBeEmpty')); + } else if (currentPasswordServerValidation && currentPasswordServerValidation.incorrect) { + state.setIn(['currentPassword', 'error'], t('incorrectPassword')); + } else if (!currentPasswordServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['currentPassword', 'error'], null); + } + + } + + if (passwordMsgs.length > 1) { + passwordMsgs = passwordMsgs.map((msg, idx) =>
{msg}
) + } + + state.setIn(['password', 'error'], passwordMsgs.length > 0 ? passwordMsgs : null); + state.setIn(['password2', 'error'], password !== password2 ? t('passwordsMustMatch') : null); + } + + @withFormErrorHandlers + async submitHandler() { + const t = this.props.t; + + try { + this.disableForm(); + this.setFormStatusMessage('info', t('updatingUserProfile')); + + const submitSuccessful = await this.validateAndSendFormValuesToURL(FormSendMethod.POST, 'rest/account'); + + if (submitSuccessful) { + this.setFlashMessage('success', t('userProfileUpdated')); + this.hideFormValidation(); + this.updateFormValue('password', ''); + this.updateFormValue('password2', ''); + this.updateFormValue('currentPassword', ''); + + this.clearFormStatusMessage(); + this.enableForm(); + + } else { + this.enableForm(); + this.setFormStatusMessage('warning', t('thereAreErrorsInTheFormPleaseFixThemAnd')); + } + } catch (error) { + if (error instanceof interoperableErrors.IncorrectPasswordError) { + this.enableForm(); + + this.setFormStatusMessage('danger', + + {t('yourUpdatesCannotBeSaved')}{' '} + {t('thePasswordIsIncorrectPossiblyJust')} + + ); + + this.scheduleFormRevalidate(); + return; + } + + if (error instanceof interoperableErrors.DuplicitEmailError) { + this.enableForm(); + + this.setFormStatusMessage('danger', + + {t('yourUpdatesCannotBeSaved')}{' '} + {t('theEmailIsAlreadyAssignedToAnotherUser')} + + ); + + this.scheduleFormRevalidate(); + return; + } + + throw error; + } + } + + render() { + const t = this.props.t; + + if (mailtrainConfig.isAuthMethodLocal) { + return ( +
+ {t('account')} + +
+
+ + +
+ +
+

{t('youOnlyNeedToFillOutThisFormIfYouWantTo')}

+ + + +
+ + +
+ ); + } else { + return ( +
+ {t('account')} + +

{t('accountManagementIsNotPossibleBecause')}

+ + {mailtrainConfig.externalPasswordResetLink &&

If you want to change the password, use this link.

} +
+ ); + } + } +} diff --git a/client/src/account/root.js b/client/src/account/root.js new file mode 100644 index 00000000..a5c666ff --- /dev/null +++ b/client/src/account/root.js @@ -0,0 +1,28 @@ +'use strict'; + +import React from 'react'; +import Account from './Account'; +import API from './API'; + + +function getMenus(t) { + return { + 'account': { + title: t('account'), + link: '/account', + panelComponent: Account, + + children: { + api: { + title: t('api'), + link: '/account/api', + panelComponent: API + } + } + } + }; +} + +export default { + getMenus +} diff --git a/client/src/account/styles.scss b/client/src/account/styles.scss new file mode 100644 index 00000000..f8e9249f --- /dev/null +++ b/client/src/account/styles.scss @@ -0,0 +1,9 @@ +.api { + :global .card h4 { + margin-top: 0px; + } + + h4 { + margin-top: 45px; + } +} \ No newline at end of file diff --git a/client/src/blacklist/List.js b/client/src/blacklist/List.js new file mode 100644 index 00000000..9429b446 --- /dev/null +++ b/client/src/blacklist/List.js @@ -0,0 +1,142 @@ +'use strict'; + +import React, {Component} from "react"; +import {withTranslation} from '../lib/i18n'; +import {requiresAuthenticatedUser, Title, withPageHelpers} from "../lib/page"; +import {withErrorHandling} from "../lib/error-handling"; +import {Table} from "../lib/table"; +import {ButtonRow, Form, FormSendMethod, InputField, withForm} from "../lib/form"; +import {Button} from "../lib/bootstrap-components"; +import {HTTPMethod} from "../lib/axios"; +import {tableAddRestActionButton, tableRestActionDialogInit, tableRestActionDialogRender} from "../lib/modals"; +import {withComponentMixins} from "../lib/decorator-helpers"; + +@withComponentMixins([ + withTranslation, + withForm, + withErrorHandling, + withPageHelpers, + requiresAuthenticatedUser +]) +export default class List extends Component { + constructor(props) { + super(props); + + const t = props.t; + + this.state = {}; + tableRestActionDialogInit(this); + + this.initForm({ + leaveConfirmation: false, + serverValidation: { + url: 'rest/blacklist-validate', + changed: ['email'] + } + }); + } + + static propTypes = { + } + + clearFields() { + this.populateFormValues({ + email: '' + }); + } + + localValidateFormValues(state) { + const t = this.props.t; + + const email = state.getIn(['email', 'value']); + const emailServerValidation = state.getIn(['email', 'serverValidation']); + + if (!email) { + state.setIn(['email', 'error'], t('emailMustNotBeEmpty-1')); + } else if (emailServerValidation && emailServerValidation.invalid) { + state.setIn(['email', 'error'], t('invalidEmailAddress')); + } else if (emailServerValidation && emailServerValidation.exists) { + state.setIn(['email', 'error'], t('theEmailIsAlreadyOnBlacklist')); + } else if (!emailServerValidation) { + state.setIn(['email', 'error'], t('validationIsInProgress')); + } else { + state.setIn(['email', 'error'], null); + } + } + + async submitHandler() { + const t = this.props.t; + + this.disableForm(); + this.setFormStatusMessage('info', t('saving')); + + const submitSuccessful = await this.validateAndSendFormValuesToURL(FormSendMethod.POST, 'rest/blacklist'); + + if (submitSuccessful) { + this.hideFormValidation(); + this.clearFields(); + this.enableForm(); + + this.clearFormStatusMessage(); + this.table.refresh(); + + } else { + this.enableForm(); + this.setFormStatusMessage('warning', t('thereAreErrorsInTheFormPleaseFixThemAnd-1')); + } + } + + componentDidMount() { + this.clearFields(); + } + + render() { + const t = this.props.t; + + const columns = [ + { data: 0, title: t('email') }, + { + actions: data => { + const actions = []; + + const email = data[0]; + + tableAddRestActionButton( + actions, this, + { method: HTTPMethod.DELETE, url: `rest/blacklist/${email}`}, + { icon: 'trash-alt', label: t('removeFromBlacklist') }, + t('confirmRemovalFromBlacklist'), + t('areYouSureYouWantToRemoveEmailFromThe', {email}), + t('removingEmailFromTheBlacklist', {email}), + t('emailRemovedFromTheBlacklist', {email}), + null + ); + + return actions; + } + } + ]; + + return ( +
+ {tableRestActionDialogRender(this)} + {t('blacklist')} + +

{t('addEmailToBlacklist-1')}

+
+ + + + ").addClass(this._triggerClass).html(r?N("").attr({src:r,alt:i,title:i}):i)),e[s?"before":"after"](t.trigger),t.trigger.click(function(){return N.datepicker._datepickerShowing&&N.datepicker._lastInput===e[0]?N.datepicker._hideDatepicker():(N.datepicker._datepickerShowing&&N.datepicker._lastInput!==e[0]&&N.datepicker._hideDatepicker(),N.datepicker._showDatepicker(e[0])),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,n,i,r,o=new Date(2009,11,20),s=this._get(e,"dateFormat");s.match(/[DM]/)&&(t=function(e){for(r=i=n=0;rn&&(n=e[r].length,i=r);return i},o.setMonth(t(this._get(e,s.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(t(this._get(e,s.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),e.input.attr("size",this._formatDate(e,o).length)}},_inlineDatepicker:function(e,t){var n=N(e);n.hasClass(this.markerClassName)||(n.addClass(this.markerClassName).append(t.dpDiv),N.data(e,"datepicker",t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block"))},_dialogDatepicker:function(e,t,n,i,r){var o,s,a,l,c,u=this._dialogInst;return u||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=N(""),this._dialogInput.keydown(this._doKeyDown),N("body").append(this._dialogInput),(u=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},N.data(this._dialogInput[0],"datepicker",u)),b(u.settings,i||{}),t=t&&t.constructor===Date?this._formatDate(u,t):t,this._dialogInput.val(t),this._pos=r?r.length?r:[r.pageX,r.pageY]:null,this._pos||(s=document.documentElement.clientWidth,a=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[s/2-100+l,a/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),u.settings.onSelect=n,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),N.blockUI&&N.blockUI(this.dpDiv),N.data(this._dialogInput[0],"datepicker",u),this},_destroyDatepicker:function(e){var t,n=N(e),i=N.data(e,"datepicker");n.hasClass(this.markerClassName)&&(t=e.nodeName.toLowerCase(),N.removeData(e,"datepicker"),"input"===t?(i.append.remove(),i.trigger.remove(),n.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):"div"!==t&&"span"!==t||n.removeClass(this.markerClassName).empty(),m===i&&(m=null))},_enableDatepicker:function(t){var e,n,i=N(t),r=N.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!1,r.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==e&&"span"!==e||((n=i.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=N.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var e,n,i=N(t),r=N.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!0,r.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==e&&"span"!==e||((n=i.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=N.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;ta&&il&&rt;)--Z<0&&(Z=11,ee--);for(e.drawMonth=Z,e.drawYear=ee,n=this._get(e,"prevText"),n=V?this.formatDate(n,this._daylightSavingAdjust(new Date(ee,Z-J,1)),this._getFormatConfig(e)):n,i=this._canAdjustMonth(e,-1,ee,Z)?""+n+"":q?"":""+n+"",r=this._get(e,"nextText"),r=V?this.formatDate(r,this._daylightSavingAdjust(new Date(ee,Z+J,1)),this._getFormatConfig(e)):r,o=this._canAdjustMonth(e,1,ee,Z)?""+r+"":q?"":""+r+"",s=this._get(e,"currentText"),a=this._get(e,"gotoCurrent")&&e.currentDay?X:j,s=V?this.formatDate(s,a,this._getFormatConfig(e)):s,l=e.inline?"":"",c=U?"
"+(W?l:"")+(this._isInRange(e,a)?"":"")+(W?"":l)+"
":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),h=this._get(e,"dayNames"),f=this._get(e,"dayNamesMin"),p=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;w<$[0];w++){for(C="",this.maxRows=4,k=0;k<$[1];k++){if(T=this._daylightSavingAdjust(new Date(ee,Z,e.selectedDay)),S=" ui-corner-all",E="",Y){if(E+="
"}for(E+="
"+(/all|left/.test(S)&&0===w?W?o:i:"")+(/all|right/.test(S)&&0===w?W?i:o:"")+this._generateMonthYearHeader(e,Z,ee,Q,G,0",N=d?"":"",x=0;x<7;x++)N+="";for(E+=N+"",R=this._getDaysInMonth(ee,Z),ee===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,R)),A=(this._getFirstDayOfMonth(ee,Z)-u+7)%7,P=Math.ceil((A+R)/7),M=Y&&this.maxRows>P?this.maxRows:P,this.maxRows=M,I=this._daylightSavingAdjust(new Date(ee,Z,1-A)),O=0;O",B=d?"":"",x=0;x<7;x++)L=g?g.apply(e.input?e.input[0]:null,[I]):[!0,""],F=(H=I.getMonth()!==Z)&&!y||!L[0]||Q&&I"+(H&&!v?" ":F?""+I.getDate()+"":""+I.getDate()+"")+"",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);E+=B+""}11<++Z&&(Z=0,ee++),C+=E+="
"+this._get(e,"weekHeader")+""+f[D]+"
"+this._get(e,"calculateWeek")(I)+"
"+(Y?"
"+(0<$[0]&&k===$[1]-1?"
":""):"")}_+=C}return _+=c,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,n,i,r,o,s,a){var l,c,u,d,h,f,p,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="
",_="";if(o||!g)_+=""+s[t]+"";else{for(l=i&&i.getFullYear()===n,c=r&&r.getFullYear()===n,_+=""}if(y||(b+=_+(!o&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",o||!v)b+=""+n+"";else{for(d=this._get(e,"yearRange").split(":"),h=(new Date).getFullYear(),p=(f=function(e){var t=e.match(/c[+\-].*/)?n+parseInt(e.substring(1),10):e.match(/[+\-].*/)?h+parseInt(e,10):parseInt(e,10);return isNaN(t)?h:t})(d[0]),m=Math.max(p,f(d[1]||"")),p=i?Math.max(p,i.getFullYear()):p,m=r?Math.min(m,r.getFullYear()):m,e.yearshtml+="",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!o&&g&&v?"":" ")+_),b+="
"},_adjustInstDate:function(e,t,n){var i=e.drawYear+("Y"===n?t:0),r=e.drawMonth+("M"===n?t:0),o=Math.min(e.selectedDay,this._getDaysInMonth(i,r))+("D"===n?t:0),s=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(i,r,o)));e.selectedDay=s.getDate(),e.drawMonth=e.selectedMonth=s.getMonth(),e.drawYear=e.selectedYear=s.getFullYear(),"M"!==n&&"Y"!==n||this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),i=this._getMinMaxDate(e,"max"),r=n&&t=r.getTime())&&(!o||t.getTime()<=o.getTime())&&(!s||t.getFullYear()>=s)&&(!a||t.getFullYear()<=a)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,i){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var r=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(i,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),r,this._getFormatConfig(e))}}),N.fn.datepicker=function(e){if(!this.length)return this;N.datepicker.initialized||(N(document).mousedown(N.datepicker._checkExternalClick),N.datepicker.initialized=!0),0===N("#"+N.datepicker._mainDivId).length&&N("body").append(N.datepicker.dpDiv);var t=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this[0]].concat(t)):this.each(function(){"string"==typeof e?N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this].concat(t)):N.datepicker._attachDatepicker(this,e)}):N.datepicker["_"+e+"Datepicker"].apply(N.datepicker,[this[0]].concat(t))},N.datepicker=new g,N.datepicker.initialized=!1,N.datepicker.uuid=(new Date).getTime(),N.datepicker.version="1.11.4";N.datepicker;N.widget("ui.draggable",N.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(e){var t=this.options;return this._blurActiveElement(e),!(this.helper||t.disabled||0").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var t=this.document[0];if(this.handleElement.is(e.target))try{t.activeElement&&"body"!==t.activeElement.nodeName.toLowerCase()&&N(t.activeElement).blur()}catch(e){}},_mouseStart:function(e){var t=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),N.ui.ddmanager&&(N.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0n[2]&&(l=n[2]+this.offset.click.left),e.pageY-this.offset.click.top>n[3]&&(c=n[3]+this.offset.click.top)),s.grid&&(r=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=n?r-this.offset.click.top>=n[1]||r-this.offset.click.top>n[3]?r:r-this.offset.click.top>=n[1]?r-s.grid[1]:r+s.grid[1]:r,o=s.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,l=n?o-this.offset.click.left>=n[0]||o-this.offset.click.left>n[2]?o:o-this.offset.click.left>=n[0]?o-s.grid[0]:o+s.grid[0]:o),"y"===s.axis&&(l=this.originalPageX),"x"===s.axis&&(c=this.originalPageY)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:a?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:a?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(e,t,n){return n=n||this._uiHash(),N.ui.plugin.call(this,e,[t,n,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),n.offset=this.positionAbs),N.Widget.prototype._trigger.call(this,e,t,n)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),N.ui.plugin.add("draggable","connectToSortable",{start:function(t,e,n){var i=N.extend({},e,{item:n.element});n.sortables=[],N(n.options.connectToSortable).each(function(){var e=N(this).sortable("instance");e&&!e.options.disabled&&(n.sortables.push(e),e.refreshPositions(),e._trigger("activate",t,i))})},stop:function(t,e,n){var i=N.extend({},e,{item:n.element});n.cancelHelperRemoval=!1,N.each(n.sortables,function(){var e=this;e.isOver?(e.isOver=0,n.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,i))})},drag:function(n,i,r){N.each(r.sortables,function(){var e=!1,t=this;t.positionAbs=r.positionAbs,t.helperProportions=r.helperProportions,t.offset.click=r.offset.click,t._intersectsWith(t.containerCache)&&(e=!0,N.each(r.sortables,function(){return this.positionAbs=r.positionAbs,this.helperProportions=r.helperProportions,this.offset.click=r.offset.click,this!==t&&this._intersectsWith(this.containerCache)&&N.contains(t.element[0],this.element[0])&&(e=!1),e})),e?(t.isOver||(t.isOver=1,r._parent=i.helper.parent(),t.currentItem=i.helper.appendTo(t.element).data("ui-sortable-item",!0),t.options._helper=t.options.helper,t.options.helper=function(){return i.helper[0]},n.target=t.currentItem[0],t._mouseCapture(n,!0),t._mouseStart(n,!0,!0),t.offset.click.top=r.offset.click.top,t.offset.click.left=r.offset.click.left,t.offset.parent.left-=r.offset.parent.left-t.offset.parent.left,t.offset.parent.top-=r.offset.parent.top-t.offset.parent.top,r._trigger("toSortable",n),r.dropped=t.element,N.each(r.sortables,function(){this.refreshPositions()}),r.currentItem=r.element,t.fromOutside=r),t.currentItem&&(t._mouseDrag(n),i.position=t.position)):t.isOver&&(t.isOver=0,t.cancelHelperRemoval=!0,t.options._revert=t.options.revert,t.options.revert=!1,t._trigger("out",n,t._uiHash(t)),t._mouseStop(n,!0),t.options.revert=t.options._revert,t.options.helper=t.options._helper,t.placeholder&&t.placeholder.remove(),i.helper.appendTo(r._parent),r._refreshOffsets(n),i.position=r._generatePosition(n,!0),r._trigger("fromSortable",n),r.dropped=!1,N.each(r.sortables,function(){this.refreshPositions()}))})}}),N.ui.plugin.add("draggable","cursor",{start:function(e,t,n){var i=N("body"),r=n.options;i.css("cursor")&&(r._cursor=i.css("cursor")),i.css("cursor",r.cursor)},stop:function(e,t,n){var i=n.options;i._cursor&&N("body").css("cursor",i._cursor)}}),N.ui.plugin.add("draggable","opacity",{start:function(e,t,n){var i=N(t.helper),r=n.options;i.css("opacity")&&(r._opacity=i.css("opacity")),i.css("opacity",r.opacity)},stop:function(e,t,n){var i=n.options;i._opacity&&N(t.helper).css("opacity",i._opacity)}}),N.ui.plugin.add("draggable","scroll",{start:function(e,t,n){n.scrollParentNotHidden||(n.scrollParentNotHidden=n.helper.scrollParent(!1)),n.scrollParentNotHidden[0]!==n.document[0]&&"HTML"!==n.scrollParentNotHidden[0].tagName&&(n.overflowOffset=n.scrollParentNotHidden.offset())},drag:function(e,t,n){var i=n.options,r=!1,o=n.scrollParentNotHidden[0],s=n.document[0];o!==s&&"HTML"!==o.tagName?(i.axis&&"x"===i.axis||(n.overflowOffset.top+o.offsetHeight-e.pageY
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(N(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=N(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},t=0;t
")).css({zIndex:r.zIndex}),"se"===n&&i.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[n]=".ui-resizable-"+n,this.element.append(i);this._renderAxis=function(e){var t,n,i,r;for(t in e=e||this.element,this.handles)this.handles[t].constructor===String?this.handles[t]=this.element.children(this.handles[t]).first().show():(this.handles[t].jquery||this.handles[t].nodeType)&&(this.handles[t]=N(this.handles[t]),this._on(this.handles[t],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(n=N(this.handles[t],this.element),r=/sw|ne|nw|se|n|s/.test(t)?n.outerHeight():n.outerWidth(),i=["padding",/ne|nw|n/.test(t)?"Top":/se|sw|s/.test(t)?"Bottom":/^e$/.test(t)?"Right":"Left"].join(""),e.css(i,r),this._proportionallyResize()),this._handles=this._handles.add(this.handles[t])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=i&&i[1]?i[1]:"se")}),r.autoHide&&(this._handles.hide(),N(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(N(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(N(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,t=function(e){N(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_mouseCapture:function(e){var t,n,i=!1;for(t in this.handles)((n=N(this.handles[t])[0])===e.target||N.contains(n,e.target))&&(i=!0);return!this.options.disabled&&i},_mouseStart:function(e){var t,n,i,r=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),t=this._num(this.helper.css("left")),n=this._num(this.helper.css("top")),r.containment&&(t+=N(r.containment).scrollLeft()||0,n+=N(r.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:t,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:t,top:n},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof r.aspectRatio?r.aspectRatio:this.originalSize.width/this.originalSize.height||1,i=N(".ui-resizable-"+this.axis).css("cursor"),N("body").css("cursor","auto"===i?this.axis+"-resize":i),o.addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var t,n,i=this.originalMousePosition,r=this.axis,o=e.pageX-i.left||0,s=e.pageY-i.top||0,a=this._change[r];return this._updatePrevProperties(),a&&(t=a.apply(this,[e,o,s]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(t=this._updateRatio(t,e)),t=this._respectSize(t,e),this._updateCache(t),this._propagate("resize",e),n=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),N.isEmptyObject(n)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges())),!1},_mouseStop:function(e){this.resizing=!1;var t,n,i,r,o,s,a,l=this.options,c=this;return this._helper&&(i=(n=(t=this._proportionallyResizeElements).length&&/textarea/i.test(t[0].nodeName))&&this._hasScroll(t[0],"left")?0:c.sizeDiff.height,r=n?0:c.sizeDiff.width,o={width:c.helper.width()-r,height:c.helper.height()-i},s=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,a=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(N.extend(o,{top:a,left:s})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),N("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,n,i,r,o,s=this.options;o={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,i=o.minWidth/this.aspectRatio,n=o.maxHeight*this.aspectRatio,r=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),i>o.minHeight&&(o.minHeight=i),ne.width,s=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,a=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(n),u=/nw|ne|n/.test(n);return o&&(e.width=t.minWidth),s&&(e.height=t.minHeight),i&&(e.width=t.maxWidth),r&&(e.height=t.maxHeight),o&&c&&(e.left=a-t.minWidth),i&&c&&(e.left=a-t.maxWidth),s&&u&&(e.top=l-t.minHeight),r&&u&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,n=[],i=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],r=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];t<4;t++)n[t]=parseInt(i[t],10)||0,n[t]+=parseInt(r[t],10)||0;return{height:n[0]+n[2],width:n[1]+n[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,n=this.helper||this.element;t"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++t.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var n=this.originalSize;return{left:this.originalPosition.left+t,width:n.width-t}},n:function(e,t,n){var i=this.originalSize;return{top:this.originalPosition.top+n,height:i.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(e,t,n){return N.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,t,n]))},sw:function(e,t,n){return N.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,t,n]))},ne:function(e,t,n){return N.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,t,n]))},nw:function(e,t,n){return N.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,t,n]))}},_propagate:function(e,t){N.ui.plugin.call(this,e,[t,this.ui()]),"resize"!==e&&this._trigger(e,t,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),N.ui.plugin.add("resizable","animate",{stop:function(t){var n=N(this).resizable("instance"),e=n.options,i=n._proportionallyResizeElements,r=i.length&&/textarea/i.test(i[0].nodeName),o=r&&n._hasScroll(i[0],"left")?0:n.sizeDiff.height,s=r?0:n.sizeDiff.width,a={width:n.size.width-s,height:n.size.height-o},l=parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left)||null,c=parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top)||null;n.element.animate(N.extend(a,c&&l?{top:c,left:l}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var e={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};i&&i.length&&N(i[0]).css({width:e.width,height:e.height}),n._updateCache(e),n._propagate("resize",t)}})}}),N.ui.plugin.add("resizable","containment",{start:function(){var n,i,e,t,r,o,s,a=N(this).resizable("instance"),l=a.options,c=a.element,u=l.containment,d=u instanceof N?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(a.containerElement=N(d),/document/.test(u)||u===document?(a.containerOffset={left:0,top:0},a.containerPosition={left:0,top:0},a.parentData={element:N(document),left:0,top:0,width:N(document).width(),height:N(document).height()||document.body.parentNode.scrollHeight}):(n=N(d),i=[],N(["Top","Right","Left","Bottom"]).each(function(e,t){i[e]=a._num(n.css("padding"+t))}),a.containerOffset=n.offset(),a.containerPosition=n.position(),a.containerSize={height:n.innerHeight()-i[3],width:n.innerWidth()-i[1]},e=a.containerOffset,t=a.containerSize.height,r=a.containerSize.width,o=a._hasScroll(d,"left")?d.scrollWidth:r,s=a._hasScroll(d)?d.scrollHeight:t,a.parentData={element:d,left:e.left,top:e.top,width:o,height:s}))},resize:function(e){var t,n,i,r,o=N(this).resizable("instance"),s=o.options,a=o.containerOffset,l=o.position,c=o._aspectRatio||e.shiftKey,u={top:0,left:0},d=o.containerElement,h=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=a),l.left<(o._helper?a.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-a.left:o.position.left-u.left),c&&(o.size.height=o.size.width/o.aspectRatio,h=!1),o.position.left=s.helper?a.left:0),l.top<(o._helper?a.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-a.top:o.position.top),c&&(o.size.width=o.size.height*o.aspectRatio,h=!1),o.position.top=o._helper?a.top:0),i=o.containerElement.get(0)===o.element.parent().get(0),r=/relative|absolute/.test(o.containerElement.css("position")),o.offset.top=i&&r?(o.offset.left=o.parentData.left+o.position.left,o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.element.offset().top),t=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-u.left:o.offset.left-a.left)),n=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-u.top:o.offset.top-a.top)),t+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-t,c&&(o.size.height=o.size.width/o.aspectRatio,h=!1)),n+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-n,c&&(o.size.width=o.size.height*o.aspectRatio,h=!1)),h||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var e=N(this).resizable("instance"),t=e.options,n=e.containerOffset,i=e.containerPosition,r=e.containerElement,o=N(e.helper),s=o.offset(),a=o.outerWidth()-e.sizeDiff.width,l=o.outerHeight()-e.sizeDiff.height;e._helper&&!t.animate&&/relative/.test(r.css("position"))&&N(this).css({left:s.left-i.left-n.left,width:a,height:l}),e._helper&&!t.animate&&/static/.test(r.css("position"))&&N(this).css({left:s.left-i.left-n.left,width:a,height:l})}}),N.ui.plugin.add("resizable","alsoResize",{start:function(){var e=N(this).resizable("instance").options;N(e.alsoResize).each(function(){var e=N(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})},resize:function(e,n){var t=N(this).resizable("instance"),i=t.options,r=t.originalSize,o=t.originalPosition,s={height:t.size.height-r.height||0,width:t.size.width-r.width||0,top:t.position.top-o.top||0,left:t.position.left-o.left||0};N(i.alsoResize).each(function(){var e=N(this),i=N(this).data("ui-resizable-alsoresize"),r={},t=e.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];N.each(t,function(e,t){var n=(i[t]||0)+(s[t]||0);n&&0<=n&&(r[t]=n||null)}),e.css(r)})},stop:function(){N(this).removeData("resizable-alsoresize")}}),N.ui.plugin.add("resizable","ghost",{start:function(){var e=N(this).resizable("instance"),t=e.options,n=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:n.height,width:n.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof t.ghost?t.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=N(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=N(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),N.ui.plugin.add("resizable","grid",{resize:function(){var e,t=N(this).resizable("instance"),n=t.options,i=t.size,r=t.originalSize,o=t.originalPosition,s=t.axis,a="number"==typeof n.grid?[n.grid,n.grid]:n.grid,l=a[0]||1,c=a[1]||1,u=Math.round((i.width-r.width)/l)*l,d=Math.round((i.height-r.height)/c)*c,h=r.width+u,f=r.height+d,p=n.maxWidth&&n.maxWidthh,v=n.minHeight&&n.minHeight>f;n.grid=a,g&&(h+=l),v&&(f+=c),p&&(h-=l),m&&(f-=c),/^(se|s|e)$/.test(s)?(t.size.width=h,t.size.height=f):/^(ne)$/.test(s)?(t.size.width=h,t.size.height=f,t.position.top=o.top-d):/^(sw)$/.test(s)?(t.size.width=h,t.size.height=f,t.position.left=o.left-u):((f-c<=0||h-l<=0)&&(e=t._getPaddingPlusBorderDimensions(this)),t.position.top=0=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",r+1),n=!0),n&&!t&&this._trigger("focus",e),n},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=N(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(e){function t(){var e=this.document[0].activeElement;this.uiDialog[0]===e||N.contains(this.uiDialog[0],e)||this._focusTabbable()}e.preventDefault(),t.call(this),this._delay(t)},_createWrapper:function(){this.uiDialog=N("
").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===N.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===N.ui.keyCode.TAB&&!e.isDefaultPrevented()){var t=this.uiDialog.find(":tabbable"),n=t.filter(":first"),i=t.filter(":last");e.target!==i[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==n[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){i.focus()}),e.preventDefault()):(this._delay(function(){n.focus()}),e.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=N("
").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){N(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=N("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),e=N("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=N("
").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=N("
").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var r=this,e=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),N.isEmptyObject(e)||N.isArray(e)&&!e.length?this.uiDialog.removeClass("ui-dialog-buttons"):(N.each(e,function(e,t){var n,i;t=N.isFunction(t)?{click:t,text:e}:t,t=N.extend({type:"button"},t),n=t.click,t.click=function(){n.apply(r.element[0],arguments)},i={icons:t.icons,text:t.showText},delete t.icons,delete t.showText,N("",t).button(i).appendTo(r.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var r=this,o=this.options;function s(e){return{position:e.position,offset:e.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,t){N(this).addClass("ui-dialog-dragging"),r._blockFrames(),r._trigger("dragStart",e,s(t))},drag:function(e,t){r._trigger("drag",e,s(t))},stop:function(e,t){var n=t.offset.left-r.document.scrollLeft(),i=t.offset.top-r.document.scrollTop();o.position={my:"left top",at:"left"+(0<=n?"+":"")+n+" top"+(0<=i?"+":"")+i,of:r.window},N(this).removeClass("ui-dialog-dragging"),r._unblockFrames(),r._trigger("dragStop",e,s(t))}})},_makeResizable:function(){var o=this,s=this.options,e=s.resizable,t=this.uiDialog.css("position"),n="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";function a(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:n,start:function(e,t){N(this).addClass("ui-dialog-resizing"),o._blockFrames(),o._trigger("resizeStart",e,a(t))},resize:function(e,t){o._trigger("resize",e,a(t))},stop:function(e,t){var n=o.uiDialog.offset(),i=n.left-o.document.scrollLeft(),r=n.top-o.document.scrollTop();s.height=o.uiDialog.height(),s.width=o.uiDialog.width(),s.position={my:"left top",at:"left"+(0<=i?"+":"")+i+" top"+(0<=r?"+":"")+r,of:o.window},N(this).removeClass("ui-dialog-resizing"),o._unblockFrames(),o._trigger("resizeStop",e,a(t))}}).css("position",t)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=N(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),t=N.inArray(this,e);-1!==t&&e.splice(t,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(e){var n=this,i=!1,r={};N.each(e,function(e,t){n._setOption(e,t),e in n.sizeRelatedOptions&&(i=!0),e in n.resizableRelatedOptions&&(r[e]=t)}),i&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var n,i,r=this.uiDialog;"dialogClass"===e&&r.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&((n=r.is(":data(ui-draggable)"))&&!t&&r.draggable("destroy"),!n&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((i=r.is(":data(ui-resizable)"))&&!t&&r.resizable("destroy"),i&&"string"==typeof t&&r.resizable("option","handles",t),i||!1===t||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,n,i=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),i.minWidth>i.width&&(i.width=i.minWidth),e=this.uiDialog.css({height:"auto",width:i.width}).outerHeight(),t=Math.max(0,i.minHeight-e),n="number"==typeof i.maxHeight?Math.max(0,i.maxHeight-e):"none","auto"===i.height?this.element.css({minHeight:t,maxHeight:n,height:"auto"}):this.element.height(Math.max(0,i.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=N(this);return N("
").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!N(e.target).closest(".ui-dialog").length||!!N(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=N("
").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}});N.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,t=this.options,n=t.accept;this.isover=!1,this.isout=!0,this.accept=N.isFunction(n)?n:function(e){return e.is(n)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(t.scope),t.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(e){N.ui.ddmanager.droppables[e]=N.ui.ddmanager.droppables[e]||[],N.ui.ddmanager.droppables[e].push(this)},_splice:function(e){for(var t=0;t")[0],g=u.each;function v(e,t,n){var i=m[t.type]||{};return null==e?n||!t.def?null:t.def:(e=i.floor?~~e:parseFloat(e),isNaN(e)?t.def:i.mod?(e+i.mod)%i.mod:e<0?0:i.maxo.mod/2?i+=o.mod:i-r>o.mod/2&&(i-=o.mod)),v((r-i)*s+i,t)))}),this[t](c)},blend:function(e){if(1===this._rgba[3])return this;var t=this._rgba.slice(),n=t.pop(),i=f(e)._rgba;return f(u.map(t,function(e,t){return(1-n)*i[t]+n*e}))},toRgbaString:function(){var e="rgba(",t=u.map(this._rgba,function(e,t){return null==e?2
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),t={width:n.width(),height:n.height()},r=document.activeElement;try{r.id}catch(e){r=document.body}return n.wrap(e),(n[0]===r||N.contains(n[0],r))&&N(r).focus(),e=n.parent(),"static"===n.css("position")?(e.css({position:"relative"}),n.css({position:"relative"})):(N.extend(i,{position:n.css("position"),zIndex:n.css("z-index")}),N.each(["top","left","bottom","right"],function(e,t){i[t]=n.css(t),isNaN(parseInt(i[t],10))&&(i[t]="auto")}),n.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),n.css(t),e.css(i).show()},removeWrapper:function(e){var t=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===t||N.contains(e[0],t))&&N(t).focus()),e},setTransition:function(i,e,r,o){return o=o||{},N.each(e,function(e,t){var n=i.cssUnit(t);0
").css({position:"absolute",visibility:"visible",left:-i*f,top:-n*p}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:p,left:r+(d?s*f:0),top:o+(d?a*p:0),opacity:d?0:1}).animate({left:r+(d?0:s*f),top:o+(d?0:a*p),opacity:d?1:0},e.duration||500,e.easing,g)},N.effects.effect.fade=function(e,t){var n=N(this),i=N.effects.setMode(n,e.mode||"toggle");n.animate({opacity:i},{queue:!1,duration:e.duration,easing:e.easing,complete:t})},N.effects.effect.fold=function(e,t){var n,i,r=N(this),o=["position","top","bottom","left","right","height","width"],s=N.effects.setMode(r,e.mode||"hide"),a="show"===s,l="hide"===s,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,h=a!==d,f=h?["width","height"]:["height","width"],p=e.duration/2,m={},g={};N.effects.save(r,o),r.show(),n=N.effects.createWrapper(r).css({overflow:"hidden"}),i=h?[n.width(),n.height()]:[n.height(),n.width()],u&&(c=parseInt(u[1],10)/100*i[l?0:1]),a&&n.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=a?i[0]:c,g[f[1]]=a?i[1]:0,n.animate(m,p,e.easing).animate(g,p,e.easing,function(){l&&r.hide(),N.effects.restore(r,o),N.effects.removeWrapper(r),t()})},N.effects.effect.highlight=function(e,t){var n=N(this),i=["backgroundImage","backgroundColor","opacity"],r=N.effects.setMode(n,e.mode||"show"),o={backgroundColor:n.css("backgroundColor")};"hide"===r&&(o.opacity=0),N.effects.save(n,i),n.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===r&&n.hide(),N.effects.restore(n,i),t()}})},N.effects.effect.size=function(o,e){var t,n,s,a=N(this),i=["position","top","bottom","left","right","width","height","overflow","opacity"],l=["width","height","overflow"],r=["fontSize"],c=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],u=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],d=N.effects.setMode(a,o.mode||"effect"),h=o.restore||"effect"!==d,f=o.scale||"both",p=o.origin||["middle","center"],m=a.css("position"),g=h?i:["position","top","bottom","left","right","overflow","opacity"],v={height:0,width:0,outerHeight:0,outerWidth:0};"show"===d&&a.show(),t={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},"toggle"===o.mode&&"show"===d?(a.from=o.to||v,a.to=o.from||t):(a.from=o.from||("show"===d?v:t),a.to=o.to||("hide"===d?v:t)),s={from:{y:a.from.height/t.height,x:a.from.width/t.width},to:{y:a.to.height/t.height,x:a.to.width/t.width}},"box"!==f&&"both"!==f||(s.from.y!==s.to.y&&(g=g.concat(c),a.from=N.effects.setTransition(a,c,s.from.y,a.from),a.to=N.effects.setTransition(a,c,s.to.y,a.to)),s.from.x!==s.to.x&&(g=g.concat(u),a.from=N.effects.setTransition(a,u,s.from.x,a.from),a.to=N.effects.setTransition(a,u,s.to.x,a.to))),"content"!==f&&"both"!==f||s.from.y!==s.to.y&&(g=g.concat(r).concat(l),a.from=N.effects.setTransition(a,r,s.from.y,a.from),a.to=N.effects.setTransition(a,r,s.to.y,a.to)),N.effects.save(a,g),a.show(),N.effects.createWrapper(a),a.css("overflow","hidden").css(a.from),p&&(n=N.effects.getBaseline(p,t),a.from.top=(t.outerHeight-a.outerHeight())*n.y,a.from.left=(t.outerWidth-a.outerWidth())*n.x,a.to.top=(t.outerHeight-a.to.outerHeight)*n.y,a.to.left=(t.outerWidth-a.to.outerWidth)*n.x),a.css(a.from),"content"!==f&&"both"!==f||(c=c.concat(["marginTop","marginBottom"]).concat(r),u=u.concat(["marginLeft","marginRight"]),l=i.concat(c).concat(u),a.find("*[width]").each(function(){var e=N(this),t=e.height(),n=e.width(),i=e.outerHeight(),r=e.outerWidth();h&&N.effects.save(e,l),e.from={height:t*s.from.y,width:n*s.from.x,outerHeight:i*s.from.y,outerWidth:r*s.from.x},e.to={height:t*s.to.y,width:n*s.to.x,outerHeight:t*s.to.y,outerWidth:n*s.to.x},s.from.y!==s.to.y&&(e.from=N.effects.setTransition(e,c,s.from.y,e.from),e.to=N.effects.setTransition(e,c,s.to.y,e.to)),s.from.x!==s.to.x&&(e.from=N.effects.setTransition(e,u,s.from.x,e.from),e.to=N.effects.setTransition(e,u,s.to.x,e.to)),e.css(e.from),e.animate(e.to,o.duration,o.easing,function(){h&&N.effects.restore(e,l)})})),a.animate(a.to,{queue:!1,duration:o.duration,easing:o.easing,complete:function(){0===a.to.opacity&&a.css("opacity",a.from.opacity),"hide"===d&&a.hide(),N.effects.restore(a,g),h||("static"===m?a.css({position:"relative",top:a.to.top,left:a.to.left}):N.each(["top","left"],function(r,e){a.css(e,function(e,t){var n=parseInt(t,10),i=r?a.to.left:a.to.top;return"auto"===t?i+"px":n+i+"px"})})),N.effects.removeWrapper(a),e()}})},N.effects.effect.scale=function(e,t){var n=N(this),i=N.extend(!0,{},e),r=N.effects.setMode(n,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===r?0:100),s=e.direction||"both",a=e.origin,l={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()},c="horizontal"!==s?o/100:1,u="vertical"!==s?o/100:1;i.effect="size",i.queue=!1,i.complete=t,"effect"!==r&&(i.origin=a||["middle","center"],i.restore=!0),i.from=e.from||("show"===r?{height:0,width:0,outerHeight:0,outerWidth:0}:l),i.to={height:l.height*c,width:l.width*u,outerHeight:l.outerHeight*c,outerWidth:l.outerWidth*u},i.fade&&("show"===r&&(i.from.opacity=0,i.to.opacity=1),"hide"===r&&(i.from.opacity=1,i.to.opacity=0)),n.effect(i)},N.effects.effect.puff=function(e,t){var n=N(this),i=N.effects.setMode(n,e.mode||"hide"),r="hide"===i,o=parseInt(e.percent,10)||150,s=o/100,a={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()};N.extend(e,{effect:"scale",queue:!1,fade:!0,mode:i,complete:t,percent:r?o:100,from:r?a:{height:a.height*s,width:a.width*s,outerHeight:a.outerHeight*s,outerWidth:a.outerWidth*s}}),n.effect(e)},N.effects.effect.pulsate=function(e,t){var n,i=N(this),r=N.effects.setMode(i,e.mode||"show"),o="show"===r,s="hide"===r,a=o||"hide"===r,l=2*(e.times||5)+(a?1:0),c=e.duration/l,u=0,d=i.queue(),h=d.length;for(!o&&i.is(":visible")||(i.css("opacity",0).show(),u=1),n=1;n
").appendTo(document.body).addClass(e.className).css({top:u.top-s,left:u.left-a,height:n.innerHeight(),width:n.innerWidth(),position:r?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t()})},N.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=N("
").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){if(void 0===e)return this.options.value;this.options.value=this._constrainedValue(e),this._refreshValue()},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=!1===e,"number"!=typeof e&&(e=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,t=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(t.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=N("
").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),N.widget("ui.selectable",N.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,t=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){(e=N(t.options.filter,t.element[0])).addClass("ui-selectee"),e.each(function(){var e=N(this),t=e.offset();N.data(this,"selectable-item",{element:this,$element:e,left:t.left,top:t.top,right:t.left+e.outerWidth(),bottom:t.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=N("
")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(n){var i=this,e=this.options;this.opos=[n.pageX,n.pageY],this.options.disabled||(this.selectees=N(e.filter,this.element[0]),this._trigger("start",n),N(e.appendTo).append(this.helper),this.helper.css({left:n.pageX,top:n.pageY,width:0,height:0}),e.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var e=N.data(this,"selectable-item");e.startselected=!0,n.metaKey||n.ctrlKey||(e.$element.removeClass("ui-selected"),e.selected=!1,e.$element.addClass("ui-unselecting"),e.unselecting=!0,i._trigger("unselecting",n,{unselecting:e.element}))}),N(n.target).parents().addBack().each(function(){var e,t=N.data(this,"selectable-item");if(t)return e=!n.metaKey&&!n.ctrlKey||!t.$element.hasClass("ui-selected"),t.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),t.unselecting=!e,t.selecting=e,(t.selected=e)?i._trigger("selecting",n,{selecting:t.element}):i._trigger("unselecting",n,{unselecting:t.element}),!1}))},_mouseDrag:function(n){if(this.dragged=!0,!this.options.disabled){var e,i=this,r=this.options,o=this.opos[0],s=this.opos[1],a=n.pageX,l=n.pageY;return aa||e.rightl||e.bottomo&&e.rights&&e.bottom",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var e=this;this.label=N("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=N("",{class:"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),N("",{class:"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=N("",{class:"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){e.menuItems||e._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var i=this;this.menu=N("
    ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=N("
    ",{class:"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,t){e.preventDefault(),i._setSelection(),i._select(t.item.data("ui-selectmenu-item"),e)},focus:function(e,t){var n=t.item.data("ui-selectmenu-item");null!=i.focusIndex&&n.index!==i.focusIndex&&(i._trigger("focus",e,{item:n}),i.isOpen||i._select(n,e)),i.focusIndex=n.index,i.button.attr("aria-activedescendant",i.menuItems.eq(n.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(N.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(n,e){var i=this,r="";N.each(e,function(e,t){t.optgroup!==r&&(N("
  • ",{class:"ui-selectmenu-optgroup ui-menu-divider"+(t.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:t.optgroup}).appendTo(n),r=t.optgroup),i._renderItemData(n,t)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(e,t){var n=N("
  • ");return t.disabled&&n.addClass("ui-state-disabled"),this._setText(n,t.label),n.appendTo(e)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var n,i,r=".ui-menu-item";this.isOpen?n=this.menuItems.eq(this.focusIndex):(n=this.menuItems.eq(this.element[0].selectedIndex),r+=":not(.ui-state-disabled)"),(i="first"===e||"last"===e?n["first"===e?"prevAll":"nextAll"](r).eq(-1):n[e+"All"](r).eq(0)).length&&this.menuInstance.focus(t,i)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?((e=window.getSelection()).removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(N(e.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(e))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection()).rangeCount&&(this.range=e.getRangeAt(0)):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(e){var t=!0;switch(e.keyCode){case N.ui.keyCode.TAB:case N.ui.keyCode.ESCAPE:this.close(e),t=!1;break;case N.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case N.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case N.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case N.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case N.ui.keyCode.LEFT:this._move("prev",e);break;case N.ui.keyCode.RIGHT:this._move("next",e);break;case N.ui.keyCode.HOME:case N.ui.keyCode.PAGE_UP:this._move("first",e);break;case N.ui.keyCode.END:case N.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),t=!1}t&&e.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var n=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==n&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?N(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(e){var r=[];e.each(function(e,t){var n=N(t),i=n.parent("optgroup");r.push({element:n,index:e,value:n.val(),label:n.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||n.prop("disabled")})}),this.items=r},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),N.widget("ui.slider",N.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,t,n=this.options,i=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),r=[];for(t=n.values&&n.values.length||1,i.length>t&&(i.slice(t).remove(),i=i.slice(0,t)),e=i.length;e");this.handles=i.add(N(r.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){N(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,t="";e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:N.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=N("
    ").appendTo(this.element),t="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(t+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var t,n,i,r,o,s,a,l=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t),i=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var t=Math.abs(n-l.values(e));(t=this._valueMax())return this._valueMax();var t=0=t&&(i+=0 *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,n){return t<=e&&e*{ cursor: "+o.cursor+" !important; }").appendTo(r)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!n)for(i=this.containers.length-1;0<=i;i--)this.containers[i]._trigger("activate",e,this._uiHash(this));return N.ui.ddmanager&&(N.ui.ddmanager.current=this),N.ui.ddmanager&&!o.dropBehaviour&&N.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var t,n,i,r,o=this.options,s=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageYe[this.floating?"width":"height"]?f:o",n.document[0]).addClass(i||n.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===e?n._createTrPlaceholder(n.currentItem.find("tr").eq(0),N("",n.document[0]).appendTo(t)):"tr"===e?n._createTrPlaceholder(n.currentItem,t):"img"===e&&t.attr("src",n.currentItem.attr("src")),i||t.css("visibility","hidden"),t},update:function(e,t){i&&!r.forcePlaceholderSize||(t.height()||t.height(n.currentItem.innerHeight()-parseInt(n.currentItem.css("paddingTop")||0,10)-parseInt(n.currentItem.css("paddingBottom")||0,10)),t.width()||t.width(n.currentItem.innerWidth()-parseInt(n.currentItem.css("paddingLeft")||0,10)-parseInt(n.currentItem.css("paddingRight")||0,10)))}}),n.placeholder=N(r.placeholder.element.call(n.element,n.currentItem)),n.currentItem.after(n.placeholder),r.placeholder.update(n,n.placeholder)},_createTrPlaceholder:function(e,t){var n=this;e.children().each(function(){N(" ",n.document[0]).attr("colspan",N(this).attr("colspan")||1).appendTo(t)})},_contactContainers:function(e){var t,n,i,r,o,s,a,l,c,u,d=null,h=null;for(t=this.containers.length-1;0<=t;t--)if(!N.contains(this.currentItem[0],this.containers[t].element[0]))if(this._intersectsWith(this.containers[t].containerCache)){if(d&&N.contains(this.containers[t].element[0],d.element[0]))continue;d=this.containers[t],h=t}else this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",e,this._uiHash(this)),this.containers[t].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[h].containerCache.over||(this.containers[h]._trigger("over",e,this._uiHash(this)),this.containers[h].containerCache.over=1);else{for(i=1e4,r=null,o=(c=d.floating||this._isFloating(this.currentItem))?"left":"top",s=c?"width":"height",u=c?"clientX":"clientY",n=this.items.length-1;0<=n;n--)N.contains(this.containers[h].element[0],this.items[n].item[0])&&this.items[n].item[0]!==this.currentItem[0]&&(a=this.items[n].item.offset()[o],l=!1,e[u]-a>this.items[n][s]/2&&(l=!0),Math.abs(e[u]-a)this.containment[2]&&(r=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),i.grid&&(t=this.originalPageY+Math.round((o-this.originalPageY)/i.grid[1])*i.grid[1],o=this.containment?t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-i.grid[1]:t+i.grid[1]:t,n=this.originalPageX+Math.round((r-this.originalPageX)/i.grid[0])*i.grid[0],r=this.containment?n-this.offset.click.left>=this.containment[0]&&n-this.offset.click.left<=this.containment[2]?n:n-this.offset.click.left>=this.containment[0]?n-i.grid[0]:n+i.grid[0]:n)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:s.scrollTop()),left:r-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:s.scrollLeft())}},_rearrange:function(e,t,n,i){n?n[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var r=this.counter;this._delay(function(){r===this.counter&&this.refreshPositions(!i)})},_clear:function(e,t){this.reverting=!1;var n,i=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(n in this._storedCSS)"auto"!==this._storedCSS[n]&&"static"!==this._storedCSS[n]||(this._storedCSS[n]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();function r(t,n,i){return function(e){i._trigger(t,e,n._uiHash(n))}}for(this.fromOutside&&!t&&i.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||i.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(i.push(function(e){this._trigger("remove",e,this._uiHash())}),i.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),i.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),n=this.containers.length-1;0<=n;n--)t||i.push(r("deactivate",this,this.containers[n])),this.containers[n].containerCache.over&&(i.push(r("out",this,this.containers[n])),this.containers[n].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(n=0;n",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var i={},r=this.element;return N.each(["min","max","step"],function(e,t){var n=r.attr(t);void 0!==n&&n.length&&(i[t]=n)}),i},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e))},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((0Math.ceil(.5*e.height())&&0"},_buttonHtml:function(){return""},_start:function(e){return!(!this.spinning&&!1===this._trigger("start",e))&&(this.counter||(this.counter=1),this.spinning=!0)},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,n)},e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",t,{value:n})||(this._value(n),this.counter++)},_increment:function(e){var t=this.options.incremental;return t?N.isFunction(t)?t(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_adjustValue:function(e){var t,n,i=this.options;return n=e-(t=null!==i.min?i.min:0),e=t+(n=Math.round(n/i.step)*i.step),e=parseFloat(e.toFixed(this._precision())),null!==i.max&&e>i.max?i.max:null!==i.min&&e?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,t=this.tablist.children(":has(a[href])");e.disabled=N.map(t.filter(".ui-state-disabled"),function(e){return t.index(e)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!N.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=N()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=N()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var l=this,e=this.tabs,t=this.anchors,n=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(e){N(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){N(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return N("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=N(),this.anchors.each(function(e,t){var n,i,r,o=N(t).uniqueId().attr("id"),s=N(t).closest("li"),a=s.attr("aria-controls");l._isLocal(t)?(r=(n=t.hash).substring(1),i=l.element.find(l._sanitizeSelector(n))):(n="#"+(r=s.attr("aria-controls")||N({}).uniqueId()[0].id),(i=l.element.find(n)).length||(i=l._createPanel(r)).insertAfter(l.panels[e-1]||l.tablist),i.attr("aria-live","polite")),i.length&&(l.panels=l.panels.add(i)),a&&s.data("ui-tabs-aria-controls",a),s.attr({"aria-controls":r,"aria-labelledby":o}),i.attr("aria-labelledby",o)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),e&&(this._off(e.not(this.tabs)),this._off(t.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return N("
    ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){N.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var t,n=0;t=this.tabs[n];n++)!0===e||-1!==N.inArray(n,e)?N(t).addClass("ui-state-disabled").attr("aria-disabled","true"):N(t).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var n={};e&&N.each(e.split(" "),function(e,t){n[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var n,t=this.element.parent();"fill"===e?(n=t.height(),n-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=N(this),t=e.css("position");"absolute"!==t&&"fixed"!==t&&(n-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){n-=N(this).outerHeight(!0)}),this.panels.each(function(){N(this).height(Math.max(0,n-N(this).innerHeight()+N(this).height()))}).css("overflow","auto")):"auto"===e&&(n=0,this.panels.each(function(){n=Math.max(n,N(this).height("").height())}).height(n))},_eventHandler:function(e){var t=this.options,n=this.active,i=N(e.currentTarget).closest("li"),r=i[0]===n[0],o=r&&t.collapsible,s=o?N():this._getPanelForTab(i),a=n.length?this._getPanelForTab(n):N(),l={oldTab:n,oldPanel:a,newTab:o?N():i,newPanel:s};e.preventDefault(),i.hasClass("ui-state-disabled")||i.hasClass("ui-tabs-loading")||this.running||r&&!t.collapsible||!1===this._trigger("beforeActivate",e,l)||(t.active=!o&&this.tabs.index(i),this.active=r?N():i,this.xhr&&this.xhr.abort(),a.length||s.length||N.error("jQuery UI Tabs: Mismatching fragment identifier."),s.length&&this.load(this.tabs.index(i),e),this._toggle(e,l))},_toggle:function(e,t){var n=this,i=t.newPanel,r=t.oldPanel;function o(){n.running=!1,n._trigger("activate",e,t)}function s(){t.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),i.length&&n.options.show?n._show(i,n.options.show,o):(i.show(),o())}this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s()}):(t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),s()),r.attr("aria-hidden","true"),t.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&r.length?t.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter(function(){return 0===N(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false"),t.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var t,n=this._findActive(e);n[0]!==this.active[0]&&(n.length||(n=this.active),t=n.find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:N.noop}))},_findActive:function(e){return!1===e?N():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){N.data(this,"ui-tabs-destroy")?N(this).remove():N(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=N(this),t=e.data("ui-tabs-aria-controls");t?e.attr("aria-controls",t).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(n){var e=this.options.disabled;!1!==e&&(e=void 0!==n&&(n=this._getIndex(n),N.isArray(e)?N.map(e,function(e){return e!==n?e:null}):N.map(this.tabs,function(e,t){return t!==n?t:null})),this._setupDisabled(e))},disable:function(e){var t=this.options.disabled;if(!0!==t){if(void 0===e)t=!0;else{if(e=this._getIndex(e),-1!==N.inArray(e,t))return;t=N.isArray(t)?N.merge([e],t).sort():[e]}this._setupDisabled(t)}},load:function(e,i){e=this._getIndex(e);var r=this,n=this.tabs.eq(e),t=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),s={tab:n,panel:o},a=function(e,t){"abort"===t&&r.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr};this._isLocal(t[0])||(this.xhr=N.ajax(this._ajaxSettings(t,i,s)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),r._trigger("load",i,s),a(n,t)},1)}).fail(function(e,t){setTimeout(function(){a(e,t)},1)})))},_ajaxSettings:function(e,n,i){var r=this;return{url:e.attr("href"),beforeSend:function(e,t){return r._trigger("beforeLoad",n,N.extend({jqXHR:e,ajaxSettings:t},i))}}},_getPanelForTab:function(e){var t=N(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+t))}}),N.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var e=N(this).attr("title")||"";return N("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(e,t){var n=(e.attr("aria-describedby")||"").split(/\s+/);n.push(t),e.data("ui-tooltip-id",t).attr("aria-describedby",N.trim(n.join(" ")))},_removeDescribedBy:function(e){var t=e.data("ui-tooltip-id"),n=(e.attr("aria-describedby")||"").split(/\s+/),i=N.inArray(t,n);-1!==i&&n.splice(i,1),e.removeData("ui-tooltip-id"),(n=N.trim(n.join(" ")))?e.attr("aria-describedby",n):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=N("
    ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(e,t){var n=this;if("disabled"===e)return this[t?"_disable":"_enable"](),void(this.options[e]=t);this._super(e,t),"content"===e&&N.each(this.tooltips,function(e,t){n._updateContent(t.element)})},_disable:function(){var i=this;N.each(this.tooltips,function(e,t){var n=N.Event("blur");n.target=n.currentTarget=t.element[0],i.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=N(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=N(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var n=this,t=N(e?e.target:this.element).closest(this.options.items);t.length&&!t.data("ui-tooltip-id")&&(t.attr("title")&&t.data("ui-tooltip-title",t.attr("title")),t.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&t.parents().each(function(){var e,t=N(this);t.data("ui-tooltip-open")&&((e=N.Event("blur")).target=e.currentTarget=this,n.close(e,!0)),t.attr("title")&&(t.uniqueId(),n.parents[this.id]={element:this,title:t.attr("title")},t.attr("title",""))}),this._registerCloseHandlers(e,t),this._updateContent(t,e))},_updateContent:function(t,n){var e,i=this.options.content,r=this,o=n?n.type:null;if("string"==typeof i)return this._open(n,t,i);(e=i.call(t[0],function(e){r._delay(function(){t.data("ui-tooltip-open")&&(n&&(n.type=o),this._open(n,t,e))})}))&&this._open(n,t,e)},_open:function(e,t,n){var i,r,o,s,a=N.extend({},this.options.position);function l(e){a.of=e,r.is(":hidden")||r.position(a)}n&&((i=this._find(t))?i.tooltip.find(".ui-tooltip-content").html(n):(t.is("[title]")&&(e&&"mouseover"===e.type?t.attr("title",""):t.removeAttr("title")),i=this._tooltip(t),r=i.tooltip,this._addDescribedBy(t,r.attr("id")),r.find(".ui-tooltip-content").html(n),this.liveRegion.children().hide(),n.clone?(s=n.clone()).removeAttr("id").find("[id]").removeAttr("id"):s=n,N("
    ").html(s).appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:l}),l(e)):r.position(N.extend({of:t},this.options.position)),r.hide(),this._show(r,this.options.show),this.options.show&&this.options.show.delay&&(o=this.delayedShow=setInterval(function(){r.is(":visible")&&(l(a.of),clearInterval(o))},N.fx.interval)),this._trigger("open",e,{tooltip:r})))},_registerCloseHandlers:function(e,n){var t={keyup:function(e){if(e.keyCode===N.ui.keyCode.ESCAPE){var t=N.Event(e);t.currentTarget=n[0],this.close(t,!0)}}};n[0]!==this.element[0]&&(t.remove=function(){this._removeTooltip(this._find(n).tooltip)}),e&&"mouseover"!==e.type||(t.mouseleave="close"),e&&"focusin"!==e.type||(t.focusout="close"),this._on(!0,n,t)},close:function(e){var t,n=this,i=N(e?e.currentTarget:this.element),r=this._find(i);r?(t=r.tooltip,r.closing||(clearInterval(this.delayedShow),i.data("ui-tooltip-title")&&!i.attr("title")&&i.attr("title",i.data("ui-tooltip-title")),this._removeDescribedBy(i),r.hiding=!0,t.stop(!0),this._hide(t,this.options.hide,function(){n._removeTooltip(N(this))}),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&N.each(this.parents,function(e,t){N(t.element).attr("title",t.title),delete n.parents[e]}),r.closing=!0,this._trigger("close",e,{tooltip:t}),r.hiding||(r.closing=!1))):i.removeData("ui-tooltip-open")},_tooltip:function(e){var t=N("
    ").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),n=t.uniqueId().attr("id");return N("
    ").addClass("ui-tooltip-content").appendTo(t),t.appendTo(this.document[0].body),this.tooltips[n]={element:e,tooltip:t}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var r=this;N.each(this.tooltips,function(e,t){var n=N.Event("blur"),i=t.element;n.target=n.currentTarget=i[0],r.close(n,!0),N("#"+e).remove(),i.data("ui-tooltip-title")&&(i.attr("title")||i.attr("title",i.data("ui-tooltip-title")),i.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}),function(e){if(e.support.touch="ontouchend"in document,e.support.touch){var t,n=e.ui.mouse.prototype,i=n._mouseInit,r=n._mouseDestroy;n._touchStart=function(e){!t&&this._mouseCapture(e.originalEvent.changedTouches[0])&&(t=!0,this._touchMoved=!1,o(e,"mouseover"),o(e,"mousemove"),o(e,"mousedown"))},n._touchMove=function(e){t&&(this._touchMoved=!0,o(e,"mousemove"))},n._touchEnd=function(e){t&&(o(e,"mouseup"),o(e,"mouseout"),this._touchMoved||o(e,"click"),t=!1)},n._mouseInit=function(){this.element.bind({touchstart:e.proxy(this,"_touchStart"),touchmove:e.proxy(this,"_touchMove"),touchend:e.proxy(this,"_touchEnd")}),i.call(this)},n._mouseDestroy=function(){this.element.unbind({touchstart:e.proxy(this,"_touchStart"),touchmove:e.proxy(this,"_touchMove"),touchend:e.proxy(this,"_touchEnd")}),r.call(this)}}function o(e,t){if(!(1s.byteLength){console.log("Invalid meta data: Invalid segment size.");break}if(i=p.metaDataParsers.jpeg[t])for(r=0;re.byteLength))return f.createObjectURL(new Blob([e.buffer.slice(t,t+n)]));console.log("Invalid Exif data: Invalid thumbnail data.")},f.exifTagTypes={1:{getValue:function(e,t){return e.getUint8(t)},size:1},2:{getValue:function(e,t){return String.fromCharCode(e.getUint8(t))},size:1,ascii:!0},3:{getValue:function(e,t,n){return e.getUint16(t,n)},size:2},4:{getValue:function(e,t,n){return e.getUint32(t,n)},size:4},5:{getValue:function(e,t,n){return e.getUint32(t,n)/e.getUint32(t+4,n)},size:8},9:{getValue:function(e,t,n){return e.getInt32(t,n)},size:4},10:{getValue:function(e,t,n){return e.getInt32(t,n)/e.getInt32(t+4,n)},size:8}},f.exifTagTypes[7]=f.exifTagTypes[1],f.getExifValue=function(e,t,n,i,r,o){var s,a,l,c,u,d,h=f.exifTagTypes[i];if(h){if(!((a=4<(s=h.size*r)?t+e.getUint32(n+8,o):n+8)+s>e.byteLength)){if(1===r)return h.getValue(e,a,o);for(l=[],c=0;ce.byteLength)console.log("Invalid Exif data: Invalid directory offset.");else{if(!((s=n+2+12*(o=e.getUint16(n,i)))+4>e.byteLength)){for(a=0;ae.byteLength)console.log("Invalid Exif data: Invalid segment size.");else if(0===e.getUint16(t+8)){switch(e.getUint16(l)){case 18761:o=!0;break;case 19789:o=!1;break;default:return void console.log("Invalid Exif data: Invalid byte alignment marker.")}42===e.getUint16(l+2,o)?(s=e.getUint32(l+4,o),i.exif=new f.ExifMap,(s=f.parseExifTags(e,l,l+s,o,i))&&!r.disableExifThumbnail&&(a={exif:{}},s=f.parseExifTags(e,l,l+s,o,a),a.exif[513]&&(i.exif.Thumbnail=f.getExifThumbnail(e,l+a.exif[513],a.exif[514]))),i.exif[34665]&&!r.disableExifSub&&f.parseExifTags(e,l,l+i.exif[34665],o,i),i.exif[34853]&&!r.disableExifGps&&f.parseExifTags(e,l,l+i.exif[34853],o,i)):console.log("Invalid Exif data: Missing TIFF marker.")}else console.log("Invalid Exif data: Missing byte alignment offset.")}},f.metaDataParsers.jpeg[65505].push(f.parseExifData)}),function(e){"use strict";"function"==typeof define&&define.amd?define(["./load-image","./load-image-exif"],e):"object"==typeof module&&module.exports?e(require("./load-image"),require("./load-image-exif")):e(window.loadImage)}(function(e){"use strict";e.ExifMap.prototype.tags={256:"ImageWidth",257:"ImageHeight",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer",40965:"InteroperabilityIFDPointer",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",274:"Orientation",277:"SamplesPerPixel",284:"PlanarConfiguration",530:"YCbCrSubSampling",531:"YCbCrPositioning",282:"XResolution",283:"YResolution",296:"ResolutionUnit",273:"StripOffsets",278:"RowsPerStrip",279:"StripByteCounts",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",301:"TransferFunction",318:"WhitePoint",319:"PrimaryChromaticities",529:"YCbCrCoefficients",532:"ReferenceBlackWhite",306:"DateTime",270:"ImageDescription",271:"Make",272:"Model",305:"Software",315:"Artist",33432:"Copyright",36864:"ExifVersion",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",42240:"Gamma",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37500:"MakerNote",37510:"UserComment",40964:"RelatedSoundFile",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"PhotographicSensitivity",34856:"OECF",34864:"SensitivityType",34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBias",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37396:"SubjectArea",37386:"FocalLength",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRatio",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:"LensSpecification",42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential",31:"GPSHPositioningError"},e.ExifMap.prototype.stringValues={ExposureProgram:{0:"Undefined",1:"Manual",2:"Normal program",3:"Aperture priority",4:"Shutter priority",5:"Creative program",6:"Action program",7:"Portrait mode",8:"Landscape mode"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{0:"Unknown",1:"Daylight",2:"Fluorescent",3:"Tungsten (incandescent light)",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 - 5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire",1:"Flash fired",5:"Strobe return light not detected",7:"Strobe return light detected",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},SensingMethod:{1:"Undefined",2:"One-chip color area sensor",3:"Two-chip color area sensor",4:"Three-chip color area sensor",5:"Color sequential area sensor",7:"Trilinear sensor",8:"Color sequential linear sensor"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},SceneType:{1:"Directly photographed"},CustomRendered:{0:"Normal process",1:"Custom process"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},GainControl:{0:"None",1:"Low gain up",2:"High gain up",3:"Low gain down",4:"High gain down"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},SubjectDistanceRange:{0:"Unknown",1:"Macro",2:"Close view",3:"Distant view"},FileSource:{3:"DSC"},ComponentsConfiguration:{0:"",1:"Y",2:"Cb",3:"Cr",4:"R",5:"G",6:"B"},Orientation:{1:"top-left",2:"top-right",3:"bottom-right",4:"bottom-left",5:"left-top",6:"right-top",7:"right-bottom",8:"left-bottom"}},e.ExifMap.prototype.getText=function(e){var t=this.get(e);switch(e){case"LightSource":case"Flash":case"MeteringMode":case"ExposureProgram":case"SensingMethod":case"SceneCaptureType":case"SceneType":case"CustomRendered":case"WhiteBalance":case"GainControl":case"Contrast":case"Saturation":case"Sharpness":case"SubjectDistanceRange":case"FileSource":case"Orientation":return this.stringValues[e][t];case"ExifVersion":case"FlashpixVersion":if(!t)return;return String.fromCharCode(t[0],t[1],t[2],t[3]);case"ComponentsConfiguration":if(!t)return;return this.stringValues[e][t[0]]+this.stringValues[e][t[1]]+this.stringValues[e][t[2]]+this.stringValues[e][t[3]];case"GPSVersionID":if(!t)return;return t[0]+"."+t[1]+"."+t[2]+"."+t[3]}return String(t)},function(e){var t,n=e.tags,i=e.map;for(t in n)n.hasOwnProperty(t)&&(i[n[t]]=t)}(e.ExifMap.prototype),e.ExifMap.prototype.getAll=function(){var e,t,n={};for(e in this)this.hasOwnProperty(e)&&(t=this.tags[e])&&(n[t]=this.getText(t));return n}}),function(e){"use strict";"function"==typeof define&&define.amd?define(["./load-image","./load-image-meta"],e):"object"==typeof module&&module.exports?e(require("./load-image"),require("./load-image-meta")):e(window.loadImage)}(function(d){"use strict";d.IptcMap=function(){return this},d.IptcMap.prototype.map={ObjectName:5},d.IptcMap.prototype.get=function(e){return this[e]||this[this.map[e]]},d.parseIptcTags=function(e,t,n,i){for(var r,o,s=t;s').prop("disabled")),v.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),v.support.xhrFormDataFileUpload=!!window.FormData,v.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),v.widget("blueimp.fileupload",{options:{dropZone:v(document),pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(n,e){return n=this.messages[n]||n.toString(),e&&v.each(e,function(e,t){n=n.replace("{"+e+"}",t)}),n},formData:function(e){return e.serializeArray()},add:function(e,t){if(e.isDefaultPrevented())return!1;(t.autoUpload||!1!==t.autoUpload&&v(this).fileupload("option","autoUpload"))&&t.process().done(function(){t.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:v.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,n){var i=e-this.timestamp;return(!this.bitrate||!n||n").prop("href",e.url).prop("host");e.dataType="iframe "+(e.dataType||""),e.formData=this._getFormData(e),e.redirect&&t&&t!==location.host&&e.formData.push({name:e.redirectParamName||"redirect",value:e.redirect})},_initDataSettings:function(e){this._isXHRUpload(e)?(this._chunkedUpload(e,!0)||(e.data||this._initXHRData(e),this._initProgressListener(e)),e.postMessage&&(e.dataType="postmessage "+(e.dataType||""))):this._initIframeSettings(e)},_getParamName:function(e){var t=v(e.fileInput),i=e.paramName;return i?v.isArray(i)||(i=[i]):(i=[],t.each(function(){for(var e=v(this),t=e.prop("name")||"files[]",n=(e.prop("files")||[1]).length;n;)i.push(t),n-=1}),i.length||(i=[t.prop("name")||"files[]"])),i},_initFormSettings:function(e){e.form&&e.form.length||(e.form=v(e.fileInput.prop("form")),e.form.length||(e.form=v(this.options.fileInput.prop("form")))),e.paramName=this._getParamName(e),e.url||(e.url=e.form.prop("action")||location.href),e.type=(e.type||"string"===v.type(e.form.prop("method"))&&e.form.prop("method")||"").toUpperCase(),"POST"!==e.type&&"PUT"!==e.type&&"PATCH"!==e.type&&(e.type="POST"),e.formAcceptCharset||(e.formAcceptCharset=e.form.attr("accept-charset"))},_getAJAXSettings:function(e){var t=v.extend({},this.options,e);return this._initFormSettings(t),this._initDataSettings(t),t},_getDeferredState:function(e){return e.state?e.state():e.isResolved()?"resolved":e.isRejected()?"rejected":"pending"},_enhancePromise:function(e){return e.success=e.done,e.error=e.fail,e.complete=e.always,e},_getXHRPromise:function(e,t,n){var i=v.Deferred(),r=i.promise();return t=t||this.options.context||r,!0===e?i.resolveWith(t,n):!1===e&&i.rejectWith(t,n),r.abort=i.promise,this._enhancePromise(r)},_addConvenienceMethods:function(e,n){var i=this,r=function(e){return v.Deferred().resolveWith(i,e).promise()};n.process=function(e,t){return(e||t)&&(n._processQueue=this._processQueue=(this._processQueue||r([this])).then(function(){return n.errorThrown?v.Deferred().rejectWith(i,[n]).promise():r(arguments)}).then(e,t)),this._processQueue||r([this])},n.submit=function(){return"pending"!==this.state()&&(n.jqXHR=this.jqXHR=!1!==i._trigger("submit",v.Event("submit",{delegatedEvent:e}),this)&&i._onSend(e,this)),this.jqXHR||i._getXHRPromise()},n.abort=function(){return this.jqXHR?this.jqXHR.abort():(this.errorThrown="abort",i._trigger("fail",null,this),i._getXHRPromise(!1))},n.state=function(){return this.jqXHR?i._getDeferredState(this.jqXHR):this._processQueue?i._getDeferredState(this._processQueue):void 0},n.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===i._getDeferredState(this._processQueue)},n.progress=function(){return this._progress},n.response=function(){return this._response}},_getUploadedBytes:function(e){var t=e.getResponseHeader("Range"),n=t&&t.split("-"),i=n&&1s._sending)for(var i=s._slots.shift();i;){if("pending"===s._getDeferredState(i)){i.resolve();break}i=s._slots.shift()}0===s._active&&s._trigger("stop")})};return this._beforeSend(e,a),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?((o=1h||d&&d<=t+1-g)&&(s.push(c.slice(g,t+1)),(e=m.slice(g,t+1)).length||(e=m),o.push(e),g=t+1,p=0);else o=m;else for(s=[],o=[],t=0;t").append(i)[0].reset(),n.after(i).detach(),t&&i.focus(),v.cleanData(n.unbind("remove")),this.options.fileInput=this.options.fileInput.map(function(e,t){return t===n[0]?i[0]:t}),n[0]===this.element[0]&&(this.element=i)},_handleFileTreeEntry:function(n,i){var e,r=this,o=v.Deferred(),s=[],a=function(e){e&&!e.entry&&(e.entry=n),o.resolve([e])},l=function(){e.readEntries(function(e){var t;e.length?(s=s.concat(e),l()):(t=s,r._handleFileTreeEntries(t,i+n.name+"/").done(function(e){o.resolve(e)}).fail(a))},a)};return i=i||"",n.isFile?n._file?(n._file.relativePath=i,o.resolve(n._file)):n.file(function(e){e.relativePath=i,o.resolve(e)},a):n.isDirectory?(e=n.createReader(),l()):o.resolve([]),o.promise()},_handleFileTreeEntries:function(e,t){var n=this;return v.when.apply(v,v.map(e,function(e){return n._handleFileTreeEntry(e,t)})).then(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(e){var t=(e=e||{}).items;return t&&t.length&&(t[0].webkitGetAsEntry||t[0].getAsEntry)?this._handleFileTreeEntries(v.map(t,function(e){var t;return e.webkitGetAsEntry?((t=e.webkitGetAsEntry())&&(t._file=e.getAsFile()),t):e.getAsEntry()})):v.Deferred().resolve(v.makeArray(e.files)).promise()},_getSingleFileInputFiles:function(e){var t,n,i=(e=v(e)).prop("webkitEntries")||e.prop("entries");if(i&&i.length)return this._handleFileTreeEntries(i);if((t=v.makeArray(e.prop("files"))).length)void 0===t[0].name&&t[0].fileName&&v.each(t,function(e,t){t.name=t.fileName,t.size=t.fileSize});else{if(!(n=e.prop("value")))return v.Deferred().resolve([]).promise();t=[{name:n.replace(/^.*\\/,"")}]}return v.Deferred().resolve(t).promise()},_getFileInputFiles:function(e){return e instanceof v&&1!==e.length?v.when.apply(v,v.map(e,this._getSingleFileInputFiles)).then(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(e)},_onChange:function(t){var n=this,i={fileInput:v(t.target),form:v(t.target.form)};this._getFileInputFiles(i.fileInput).always(function(e){i.files=e,n.options.replaceFileInput&&n._replaceFileInput(i),!1!==n._trigger("change",v.Event("change",{delegatedEvent:t}),i)&&n._onAdd(t,i)})},_onPaste:function(e){var t=e.originalEvent&&e.originalEvent.clipboardData&&e.originalEvent.clipboardData.items,i={files:[]};t&&t.length&&(v.each(t,function(e,t){var n=t.getAsFile&&t.getAsFile();n&&i.files.push(n)}),!1!==this._trigger("paste",v.Event("paste",{delegatedEvent:e}),i)&&this._onAdd(e,i))},_onDrop:function(t){t.dataTransfer=t.originalEvent&&t.originalEvent.dataTransfer;var n=this,e=t.dataTransfer,i={};e&&e.files&&e.files.length&&(t.preventDefault(),this._getDroppedFiles(e).always(function(e){i.files=e,!1!==n._trigger("drop",v.Event("drop",{delegatedEvent:t}),i)&&n._onAdd(t,i)}))},_onDragOver:e("dragover"),_onDragEnter:e("dragenter"),_onDragLeave:e("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste})),v.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop"),this._off(this.options.pasteZone,"paste"),this._off(this.options.fileInput,"change")},_destroy:function(){this._destroyEventHandlers()},_setOption:function(e,t){var n=-1!==v.inArray(e,this._specialOptions);n&&this._destroyEventHandlers(),this._super(e,t),n&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var e=this.options;void 0===e.fileInput?e.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):e.fileInput instanceof v||(e.fileInput=v(e.fileInput)),e.dropZone instanceof v||(e.dropZone=v(e.dropZone)),e.pasteZone instanceof v||(e.pasteZone=v(e.pasteZone))},_getRegExp:function(e){var t=e.split("/"),n=t.pop();return t.shift(),new RegExp(t.join("/"),n)},_isRegExpOption:function(e,t){return"url"!==e&&"string"===v.type(t)&&/^\/.*\/[igm]{0,3}$/.test(t)},_initDataAttributes:function(){var r=this,o=this.options,s=this.element.data();v.each(this.element[0].attributes,function(e,t){var n,i=t.name.toLowerCase();/^data-/.test(i)&&(i=i.slice(5).replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()}),n=s[i],r._isRegExpOption(i,n)&&(n=r._getRegExp(n)),o[i]=n)})},_create:function(){this._initDataAttributes(),this._initSpecialOptions(),this._slots=[],this._sequence=this._getXHRPromise(!0),this._sending=this._active=0,this._initProgressObject(this),this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(t){var n=this;t&&!this.options.disabled&&(t.fileInput&&!t.files?this._getFileInputFiles(t.fileInput).always(function(e){t.files=e,n._onAdd(null,t)}):(t.files=v.makeArray(t.files),this._onAdd(null,t)))},send:function(t){if(t&&!this.options.disabled){if(t.fileInput&&!t.files){var n,i,r=this,o=v.Deferred(),e=o.promise();return e.abort=function(){return i=!0,n?n.abort():(o.reject(null,"abort","abort"),e)},this._getFileInputFiles(t.fileInput).always(function(e){i||(e.length?(t.files=e,(n=r._onSend(null,t)).then(function(e,t,n){o.resolve(e,t,n)},function(e,t,n){o.reject(e,t,n)})):o.reject())}),this._enhancePromise(e)}if(t.files=v.makeArray(t.files),t.files.length)return this._onSend(null,t)}return this._getXHRPromise(!1,t&&t.context)}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./jquery.fileupload"],e):"object"==typeof exports?e(require("jquery"),require("./jquery.fileupload")):e(window.jQuery)}(function(s){"use strict";var i=s.blueimp.fileupload.prototype.options.add;s.widget("blueimp.fileupload",s.blueimp.fileupload,{options:{processQueue:[],add:function(e,t){var n=s(this);t.process(function(){return n.fileupload("process",t)}),i.call(this,e,t)}},processActions:{},_processFile:function(e,i){var r=this,o=s.Deferred().resolveWith(r,[e]).promise();return this._trigger("process",null,e),s.each(e.processQueue,function(e,t){var n=function(e){return i.errorThrown?s.Deferred().rejectWith(r,[i]).promise():r.processActions[t.action].call(r,e,t)};o=o.then(n,t.always&&n)}),o.done(function(){r._trigger("processdone",null,e),r._trigger("processalways",null,e)}).fail(function(){r._trigger("processfail",null,e),r._trigger("processalways",null,e)}),o},_transformProcessQueue:function(r){var t=[];s.each(r.processQueue,function(){var n={},e=this.action,i=!0===this.prefix?e:this.prefix;s.each(this,function(e,t){"string"===s.type(t)&&"@"===t.charAt(0)?n[e]=r[t.slice(1)||(i?i+e.charAt(0).toUpperCase()+e.slice(1):e)]:n[e]=t}),t.push(n)}),r.processQueue=t},processing:function(){return this._processing},process:function(i){var r=this,o=s.extend({},this.options,i);return o.processQueue&&o.processQueue.length&&(this._transformProcessQueue(o),0===this._processing&&this._trigger("processstart"),s.each(i.files,function(e){var t=e?s.extend({},o):o,n=function(){return i.errorThrown?s.Deferred().rejectWith(r,[i]).promise():r._processFile(t,i)};t.index=e,r._processing+=1,r._processingQueue=r._processingQueue.then(n,n).always(function(){r._processing-=1,0===r._processing&&r._trigger("processstop")})})),this._processingQueue},_create:function(){this._super(),this._processing=0,this._processingQueue=s.Deferred().resolveWith(this).promise()}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","load-image","load-image-meta","load-image-scale","load-image-exif","canvas-to-blob","./jquery.fileupload-process"],e):"object"==typeof exports?e(require("jquery"),require("blueimp-load-image/js/load-image"),require("blueimp-load-image/js/load-image-meta"),require("blueimp-load-image/js/load-image-scale"),require("blueimp-load-image/js/load-image-exif"),require("blueimp-canvas-to-blob"),require("./jquery.fileupload-process")):e(window.jQuery,window.loadImage)}(function(a,l){"use strict";a.blueimp.fileupload.prototype.options.processQueue.unshift({action:"loadImageMetaData",disableImageHead:"@",disableExif:"@",disableExifThumbnail:"@",disableExifSub:"@",disableExifGps:"@",disabled:"@disableImageMetaDataLoad"},{action:"loadImage",prefix:!0,fileTypes:"@",maxFileSize:"@",noRevoke:"@",disabled:"@disableImageLoad"},{action:"resizeImage",prefix:"image",maxWidth:"@",maxHeight:"@",minWidth:"@",minHeight:"@",crop:"@",orientation:"@",forceResize:"@",disabled:"@disableImageResize"},{action:"saveImage",quality:"@imageQuality",type:"@imageType",disabled:"@disableImageResize"},{action:"saveImageMetaData",disabled:"@disableImageMetaDataSave"},{action:"resizeImage",prefix:"preview",maxWidth:"@",maxHeight:"@",minWidth:"@",minHeight:"@",crop:"@",orientation:"@",thumbnail:"@",canvas:"@",disabled:"@disableImagePreview"},{action:"setImage",name:"@imagePreviewName",disabled:"@disableImagePreview"},{action:"deleteImageReferences",disabled:"@disableImageReferencesDeletion"}),a.widget("blueimp.fileupload",a.blueimp.fileupload,{options:{loadImageFileTypes:/^image\/(gif|jpeg|png|svg\+xml)$/,loadImageMaxFileSize:1e7,imageMaxWidth:1920,imageMaxHeight:1080,imageOrientation:!1,imageCrop:!1,disableImageResize:!0,previewMaxWidth:80,previewMaxHeight:80,previewOrientation:!0,previewThumbnail:!0,previewCrop:!1,previewCanvas:!0},processActions:{loadImage:function(t,e){if(e.disabled)return t;var n=this,i=t.files[t.index],r=a.Deferred();return"number"===a.type(e.maxFileSize)&&i.size>e.maxFileSize||e.fileTypes&&!e.fileTypes.test(i.type)||!l(i,function(e){e.src&&(t.img=e),r.resolveWith(n,[t])},e)?t:r.promise()},resizeImage:function(t,n){if(n.disabled||!t.canvas&&!t.img)return t;n=a.extend({canvas:!0},n);var e,i=this,r=a.Deferred(),o=n.canvas&&t.canvas||t.img,s=function(e){e&&(e.width!==o.width||e.height!==o.height||n.forceResize)&&(t[e.getContext?"canvas":"img"]=e),t.preview=e,r.resolveWith(i,[t])};if(t.exif){if(!0===n.orientation&&(n.orientation=t.exif.get("Orientation")),n.thumbnail&&(e=t.exif.get("Thumbnail")))return l(e,s,n),r.promise();t.orientation?delete n.orientation:t.orientation=n.orientation}return o?(s(l.scale(o,n)),r.promise()):t},saveImage:function(t,e){if(!t.canvas||e.disabled)return t;var n=this,i=t.files[t.index],r=a.Deferred();return t.canvas.toBlob?(t.canvas.toBlob(function(e){e.name||(i.type===e.type?e.name=i.name:i.name&&(e.name=i.name.replace(/\.\w+$/,"."+e.type.substr(6)))),i.type!==e.type&&delete t.imageHead,t.files[t.index]=e,r.resolveWith(n,[t])},e.type||i.type,e.quality),r.promise()):t},loadImageMetaData:function(t,e){if(e.disabled)return t;var n=this,i=a.Deferred();return l.parseMetaData(t.files[t.index],function(e){a.extend(t,e),i.resolveWith(n,[t])},e),i.promise()},saveImageMetaData:function(e,t){if(!(e.imageHead&&e.canvas&&e.canvas.toBlob)||t.disabled)return e;var n=e.files[e.index],i=new Blob([e.imageHead,this._blobSlice.call(n,20)],{type:n.type});return i.name=n.name,e.files[e.index]=i,e},setImage:function(e,t){return e.preview&&!t.disabled&&(e.files[e.index][t.name||"preview"]=e.preview),e},deleteImageReferences:function(e,t){return t.disabled||(delete e.img,delete e.canvas,delete e.preview,delete e.imageHead),e}}})}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./jquery.fileupload-process"],e):"object"==typeof exports?e(require("jquery"),require("./jquery.fileupload-process")):e(window.jQuery)}(function(s){"use strict";s.blueimp.fileupload.prototype.options.processQueue.push({action:"validate",always:!0,acceptFileTypes:"@",maxFileSize:"@",minFileSize:"@",maxNumberOfFiles:"@",disabled:"@disableValidation"}),s.widget("blueimp.fileupload",s.blueimp.fileupload,{options:{getNumberOfFiles:s.noop,messages:{maxNumberOfFiles:"Maximum number of files exceeded",acceptFileTypes:"File type not allowed",maxFileSize:"File is too large",minFileSize:"File is too small"}},processActions:{validate:function(e,t){if(t.disabled)return e;var n,i=s.Deferred(),r=this.options,o=e.files[e.index];return(t.minFileSize||t.maxFileSize)&&(n=o.size),"number"===s.type(t.maxNumberOfFiles)&&(r.getNumberOfFiles()||0)+e.files.length>t.maxNumberOfFiles?o.error=r.i18n("maxNumberOfFiles"):!t.acceptFileTypes||t.acceptFileTypes.test(o.type)||t.acceptFileTypes.test(o.name)?n>t.maxFileSize?o.error=r.i18n("maxFileSize"):"number"===s.type(n)&&n=n.x&&r.x+r.w<=n.w+n.x&&r.y>=n.y&&r.y+r.h<=n.h+n.y)return i[o];return null},intersect:function(e,t){var n,i,r,o;return n=f(e.x,t.x),i=f(e.y,t.y),r=s(e.x+e.w,t.x+t.w),o=s(e.y+e.h,t.y+t.h),r-n<0||o-i<0?null:p(n,i,r-n,o-i)},clamp:function(e,t,n){var i,r,o,s,a,l,c,u,d,h;return a=e.x,l=e.y,c=e.x+e.w,u=e.y+e.h,d=t.x+t.w,h=t.y+t.h,i=f(0,t.x-a),r=f(0,t.y-l),o=f(0,c-d),s=f(0,u-h),a+=i,l+=r,n&&(c+=i,u+=r,a-=o,l-=s),p(a,l,(c-=o)-a,(u-=s)-l)},create:p,fromClientRect:function(e){return p(e.left,e.top,e.width,e.height)}}}),e("tinymce/util/Promise",[],function(){if(window.Promise)return window.Promise;var e=o.immediateFn||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)};function n(e,t){return function(){e.apply(t,arguments)}}var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],c(e,n(i,this),n(r,this))}function s(n){var i=this;null!==this._state?e(function(){var e=i._state?n.onFulfilled:n.onRejected;if(null!==e){var t;try{t=e(i._value)}catch(e){return void n.reject(e)}n.resolve(t)}else(i._state?n.resolve:n.reject)(i._value)}):this._deferreds.push(n)}function i(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void c(n(t,e),n(i,this),n(r,this))}this._state=!0,this._value=e,a.call(this)}catch(e){r.call(this,e)}}function r(e){this._state=!1,this._value=e,a.call(this)}function a(){for(var e=0,t=this._deferreds.length;e+~]|"+B+")"+B+"*"),U=new RegExp("="+B+"*([^\\]'\"]*?)"+B+"*\\]","g"),q=new RegExp(F),V=new RegExp("^"+L+"$"),$={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+H),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+B+"*(even|odd|(([+-]|)(\\d*)n|)"+B+"*(?:([+-]|)"+B+"*(\\d+)|))"+B+"*\\)|)","i"),bool:new RegExp("^(?:"+O+")$","i"),needsContext:new RegExp("^"+B+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+B+"*((?:-\\d)?\\d*)"+B+"*\\)|)(?=[^-]|$)","i")},K=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,G=/'|\\/g,Z=new RegExp("\\\\([\\da-f]{1,6}"+B+"?|("+B+")|.)","ig"),ee=function(e,t,n){var i="0x"+t-65536;return i!=i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)};try{P.apply(t=M.call(T.childNodes),T.childNodes),t[T.childNodes.length].nodeType}catch(e){P={apply:t.length?function(e,t){A.apply(e,M.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function te(e,t,n,i){var r,o,s,a,l,c,u,d,h,f;if((t?t.ownerDocument||t:T)!==w&&v(t),n=n||[],!e||"string"!=typeof e)return n;if(1!==(a=(t=t||w).nodeType)&&9!==a)return[];if(y&&!i){if(r=X.exec(e))if(s=r[1]){if(9===a){if(!(o=t.getElementById(s))||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&C(t,o)&&o.id===s)return n.push(o),n}else{if(r[2])return P.apply(n,t.getElementsByTagName(e)),n;if((s=r[3])&&p.getElementsByClassName)return P.apply(n,t.getElementsByClassName(s)),n}if(p.qsa&&(!b||!b.test(e))){if(d=u=k,h=t,f=9===a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=m(e),(u=t.getAttribute("id"))?d=u.replace(G,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",l=c.length;l--;)c[l]=d+he(c[l]);h=Q.test(e)&&ue(t.parentNode)||t,f=c.join(",")}if(f)try{return P.apply(n,h.querySelectorAll(f)),n}catch(e){}finally{u||t.removeAttribute("id")}}}return g(e.replace(z,"$1"),t,n,i)}function ne(){var i=[];return function e(t,n){return i.push(t+" ")>_.cacheLength&&delete e[i.shift()],e[t+" "]=n}}function ie(e){return e[k]=!0,e}function re(e){var t=w.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function oe(e,t){for(var n=e.split("|"),i=e.length;i--;)_.attrHandle[n[i]]=t}function se(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||1<<31)-(~e.sourceIndex||1<<31);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ae(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function le(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ce(s){return ie(function(o){return o=+o,ie(function(e,t){for(var n,i=s([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function ue(e){return e&&typeof e.getElementsByTagName!==N&&e}for(e in p=te.support={},i=te.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},v=te.setDocument=function(e){var t,l=e?e.ownerDocument||e:T,n=l.defaultView;return l!==w&&9===l.nodeType&&l.documentElement?(r=(w=l).documentElement,y=!i(l),n&&n!==function(e){try{return e.top}catch(e){}return null}(n)&&(n.addEventListener?n.addEventListener("unload",function(){v()},!1):n.attachEvent&&n.attachEvent("onunload",function(){v()})),p.attributes=re(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=re(function(e){return e.appendChild(l.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=Y.test(l.getElementsByClassName),p.getById=re(function(e){return r.appendChild(e).id=k,!l.getElementsByName||!l.getElementsByName(k).length}),p.getById?(_.find.ID=function(e,t){if(typeof t.getElementById!==N&&y){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},_.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}}):(delete _.find.ID,_.filter.ID=function(e){var n=e.replace(Z,ee);return function(e){var t=typeof e.getAttributeNode!==N&&e.getAttributeNode("id");return t&&t.value===n}}),_.find.TAG=p.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==N)return t.getElementsByTagName(e)}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[r++];)1===n.nodeType&&i.push(n);return i},_.find.CLASS=p.getElementsByClassName&&function(e,t){if(y)return t.getElementsByClassName(e)},s=[],b=[],(p.qsa=Y.test(l.querySelectorAll))&&(re(function(e){e.innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&b.push("[*^$]="+B+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||b.push("\\["+B+"*(?:value|"+O+")"),e.querySelectorAll(":checked").length||b.push(":checked")}),re(function(e){var t=l.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&b.push("name"+B+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||b.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),b.push(",.*:")})),(p.matchesSelector=Y.test(a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.oMatchesSelector||r.msMatchesSelector))&&re(function(e){p.disconnectedMatch=a.call(e,"div"),a.call(e,"[s!='']:x"),s.push("!=",F)}),b=b.length&&new RegExp(b.join("|")),s=s.length&&new RegExp(s.join("|")),t=Y.test(r.compareDocumentPosition),C=t||Y.test(r.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},E=t?function(e,t){if(e===t)return u=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===l||e.ownerDocument===T&&C(T,e)?-1:t===l||t.ownerDocument===T&&C(T,t)?1:c?I.call(c,e)-I.call(c,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e===l?-1:t===l?1:r?-1:o?1:c?I.call(c,e)-I.call(c,t):0;if(r===o)return se(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?se(s[i],a[i]):s[i]===T?-1:a[i]===T?1:0},l):w},te.matches=function(e,t){return te(e,null,null,t)},te.matchesSelector=function(e,t){if((e.ownerDocument||e)!==w&&v(e),t=t.replace(U,"='$1']"),p.matchesSelector&&y&&(!s||!s.test(t))&&(!b||!b.test(t)))try{var n=a.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0":{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]||te.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]&&te.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&q.test(n)&&(t=m(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=l[e+" "];return t||(t=new RegExp("(^|"+B+")"+e+"("+B+"|$)"))&&l(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==N&&e.getAttribute("class")||"")})},ATTR:function(n,i,r){return function(e){var t=te.attr(e,n);return null==t?"!="===i:!i||(t+="","="===i?t===r:"!="===i?t!==r:"^="===i?r&&0===t.indexOf(r):"*="===i?r&&-1)[^>]*$|#([\w\-]*)$)/,c=e.Event,u=n.makeMap("children,contents,next,prev");function d(e){return void 0!==e}function h(e){return"string"==typeof e}function f(e,t){var n,i,r;for(r=(t=t||o).createElement("div"),n=t.createDocumentFragment(),r.innerHTML=e;i=r.firstChild;)n.appendChild(i);return n}function p(e,t,n,i){var r;if(h(t))t=f(t,N(e[0]));else if(t.length&&!t.nodeType){if(t=C.makeArray(t),i)for(r=t.length-1;0<=r;r--)p(e,t[r],n,i);else for(r=0;r"===e.charAt(e.length-1)&&3<=e.length?[null,e,null]:l.exec(e)))return C(t).find(e);if(n[1])for(i=f(e,N(t)).firstChild;i;)s.call(r,i),i=i.nextSibling;else{if(!(i=N(t).getElementById(n[2])))return r;if(i.id!==n[2])return r.find(e);r.length=1,r[0]=i}}else this.add(e,!1);return r},toArray:function(){return n.toArray(this)},add:function(e,t){var n,i;if(h(e))return this.add(C(e));if(!1!==t)for(n=C.unique(this.toArray().concat(C.makeArray(e))),this.length=n.length,i=0;i=r.nodeValue.length-1?r.parentNode.removeChild(r):r.deleteData(l,c),d.collapse(m)),e==p)return;return 0=i.nodeValue.length?u.insertAfter(e,i):(t=i.splitText(r),i.parentNode.insertBefore(e,t)):i.parentNode.insertBefore(e,i)},surroundContents:function(e){var t=d.extractContents();d.insertNode(e),e.appendChild(t),d.selectNode(e)},cloneRange:function(){return t(new A(u),{startContainer:d[v],startOffset:d[g],endContainer:d[y],endOffset:d[b],collapsed:d.collapsed,commonAncestorContainer:d.commonAncestorContainer})},toStringIE:function(){return u.create("body",null,s()).outerText}}),d}return A.prototype.toString=function(){return this.toStringIE()},A}),e("tinymce/html/Entities",["tinymce/util/Tools"],function(e){var r,s,o,t=e.makeMap,i=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,a=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,n=/[<>&\"\']/g,l=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,c={128:"€",130:"‚",131:"Æ’",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Å ",139:"‹",140:"Å’",142:"Ž",145:"‘",146:"’",147:"“",148:"â€",149:"•",150:"–",151:"—",152:"Ëœ",153:"â„¢",154:"Å¡",155:"›",156:"Å“",158:"ž",159:"Ÿ"};function u(e,t){var n,i,r,o={};if(e){for(e=e.split(","),t=t||10,n=0;n":">","&":"&","`":"`"},o={"<":"<",">":">","&":"&",""":'"',"'":"'"},r=u("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var d={encodeRaw:function(e,t){return e.replace(t?i:a,function(e){return s[e]||e})},encodeAllRaw:function(e){return(""+e).replace(n,function(e){return s[e]||e})},encodeNumeric:function(e,t){return e.replace(t?i:a,function(e){return 1>10),56320+(1023&t))):c[t]||String.fromCharCode(t):o[e]||r[e]||(n=e,(i=document.createElement("div")).innerHTML=n,i.textContent||i.innerText||n);var n,i})}};return d}),e("tinymce/dom/StyleSheetLoader",["tinymce/util/Tools","tinymce/util/Delay"],function(v,y){return function(h,e){var f,p=0,m={};function g(e){h.getElementsByTagName("head")[0].appendChild(e)}f=(e=e||{}).maxLoadTime||5e3,this.load=function(e,t,n){var r,i,o,s;function a(){for(var e=s.passed,t=e.length;t--;)e[t]();s.status=2,s.passed=[],s.failed=[]}function l(){for(var e=s.failed,t=e.length;t--;)e[t]();s.status=3,s.passed=[],s.failed=[]}function c(e,t){e()||((new Date).getTime()-o"+n+"":r+" />"},createFragment:function(e){var t,n,i,r=this.doc;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),1"+n,t.removeChild(t.firstChild)}catch(e){c("
    ").html("
    "+n).contents().slice(1).appendTo(t)}return n}}):e.html(n)},getOuterHTML:function(e){return 1==(e=this.get(e)).nodeType&&"outerHTML"in e?e.outerHTML:c("
    ").append(c(e).clone()).html()},setOuterHTML:function(e,t){var n=this;n.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}n.remove(c(this).html(t),!0)})},decode:e.decode,encode:e.encodeAllRaw,insertAfter:function(e,i){return i=this.get(i),this.run(e,function(e){var t,n;return t=i.parentNode,(n=i.nextSibling)?t.insertBefore(e,n):t.appendChild(e),e})},replace:function(t,e,n){return this.run(e,function(e){return a(e,"array")&&(t=t.cloneNode(!0)),n&&s(l(e.childNodes),function(e){t.appendChild(e)}),e.parentNode.replaceChild(t,e)})},rename:function(t,e){var n,i=this;return t.nodeName!=e.toUpperCase()&&(n=i.create(e),s(i.getAttribs(t),function(e){i.setAttrib(n,e.nodeName,i.getAttrib(t,e.nodeName))}),i.replace(n,t,1)),n||t},findCommonAncestor:function(e,t){for(var n,i=e;i;){for(n=t;n&&i!=n;)n=n.parentNode;if(i==n)break;i=i.parentNode}return!i&&e.ownerDocument?e.ownerDocument.documentElement:i},toHex:function(e){return this.styles.toHex(o.trim(e))},run:function(e,n,i){var r,o=this;return"string"==typeof e&&(e=o.get(e)),!!e&&(i=i||this,e.nodeType||!e.length&&0!==e.length?n.call(i,e):(r=[],s(e,function(e,t){e&&("string"==typeof e&&(e=o.get(e)),r.push(n.call(i,e,t)))}),r))},getAttribs:function(e){var t;if(!(e=this.get(e)))return[];if(m){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});return e.cloneNode(!1).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n,i,r,o,s,a,l=0;if(e=e.firstChild){s=new h(e,e.parentNode),t=t||(this.schema?this.schema.getNonEmptyElements():null),o=this.schema?this.schema.getWhiteSpaceElements():{};do{if(1===(r=e.nodeType)){var c=e.getAttribute("data-mce-bogus");if(c){e=s.next("all"===c);continue}if(a=e.nodeName.toLowerCase(),t&&t[a]){if("br"!==a)return!1;l++,e=s.next();continue}for(n=(i=this.getAttribs(e)).length;n--;)if("name"===(a=i[n].nodeName)||"data-mce-bookmark"===a)return!1}if(8==r)return!1;if(3===r&&!v.test(e.nodeValue))return!1;if(3===r&&e.parentNode&&o[e.parentNode.nodeName]&&v.test(e.nodeValue))return!1;e=s.next()}while(e)}return l<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new t(this)},nodeIndex:n,split:function(e,t,n){var i,r,o,l=this,s=l.createRng();function c(e){var t,n=e.childNodes,i=e.nodeType;if(1!=i||"bookmark"!=e.getAttribute("data-mce-type")){for(t=n.length-1;0<=t;t--)c(n[t]);if(9!=i){if(3==i&&0m.length-1?p=m.length-1:p<0&&(p=0),d=m[p]||f),c==d)return r(g([c]));for(t=_.findCommonAncestor(c,d),o=c;o;o=o.parentNode){if(o===d)return b(c,t,!0);if(o===t)break}for(o=d;o;o=o.parentNode){if(o===c)return b(d,t);if(o===t)break}n=y(c,t)||c,i=y(d,t)||d,b(c,n,!0),(a=v(n==c?n:n.nextSibling,"nextSibling",i==d?i.nextSibling:i)).length&&r(g(a)),b(d,i)}function g(e){var t;return 3===(t=e[0]).nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===h&&0o.childNodes.length-1&&(n=!1),9===o.nodeType&&(o=_.getRoot(),s=0),o===u){if(n&&(a=o.childNodes[0=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},o}),e("tinymce/NodeChange",["tinymce/dom/RangeUtils","tinymce/Env","tinymce/util/Delay"],function(s,t,n){return function(o){var i,r=[];"onselectionchange"in o.getDoc()||o.on("NodeChange Click MouseUp KeyUp Focus",function(e){var t,n;n={startContainer:(t=o.selection.getRng()).startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset},"nodechange"!=e.type&&s.compareRanges(n,i)||o.fire("SelectionChange"),i=n}),o.on("contextmenu",function(){o.fire("SelectionChange")}),o.on("SelectionChange",function(){var e=o.selection.getStart(!0);!t.range&&o.selection.isCollapsed()||!function(e){var t,n;if((n=o.$(e).parentsUntil(o.getBody()).add(e)).length===r.length){for(t=n.length;0<=t&&n[t]===r[t];t--);if(-1===t)return r=n,!0}return r=n,!1}(e)&&o.dom.isChildOf(e,o.getBody())&&o.nodeChanged({selectionChange:!0})}),o.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==o.selection.getNode().nodeName?n.setEditorTimeout(o,function(){o.nodeChanged()}):o.nodeChanged())}),this.nodeChanged=function(e){var t,n,i,r=o.selection;o.initialized&&r&&!o.settings.disable_nodechange&&!o.readonly&&(i=o.getBody(),(t=r.getStart()||i).ownerDocument==o.getDoc()&&o.dom.isChildOf(t,i)||(t=i),"IMG"==t.nodeName&&r.isCollapsed()&&(t=t.parentNode),n=[],o.dom.getParent(t,function(e){if(e===i)return!0;n.push(e)}),(e=e||{}).element=t,e.parents=n,o.fire("NodeChange",e))}}}),e("tinymce/html/Node",[],function(){var o=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function s(e,t,n){var i,r,o=n?"lastChild":"firstChild",s=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(i=e[s])return i;for(r=e.parent;r&&r!==t;r=r.parent)if(i=r[s])return i}}function a(e,t){this.name=e,1===(this.type=t)&&(this.attributes=[],this.attributes.map={})}return a.prototype={replace:function(e){return e.parent&&e.remove(),this.insert(e,this),this.remove(),this},attr:function(e,t){var n,i;if("string"!=typeof e){for(i in e)this.attr(i,e[i]);return this}if(n=this.attributes){if(void 0===t)return n.map[e];if(null===t){if(e in n.map)for(delete n.map[e],i=n.length;i--;)if(n[i].name===e)return n=n.splice(i,1),this;return this}if(e in n.map){for(i=n.length;i--;)if(n[i].name===e){n[i].value=t;break}}else n.push({name:e,value:t});return n.map[e]=t,this}},clone:function(){var e,t,n,i,r,o=new a(this.name,this.type);if(n=this.attributes){for((r=[]).map={},e=0,t=n.length;e
    "},postRender:function(){var e,t=this;return t.items().exec("postRender"),t._super(),t._layout.postRender(t),t.state.set("rendered",!0),t.settings.style&&t.$el.css(t.settings.style),t.settings.border&&(e=t.borderBox,t.$el.css({"border-top-width":e.top,"border-right-width":e.right,"border-bottom-width":e.bottom,"border-left-width":e.left})),t.parent()||(t.keyboardNav=new i({root:t})),t},initLayoutRect:function(){var e=this._super();return this._layout.recalc(this),e},recalc:function(){var e=this._layoutRect,t=this._lastRect;if(!t||t.w!=e.w||t.h!=e.h)return this._layout.recalc(this),e=this.layoutRect(),this._lastRect={x:e.x,y:e.y,w:e.w,h:e.h},!0},reflow:function(){var e;if(c.remove(this),this.visible()){for(r.repaintControls=[],r.repaintControls.map={},this.recalc(),e=r.repaintControls.length;e--;)r.repaintControls[e].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),r.repaintControls=[]}return this}})}),e("tinymce/ui/DragHelper",["tinymce/dom/DomQuery"],function(w){function C(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n
    ").css({position:"absolute",top:0,left:0,width:h.width,height:h.height,zIndex:2147483647,opacity:1e-4,cursor:n}).appendTo(_.body),w(_).on("mousemove touchmove",v).on("mouseup touchend",g),f.start(e)},v=function(e){if(C(e),e.button!==m)return g(e);e.deltaX=e.screenX-y,e.deltaY=e.screenY-b,e.preventDefault(),f.drag(e)},g=function(e){C(e),w(_).off("mousemove touchmove",v).off("mouseup touchend",g),p.remove(),f.stop&&f.stop(e)},this.destroy=function(){w(x()).off()},w(x()).on("mousedown touchstart",t)}}),e("tinymce/ui/Scrollable",["tinymce/dom/DomQuery","tinymce/ui/DragHelper"],function(y,i){return{init:function(){this.on("repaint",this.renderScroll)},renderScroll:function(){var g=this,v=2;function n(){var p,m,e;function t(e,t,n,i,r,o){var s,a,l,c,u,d,h,f;if(a=g.getEl("scroll"+e)){if(h=t.toLowerCase(),f=n.toLowerCase(),y(g.getEl("absend")).css(h,g.layoutRect()[i]-1),!r)return void y(a).css("display","none");y(a).css("display","block"),s=g.getEl("body"),l=g.getEl("scroll"+e+"t"),c=s["client"+n]-2*v,u=(c-=p&&m?a["client"+o]:0)/s["scroll"+n],(d={})[h]=s["offset"+t]+v,d[f]=c,y(a).css(d),(d={})[h]=s["scroll"+t]*u,d[f]=c*u,y(l).css(d)}}e=g.getEl("body"),p=e.scrollWidth>e.clientWidth,m=e.scrollHeight>e.clientHeight,t("h","Left","Width","contentW",p,"Height"),t("v","Top","Height","contentH",m,"Width")}g.settings.autoScroll&&(g._hasScroll||(g._hasScroll=!0,function(){function e(s,a,l,c,u){var d,e=g._id+"-scroll"+s,t=g.classPrefix;y(g.getEl()).append('
    '),g.draghelper=new i(e+"t",{start:function(){d=g.getEl("body")["scroll"+a],y("#"+e).addClass(t+"active")},drag:function(e){var t,n,i,r,o=g.layoutRect();n=o.contentW>o.innerW,i=o.contentH>o.innerH,r=g.getEl("body")["client"+l]-2*v,t=(r-=n&&i?g.getEl("scroll"+s)["client"+u]:0)/g.getEl("body")["scroll"+l],g.getEl("body")["scroll"+a]=d+e["delta"+c]/t},stop:function(){y("#"+e).removeClass(t+"active")}})}g.classes.add("scroll"),e("v","Top","Height","Y","Width"),e("h","Left","Width","X","Height")}(),g.on("wheel",function(e){var t=g.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),y(g.getEl("body")).on("scroll",n)),n())}}}),e("tinymce/ui/Panel",["tinymce/ui/Container","tinymce/ui/Scrollable"],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),void 0===n?n='
    '+t.renderHtml(e)+"
    ":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'
    '+(e._preBodyHtml||"")+n+"
    "}})}),e("tinymce/ui/Movable",["tinymce/ui/DomUtils"],function(f){function o(e,t,n){var i,r,o,s,a,l,c,u,d,h;return d=f.getViewPort(),o=(r=f.getPos(t)).x,s=r.y,e.state.get("fixed")&&"static"==f.getRuntimeStyle(document.body,"position")&&(o-=d.x,s-=d.y),i=e.getEl(),a=(h=f.getSize(i)).width,l=h.height,c=(h=f.getSize(t)).width,u=h.height,"b"===(n=(n||"").split(""))[0]&&(s+=u),"r"===n[1]&&(o+=c),"c"===n[0]&&(s+=Math.round(u/2)),"c"===n[1]&&(o+=Math.round(c/2)),"b"===n[3]&&(s-=l),"r"===n[4]&&(o-=a),"c"===n[3]&&(s-=Math.round(l/2)),"c"===n[4]&&(o-=Math.round(a/2)),{x:o,y:s,w:a,h:l}}return{testMoveRel:function(e,t){for(var n=f.getViewPort(),i=0;in.x&&r.x+r.wn.y&&r.y+r.he&&(r.fixed(!1).layoutRect({y:r._autoFixY}).repaint(),t(!1,r._autoFixY-e)):(r._autoFixY=r.layoutRect().y,r._autoFixY
    ').appendTo(i.getContainerElm())),r.setTimeout(function(){t.addClass(n+"in"),s(i.getEl()).addClass(n+"in")}),c=!0),m(!0,i)}}),i.on("show",function(){i.parents().each(function(e){if(e.state.get("fixed"))return i.fixed(!0),!1})}),e.popover&&(i._preBodyHtml='
    ',i.classes.add("popover").add("bottom").add(i.isRtl()?"end":"start")),i.aria("label",e.ariaLabel),i.aria("labelledby",i._id),i.aria("describedby",i.describedBy||i._id+"-none")},fixed:function(e){if(this.state.get("fixed")!=e){if(this.state.get("rendered")){var t=i.getViewPort();e?this.layoutRect().y-=t.y:this.layoutRect().y+=t.y}this.classes.toggle("fixed",e),this.state.set("fixed",e)}return this},show:function(){var e,t=this._super();for(e=u.length;e--&&u[e]!==this;);return-1===e&&u.push(this),t},hide:function(){return v(this),m(!1,this),this._super()},hideAll:function(){g.hideAll()},close:function(){return this.fire("close").isDefaultPrevented()||(this.remove(),m(!1,this)),this},remove:function(){v(this),this._super()},postRender:function(){return this.settings.bodyRole&&this.getEl("body").setAttribute("role",this.settings.bodyRole),this._super()}});function v(e){var t;for(t=u.length;t--;)u[t]===e&&u.splice(t,1);for(t=d.length;t--;)d[t]===e&&d.splice(t,1)}return g.hideAll=function(){for(var e=u.length;e--;){var t=u[e];t&&t.settings.autohide&&(t.hide(),u.splice(e,1))}},g}),e("tinymce/ui/Window",["tinymce/ui/FloatPanel","tinymce/ui/Panel","tinymce/ui/DomUtils","tinymce/dom/DomQuery","tinymce/ui/DragHelper","tinymce/ui/BoxUtils","tinymce/Env","tinymce/util/Delay"],function(e,t,a,l,i,c,r,u){var o=[],s="";function d(e){var t,n=l("meta[name=viewport]")[0];!1!==r.overrideViewPort&&(n||((n=document.createElement("meta")).setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),(t=n.getAttribute("content"))&&void 0!==s&&(s=t),n.setAttribute("content",e?"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0":s))}function n(e,t){(function(){for(var e=0;ee.w&&(n=e.x-Math.max(0,t/2),r.layoutRect({w:t,x:n}),i=!0),o&&(o.layoutRect({w:r.layoutRect().innerW}).recalc(),(t=o.layoutRect().minW+e.deltaW)>e.w&&(n=e.x-Math.max(0,t-e.w),r.layoutRect({w:t,x:n}),i=!0)),i&&r.recalc()},initLayoutRect:function(){var e,t=this._super(),n=0;if(this.settings.title&&!this._fullscreen){e=this.getEl("head");var i=a.getSize(e);t.headerW=i.width,t.headerH=i.height,n+=t.headerH}this.statusbar&&(n+=this.statusbar.layoutRect().h),t.deltaH+=n,t.minH+=n,t.h+=n;var r=a.getWindowSize();return t.x=this.settings.x||Math.max(0,r.w/2-t.w/2),t.y=this.settings.y||Math.max(0,r.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,i=e.classPrefix,r=e.settings,o="",s="",a=r.html;return e.preRender(),t.preRender(e),r.title&&(o='
    '+e.encode(r.title)+'
    '),r.url&&(a=''),void 0===a&&(a=t.renderHtml(e)),e.statusbar&&(s=e.statusbar.renderHtml()),'
    '+o+'
    '+a+"
    "+s+"
    "},fullscreen:function(e){var n,t,i=this,r=document.documentElement,o=i.classPrefix;if(e!=i._fullscreen)if(l(window).on("resize",function(){var e;if(i._fullscreen)if(n)i._timer||(i._timer=u.setTimeout(function(){var e=a.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),i._timer=0},50));else{e=(new Date).getTime();var t=a.getWindowSize();i.moveTo(0,0).resizeTo(t.w,t.h),50<(new Date).getTime()-e&&(n=!0)}}),t=i.layoutRect(),i._fullscreen=e){i._initial={x:t.x,y:t.y,w:t.w,h:t.h},i.borderBox=c.parseBox("0"),i.getEl("head").style.display="none",t.deltaH-=t.headerH+2,l([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=a.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=c.parseBox(i.settings.border),i.getEl("head").style.display="",t.deltaH+=t.headerH,l([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var t,n=this;setTimeout(function(){n.classes.add("in"),n.fire("open")},0),n._super(),n.statusbar&&n.statusbar.postRender(),n.focus(),this.dragHelper=new i(n._id+"-dragh",{start:function(){t={x:n.layoutRect().x,y:n.layoutRect().y}},drag:function(e){n.moveTo(t.x+e.deltaX,t.y+e.deltaY)}}),n.on("submit",function(e){e.isDefaultPrevented()||n.close()}),o.push(n),d(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e;for(this.dragHelper.destroy(),this._super(),this.statusbar&&this.statusbar.remove(),n(this.classPrefix,!1),e=o.length;e--;)o[e]===this&&o.splice(e,1);d(0
    '+this.encode(this.state.get("text"))+"
    "},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().lastChild.innerHTML=t.encode(e.value)}),t._super()},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=131070}})}),e("tinymce/ui/Widget",["tinymce/ui/Control","tinymce/ui/Tooltip"],function(e,t){var n,o=e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.canFocus=!0,i.tooltip&&!1!==o.tooltips&&(r.on("mouseenter",function(e){var t=r.tooltip().moveTo(-65535);if(e.control==r){var n=t.text(i.tooltip).show().testMoveRel(r.getEl(),["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==n),t.classes.toggle("tooltip-nw","bc-tl"==n),t.classes.toggle("tooltip-ne","bc-tr"==n),t.moveRel(r.getEl(),n)}else t.hide()}),r.on("mouseleave mousedown click",function(){r.tooltip().hide()})),r.aria("label",i.ariaLabel||i.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"})).renderTo(),n},postRender:function(){var e=this.settings;this._super(),this.parent()||!e.width&&!e.height||(this.initLayoutRect(),this.repaint()),e.autofocus&&this.focus()},bindStates:function(){var t=this;function n(e){t.aria("disabled",e),t.classes.toggle("disabled",e)}function i(e){t.aria("pressed",e),t.classes.toggle("active",e)}return t.state.on("change:disabled",function(e){n(e.value)}),t.state.on("change:active",function(e){i(e.value)}),t.state.get("disabled")&&n(!0),t.state.get("active")&&i(!0),t._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return o}),e("tinymce/ui/Progress",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{value:0},init:function(e){this._super(e),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this._id,t=this.classPrefix;return'
    0%
    '},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var t=this;function n(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}return t.state.on("change:value",function(e){n(e.value)}),n(t.state.get("value")),t._super()}})}),e("tinymce/ui/Notification",["tinymce/ui/Control","tinymce/ui/Movable","tinymce/ui/Progress","tinymce/util/Delay"],function(e,t,n,i){return e.extend({Mixins:[t],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||0'),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(i=''),e.progressBar&&(r=e.progressBar.renderHtml()),'"},postRender:function(){var e=this;return i.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl().childNodes[1].innerHTML=e.value}),t.progressBar&&t.progressBar.bindStates(),t._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=65534}})}),e("tinymce/NotificationManager",["tinymce/ui/Notification","tinymce/util/Delay","tinymce/util/Tools"],function(s,t,a){return function(i){var r=[];function e(){if(r.length)return r[r.length-1]}function o(){if(0r.length-1)return null;i=r[t[n]]}return i}}}),e("tinymce/util/Quirks",["tinymce/util/VK","tinymce/dom/RangeUtils","tinymce/dom/TreeWalker","tinymce/dom/NodePath","tinymce/html/Node","tinymce/html/Entities","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/caret/CaretContainer","tinymce/caret/CaretPosition","tinymce/caret/CaretWalker"],function(N,D,R,A,P,M,I,O,B,L,H,F){return function(p){var n,r=O.each,m=p.$,h=N.BACKSPACE,g=N.DELETE,c=p.dom,s=p.selection,e=p.settings,t=p.parser,i=p.serializer,o=I.gecko,a=I.ie,l=I.webkit,u="data:text/mce-internal,",d=a?"Text":"URL";function f(e,t){try{p.getDoc().execCommand(e,!1,t)}catch(e){}}function v(){var e=p.getDoc().documentMode;return e||6}function y(e){return e.isDefaultPrevented()}function b(e){var t,n;e.dataTransfer&&(p.selection.isCollapsed()&&"IMG"==e.target.tagName&&s.select(e.target),0<(t=p.selection.getContent()).length&&(n=u+escape(p.id)+","+escape(t),e.dataTransfer.setData(d,n)))}function _(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(d))&&0<=t.indexOf(u)?(t=t.substr(u.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function x(e){p.queryCommandSupported("mceInsertClipboardContent")?p.execCommand("mceInsertClipboardContent",!1,{content:e}):p.execCommand("mceInsertContent",!1,e)}function w(){p.shortcuts.add("meta+a",null,"SelectAll")}function C(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===h){if(!p.getBody().getElementsByTagName("hr").length)return;if(s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return c.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(c.remove(n),e.preventDefault())}}})}function k(){p.on("keydown",function(e){if(!y(e)&&e.keyCode===h&&s.isCollapsed()&&0===s.getRng(!0).startOffset){var t=s.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function T(){p.inline||(p.contentStyles.push("body {min-height: 150px}"),p.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(11s.childNodes.length-1;if(!n||!i)return e;if(o&&r!=o)if(t){if(!c(r,o))return e;1==n.nodeType?"BR"==n.nodeName?e.setStartBefore(n):e.setStartAfter(n):e.setStart(n,n.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!c(o,r))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==n.nodeType&&l?e.setEndAfter(n):e.setEndBefore(n)}return e}(t,e)))return!0}function l(e){var t,i,r;o(e)||(O.each(p.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&p.dom.setAttrib(e,"style",p.dom.getAttrib(e,"style"))}),(t=new n(function(){})).observe(p.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),p.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),i=p.selection.getRng(),r=i.startContainer.parentNode,O.each(t.takeRecords(),function(e){if(f.isChildOf(e.target,p.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}O.each(e.addedNodes,function(e){var t,n;"SPAN"!=e.nodeName||e.getAttribute("mce-data-marked")||(e==r&&(t=i.startOffset,n=e.firstChild),f.remove(e,!0),n&&(i.setStart(n,t),i.setEnd(n,t),p.selection.setRng(i)))})}}),t.disconnect(),O.each(p.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}function d(e){p.undoManager.transact(function(){l(e)})}n||(e=!0,n=function(){var t,n=[];function i(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function r(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}this.observe=function(e){(t=e).addEventListener("DOMSubtreeModified",i,!1),t.addEventListener("DOMNodeInsertedIntoDocument",i,!1),t.addEventListener("DOMNodeInserted",i,!1),t.addEventListener("DOMAttrModified",r,!1)},this.disconnect=function(){t.removeEventListener("DOMSubtreeModified",i,!1),t.removeEventListener("DOMNodeInsertedIntoDocument",i,!1),t.removeEventListener("DOMNodeInserted",i,!1),t.removeEventListener("DOMAttrModified",r,!1)},this.takeRecords=function(){return n}}),p.on("keydown",function(e){var t=e.keyCode==g,n=e.ctrlKey||e.metaKey;if(!y(e)&&(t||e.keyCode==h)){var i=p.selection.getRng(),r=i.startContainer,o=i.startOffset;if(t&&e.shiftKey)return;if(function(e,n){var t,i,r,o,s,a,l,c,u;function d(e,t){return u=m(t).parents().filter(function(e,t){return!!p.schema.getTextInlineElements()[t.nodeName]}),r=e.cloneNode(!1),(u=O.map(u,function(e){return e=e.cloneNode(!1),r.hasChildNodes()&&e.appendChild(r.firstChild),r.appendChild(e),r.appendChild(e),e})).length?(c=f.create("br"),u[0].appendChild(c),f.replace(r,e),n.setStartBefore(c),n.setEndBefore(c),p.selection.setRng(n),c):null}function h(e){return e&&p.schema.getTextBlockElements()[e.tagName]}if(n.collapsed&&(a=n.startContainer,l=n.startOffset,h(i=f.getParent(a,f.isBlock))))if(1==a.nodeType){if((a=a.childNodes[l])&&"BR"!=a.tagName)return;if(s=e?i.nextSibling:i.previousSibling,f.isEmpty(i)&&h(s)&&f.isEmpty(s)&&d(i,a))return f.remove(s),!0}else if(3==a.nodeType){if(t=A.create(i,a),o=i.cloneNode(!0),a=A.resolve(o,t),e){if(l>=a.data.length)return;a.deleteData(l,1)}else{if(l<=0)return;a.deleteData(l-1,1)}if(f.isEmpty(o))return d(i,a)}}(t,i))return void e.preventDefault();if(!n&&i.collapsed&&3==r.nodeType&&(t?oi.clientHeight)return;t=1,(n=s(e.x,e.y))&&(c.bind(r,"mouseup",l),c.bind(r,"mousemove",a),c.getRoot().focus(),n.select())}})}()),11<=I.ie&&k(),I.ie&&(T(),w(),f("AutoUrlDetect",!1),p.on("dragstart",function(e){b(e)}),p.on("drop",function(e){if(!y(e)){var t=_(e);if(t&&t.id!=p.id){e.preventDefault();var n=D.getCaretRangeFromPoint(e.x,e.y,p.getDoc());s.setRng(n),x(t.html)}}})),o&&(E(),C(),window.Range.prototype.getClientRects||p.on("mousedown",function(e){if(!y(e)&&"HTML"===e.target.nodeName){var t=p.getBody();t.blur(),B.setEditorTimeout(p,function(){t.focus()})}}),function(){function n(){var e=c.getAttribs(s.getStart().cloneNode(!1));return function(){var t=s.getStart();t!==p.getBody()&&(c.setAttrib(t,"style",null),r(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function i(){return!s.isCollapsed()&&c.getParent(s.getStart(),c.isBlock)!=c.getParent(s.getEnd(),c.isBlock)}p.on("keypress",function(e){var t;if(!y(e)&&(8==e.keyCode||46==e.keyCode)&&i())return t=n(),p.getDoc().execCommand("delete",!1,null),t(),e.preventDefault(),!1}),c.bind(p.getDoc(),"cut",function(e){var t;!y(e)&&i()&&(t=n(),B.setEditorTimeout(p,function(){t()}))})}(),e.readonly||p.on("BeforeExecCommand MouseDown",function(){f("StyleWithCSS",!1),f("enableInlineTableEditing",!1),e.object_resizing||f("enableObjectResizing",!1)}),p.on("SetContent ExecCommand",function(e){"setcontent"!=e.type&&"mceInsertLink"!==e.command||r(c.select("a"),function(e){var t=e.parentNode,n=c.getRoot();if(t.lastChild===e){for(;t&&!c.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}c.add(t,"br",{"data-mce-bogus":1})}})}),p.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),I.mac&&p.on("keydown",function(e){!N.metaKeyPressed(e)||e.shiftKey||37!=e.keyCode&&39!=e.keyCode||(e.preventDefault(),p.selection.getSel().modify("move",37==e.keyCode?"backward":"forward","lineboundary"))}),k()),{refreshContentEditable:S,isHidden:function(){var e;return o?!(e=p.selection.getSel())||!e.rangeCount||0===e.rangeCount:0}}}}),e("tinymce/EditorObservable",["tinymce/util/Observable","tinymce/dom/DOMUtils","tinymce/util/Tools"],function(e,t,n){var i,l=t.DOM;function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=l.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function o(o,s){var e,t=r(o,s);function a(e){return!e.hidden&&!e.readonly}if(o.delegates||(o.delegates={}),!o.delegates[s])if(o.settings.event_root){if(i||(i={},o.editorManager.on("removeEditor",function(){var e;if(!o.editorManager.activeEditor&&i){for(e in i)o.dom.unbind(r(o,e));i=null}})),i[s])return;e=function(e){for(var t=e.target,n=o.editorManager.editors,i=n.length;i--;){var r=n[i].getBody();(r===t||l.isChildOf(t,r))&&a(n[i])&&n[i].fire(s,e)}},i[s]=e,l.bind(t,s,e)}else e=function(e){a(o)&&o.fire(s,e)},l.bind(t,s,e),o.delegates[s]=e}var s={bindPendingEventDelegates:function(){var t=this;n.each(t._pendingNativeEvents,function(e){o(t,e)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?o(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e,t=this;if(t.delegates){for(e in t.delegates)t.dom.unbind(r(t,e),e,t.delegates[e]);delete t.delegates}t.inline||(t.getBody().onload=null,t.dom.unbind(t.getWin()),t.dom.unbind(t.getDoc())),t.dom.unbind(t.getBody()),t.dom.unbind(t.getContainer())}};return s=n.extend({},e,s)}),e("tinymce/Mode",[],function(){function o(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(e){}}function i(e,t){var n,i,r;e._clickBlocker&&(e._clickBlocker.unbind(),e._clickBlocker=null),t?(e._clickBlocker=(i=(n=e).getBody(),r=function(e){0"),a))[r.length-1]=u.extend(r[r.length-1],{func:n,scope:i||o}),u.extend(r[0],{desc:o.translate(t),subpatterns:r.slice(1)})}function r(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function c(e){return e.func?e.func.call(e.scope):null}o.on("keyup keypress keydown",function(t){var e,n;((n=t).altKey||n.ctrlKey||n.metaKey||"keydown"===(e=t).type&&112<=e.keyCode&&e.keyCode<=123)&&!t.isDefaultPrevented()&&(h(s,function(e){if(r(t,e))return i=e.subpatterns.slice(0),"keydown"==t.type&&c(e),!0}),r(t,i[0])&&(1===i.length&&"keydown"==t.type&&c(i[0]),i.shift()))}),this.add=function(e,n,i,r){var t;return"string"==typeof(t=i)?i=function(){o.execCommand(t,!1,null)}:u.isArray(t)&&(i=function(){o.execCommand(t[0],t[1],t[2])}),h(f(u.trim(e.toLowerCase())),function(e){var t=l(e,n,i,r);s[t.id]=t}),!0},this.remove=function(e){var t=l(e);return!!s[t.id]&&(delete s[t.id],!0)}}}),e("tinymce/file/Uploader",["tinymce/util/Promise","tinymce/util/Tools","tinymce/util/Fun"],function(a,l,m){return function(d,s){var i={};function n(e,i,r,t){var o,n;(o=new XMLHttpRequest).open("POST",s.url),o.withCredentials=s.credentials,o.upload.onprogress=function(e){t(e.loaded/e.total*100)},o.onerror=function(){r("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e,t,n;200==o.status?(e=JSON.parse(o.responseText))&&"string"==typeof e.location?i((t=s.basePath,n=e.location,t?t.replace(/\/$/,"")+"/"+n.replace(/^\//,""):n)):r("Invalid JSON: "+o.responseText):r("HTTP Error: "+o.status)},(n=new FormData).append("file",e.blob(),e.filename()),o.send(n)}function h(e,t){return{url:t,blobInfo:e,status:!0}}function f(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function p(e,t){l.each(i[e],function(e){e(t)}),delete i[e]}function r(l,c,u){return d.markPending(l.blobUri()),new a(function(t){var n,e,i,r,o,s=function(){};try{var a=function(){n&&(n.close(),e=s)};e=function(e){e<0||100
    ').css(n).appendTo(h),e&&m.addClass("mce-visual-caret-before"),p=x.setInterval(function(){b("div.mce-visual-caret",h).toggleClass("mce-visual-caret-hidden")},500),(i=t.ownerDocument.createRange()).setStart(g,0),i.setEnd(g,0)):(g=y.insertInline(t,e),i=t.ownerDocument.createRange(),w(g.nextSibling)?(i.setStart(g,0),i.setEnd(g,0)):(i.setStart(g,1),i.setEnd(g,1))),i},hide:v,getCss:function(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"},destroy:function(){x.clearInterval(p)}}}}),e("tinymce/dom/Dimensions",["tinymce/util/Arr","tinymce/dom/NodeType","tinymce/geom/ClientRect"],function(r,o,s){return{getClientRects:function n(t){function e(e){return r.map(e,function(e){return(e=s.clone(e)).node=t,e})}if(r.isArray(t))return r.reduce(t,function(e,t){return e.concat(n(t))},[]);if(o.isElement(t))return e(t.getClientRects());if(o.isText(t)){var i=t.ownerDocument.createRange();return i.setStart(t,0),i.setEnd(t,t.data.length),e(i.getClientRects())}}}}),e("tinymce/caret/LineWalker",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/Dimensions","tinymce/caret/CaretCandidate","tinymce/caret/CaretUtils","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/geom/ClientRect"],function(e,p,d,h,f,m,g,v){var t=e.curry;function n(r,o,s,e,a,t){var n,l,c=0,u=[];function i(e){var t,n,i;for(i=d.getClientRects(e),-1==r&&(i=i.reverse()),t=0;te}),isLine:t(function(e,t){return t.line===e})}}),e("tinymce/caret/LineUtils",["tinymce/util/Fun","tinymce/util/Arr","tinymce/dom/NodeType","tinymce/dom/Dimensions","tinymce/geom/ClientRect","tinymce/caret/CaretUtils","tinymce/caret/CaretCandidate"],function(e,l,t,c,n,i,r){var u=t.isContentEditableFalse,o=i.findNode,s=e.curry;function d(e,t){return Math.abs(e.left-t)}function h(e,t){return Math.abs(e.right-t)}function f(e,r){function o(e,t){return e>=t.left&&e<=t.right}return l.reduce(e,function(e,t){var n,i;return n=Math.min(d(e,r),h(e,r)),i=Math.min(d(t,r),h(t,r)),o(r,t)?t:o(r,e)?e:i==n&&u(t.node)?t:i=e.top&&n<=e.bottom}),t))&&(r=f(p(e,r),t))&&u(r.node)?(a=t,{node:(s=r).node,before:d(s,a)o&&(a=n.pageX+i-o),n.pageY+r>s&&(l=n.pageY+r-s),t.style.width=i-a+"px",t.style.height=r-l+"px",v(e.clientX,e.clientY)}},r=_(c,e),a=c,o=function(){x(a),a.dragging&&l.fire("dragend")},(l=e).on("mousedown",n),e.on("mousemove",i),e.on("mouseup",r),t.bind(s,"mousemove",i),t.bind(s,"mouseup",o),e.on("remove",function(){t.unbind(s,"mousemove",i),t.unbind(s,"mouseup",o)})};return{init:function(e){var n;t(e),(n=e).on("drop",function(e){var t=void 0!==e.clientX?n.getDoc().elementFromPoint(e.clientX,e.clientY):null;(f(t)||f(n.dom.getContentEditableParent(t)))&&e.preventDefault()})}}}),e("tinymce/SelectionOverrides",["tinymce/Env","tinymce/caret/CaretWalker","tinymce/caret/CaretPosition","tinymce/caret/CaretContainer","tinymce/caret/CaretUtils","tinymce/caret/FakeCaret","tinymce/caret/LineWalker","tinymce/caret/LineUtils","tinymce/dom/NodeType","tinymce/dom/RangeUtils","tinymce/geom/ClientRect","tinymce/util/VK","tinymce/util/Fun","tinymce/util/Arr","tinymce/util/Delay","tinymce/DragDropOverrides"],function(L,H,F,z,h,a,j,W,U,e,q,V,$,K,J,Y){var X=$.curry,Q=U.isContentEditableTrue,G=U.isContentEditableFalse,Z=U.isElement,ee=h.isAfterContentEditableFalse,te=h.isBeforeContentEditableFalse,ne=e.getSelectedNode;function ie(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}return function(f){var p,e,t,m=f.getBody(),l=new H(m),g=X(ie,l.next),v=X(ie,l.prev),i=new a(f.getBody(),_),y="sel-"+f.dom.uniqueId(),b=f.$;function _(e){return f.dom.isBlock(e)}function x(e){e&&f.selection.setRng(e)}function w(){return f.selection.getRng()}function r(e,t){f.selection.scrollIntoView(e,t)}function C(e,t,n){return f.fire("ShowCaret",{target:t,direction:e,before:n}).isDefaultPrevented()?null:(r(t,-1===e),i.show(n,t))}function k(e){var t,n;return f.fire("BeforeObjectSelected",{target:e}).isDefaultPrevented()?null:((n=(t=e).ownerDocument.createRange()).selectNode(t),n)}function T(e,t){return t=h.normalizeRange(e,m,t),-1==e?F.fromRangeStart(t):F.fromRangeEnd(t)}function o(e,t,n,i){var r,o,s,a,l,c,u,d;return!i.collapsed&&(r=ne(i),G(r))?C(e,r,-1==e):(l=i,a=z.isCaretContainerBlock(l.startContainer),n(o=T(e,i))?k(o.getNode(-1==e)):(o=t(o))?n(o)?C(e,o.getNode(-1==e),1==e):n(s=t(o))&&(c=o,u=s,!(d=h.isInSameBlock(c,u))&&U.isBr(c.getNode())||d)?C(e,s.getNode(-1==e),1==e):a?R(o.toRange()):null:a?i:null)}function s(e,t){var n,i,r;if(t.collapsed&&f.settings.forced_root_block){if(!(n=f.dom.getParent(t.startContainer,"PRE")))return;(1==e?g(F.fromRangeStart(t)):v(F.fromRangeStart(t)))||(r=f.dom.create(f.settings.forced_root_block),(!L.ie||11<=L.ie)&&(r.innerHTML='
    '),i=r,1==e?f.$(n).after(i):f.$(n).before(i),f.selection.select(i,!0),f.selection.collapse())}}function S(e,t,n,i){var r;return(r=o(e,t,n,i))?r:(r=s(e,i))||null}function E(e,t,n){var i;return(i=function(e,t,n){var i,r,o,s,a,l,c,u,d;if(d=ne(n),i=T(e,n),r=t(m,j.isAboveLine(1),i),o=K.filter(r,j.isLine(1)),a=K.last(i.getClientRects()),te(i)&&(d=i.getNode()),ee(i)&&(d=i.getNode(!0)),!a)return null;if(l=a.left,(s=W.findClosestClientRect(o,l))&&G(s.node))return c=Math.abs(l-s.left),u=Math.abs(l-s.right),C(e,s.node,c
  • ').attr("id",y)).appendTo(f.getBody()),e=f.dom.createRng(),c===u&&L.ie?(n.empty().append('

     

    ').append(c),e.setStartAfter(n[0].firstChild.firstChild),e.setEndAfter(c)):(n.empty().append(" ").append(c).append(" "),e.setStart(n[0].firstChild,1),e.setEnd(n[0].lastChild,0)),n.css({top:h.getPos(t,f.getBody()).y}),n[0].focus(),(i=f.selection.getSel()).removeAllRanges(),i.addRange(e),f.$("*[data-mce-selected]").removeAttr("data-mce-selected"),t.setAttribute("data-mce-selected",1),p=t,B(),e)):null)}function O(){p&&(p.removeAttribute("data-mce-selected"),f.$("#"+y).remove(),p=null)}function B(){i.hide()}return L.ceFalse&&(function(){var n=X(S,1,g,te),i=X(S,-1,v,ee),r=X(P,1,te,ee),o=X(P,-1,ee,te),s=X(E,-1,j.upUntil),a=X(E,1,j.downUntil);function l(e,t){if(!1===e.isDefaultPrevented()){var n=t(w());n&&(e.preventDefault(),x(n))}}function c(e){for(var t=f.getBody();e&&e!=t;){if(Q(e)||G(e))return e;e=e.parentNode}return null}f.on("mouseup",function(){var e=w();e.collapsed&&x(D(e))}),f.on("click",function(e){var t;(t=c(e.target))&&(G(t)&&(e.preventDefault(),f.focus()),Q(t)&&f.dom.isChildOf(t,f.selection.getNode())&&O())}),f.on("blur NewBlock",function(){O(),B()});var e,u,d=function(e,t){var n,i,r=f.dom.getParent(e,f.dom.isBlock),o=f.dom.getParent(t,f.dom.isBlock);return r&&(n=r,i=o,!(f.dom.getParent(n,f.dom.isBlock)===f.dom.getParent(i,f.dom.isBlock)))&&function(e){var t=new H(e);if(!e.firstChild)return!1;var n=F.before(e.firstChild),i=t.next(n);return i&&!te(i)&&!ee(i)}(r)};function h(){var e,t=c(f.selection.getNode());Q(t)&&_(t)&&f.dom.isEmpty(t)&&(e=f.dom.create("br",{"data-mce-bogus":"1"}),f.$(t).empty().append(e),f.selection.setRng(F.before(e).toRange()))}function t(e){var t=b("*[data-mce-caret]")[0];if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void N(t)):void(z.hasContent(t)&&N(t))}u=!1,(e=f).on("touchstart",function(){u=!1}),e.on("touchmove",function(){u=!0}),e.on("touchend",function(e){var t=c(e.target);G(t)&&(u||(e.preventDefault(),I(k(t))))}),f.on("mousedown",function(e){var t,n,i,r;if(t=c(e.target))G(t)?(e.preventDefault(),I(k(t))):(n=e.clientX,i=e.clientY,((r=f.selection.getRng()).collapsed||!K.reduce(r.getClientRects(),function(e,t){return e||q.containsXY(t,n,i)},!1))&&f.selection.placeCaretAt(e.clientX,e.clientY));else{O(),B();var o=W.closestCaret(m,e.clientX,e.clientY);o&&(d(e.target,o.node)||(e.preventDefault(),f.getBody().focus(),x(C(1,o.node,o.before))))}}),f.on("keydown",function(e){var t;if(!V.modifierPressed(e))switch(e.keyCode){case V.RIGHT:l(e,n);break;case V.DOWN:l(e,a);break;case V.LEFT:l(e,i);break;case V.UP:l(e,s);break;case V.DELETE:l(e,r);break;case V.BACKSPACE:l(e,o);break;default:!G(f.selection.getNode())||112<=(t=e).keyCode&&t.keyCode<=123||e.preventDefault()}}),f.on("keyup compositionstart",function(e){t(e),function(e){var t;switch(e.keyCode){case V.DELETE:case V.BACKSPACE:t=h()}t&&e.preventDefault()}(e)},!0),f.on("cut",function(){var e=f.selection.getNode();G(e)&&J.setEditorTimeout(f,function(){x(R(A(e)))})}),f.on("getSelectionRange",function(e){var t=e.range;if(p){if(!p.parentNode)return void(p=null);(t=t.cloneRange()).selectNode(p),e.range=t}}),f.on("setSelectionRange",function(e){var t;(t=I(e.range))&&(e.range=t)}),f.on("AfterSetSelectionRange",function(e){var t,n=e.range;M(n)||B(),t=n.startContainer.parentNode,f.dom.hasClass(t,"mce-offscreen-selection")||O()}),f.on("focus",function(){J.setEditorTimeout(f,function(){f.selection.setRng(R(f.selection.getRng()))},0)}),f.on("copy",function(e){var t,n=e.clipboardData;if(!e.isDefaultPrevented()&&e.clipboardData&&!L.ie){var i=(t=f.dom.get(y))?t.getElementsByTagName("*")[0]:t;i&&(e.preventDefault(),n.clearData(),n.setData("text/html",i.outerHTML),n.setData("text/plain",i.outerText))}}),Y.init(f)}(),e=f.contentStyles,t=".mce-content-body",e.push(i.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")),{showBlockCaretContainer:N,hideFakeCaret:B,destroy:function(){i.destroy(),p=null}}}}),e("tinymce/util/Uuid",[],function(){var n=0;return{uuid:function(e){return e+n+++(t=function(){return Math.round(4294967295*Math.random()).toString(36)},"s"+(new Date).getTime().toString(36)+t()+t()+t());var t}}}),e("tinymce/ui/Sidebar",[],function(){return{add:function(e,t,n){var i=e.sidebars?e.sidebars:[];i.push({name:t,settings:n}),e.sidebars=i}}}),e("tinymce/Editor",["tinymce/dom/DOMUtils","tinymce/dom/DomQuery","tinymce/AddOnManager","tinymce/NodeChange","tinymce/html/Node","tinymce/dom/Serializer","tinymce/html/Serializer","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EnterKey","tinymce/ForceBlocks","tinymce/EditorCommands","tinymce/util/URI","tinymce/dom/ScriptLoader","tinymce/dom/EventUtils","tinymce/WindowManager","tinymce/NotificationManager","tinymce/html/Schema","tinymce/html/DomParser","tinymce/util/Quirks","tinymce/Env","tinymce/util/Tools","tinymce/util/Delay","tinymce/EditorObservable","tinymce/Mode","tinymce/Shortcuts","tinymce/EditorUpload","tinymce/SelectionOverrides","tinymce/util/Uuid","tinymce/ui/Sidebar","tinymce/ErrorReporter"],function(s,a,l,c,u,d,h,f,p,m,g,v,y,b,o,e,_,x,w,C,k,T,S,E,t,n,N,D,R,r,i,A){var P=s.DOM,M=l.ThemeManager,I=l.PluginManager,O=S.extend,B=S.each,L=S.explode,H=S.inArray,F=S.trim,z=S.resolve,j=e.Event,W=T.gecko,U=T.ie;function q(e,t,n){var i,r,o,s=this;i=s.documentBaseUrl=n.documentBaseURL,r=n.baseURI,o=n.defaultSettings,t=O({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:i,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:s.convertURL,url_converter_scope:s,ie7_compat:!0},o,t),o&&o.external_plugins&&t.external_plugins&&(t.external_plugins=O({},o.external_plugins,t.external_plugins)),s.settings=t,l.language=t.language||"en",l.languageLoad=t.language_load,l.baseURL=n.baseURL,s.id=t.id=e,s.setDirty(!1),s.plugins={},s.documentBaseURI=new b(t.document_base_url||i,{base_uri:r}),s.baseURI=r,s.contentCSS=[],s.contentStyles=[],s.shortcuts=new N(s),s.loadedCSS={},s.editorCommands=new y(s),s.suffix=n.suffix,s.editorManager=n,s.inline=t.inline,s.settings.content_editable=s.inline,t.cache_suffix&&(T.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(T.overrideViewPort=!1),n.fire("SetupEditor",s),s.execCallback("setup",s),s.$=a.overrideDefaults(function(){return{context:s.inline?s.getBody():s.getDoc(),element:s.getBody()}})}return O(q.prototype={render:function(){var n=this,i=n.settings,e=n.id,r=n.suffix;if(j.domLoaded){if(n.getElement()&&T.contentEditable){i.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var t=n.getElement().form||P.getParent(e,"form");t&&(n.formElement=t,i.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(P.insertAfter(P.create("input",{type:"hidden",name:e}),e),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},P.bind(t,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!i.submit_patch||t.submit.nodeType||t.submit.length||t._mceOldSubmit||(t._mceOldSubmit=t.submit,t.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),t._mceOldSubmit(t)})),n.windowManager=new _(n),n.notificationManager=new x(n),"xml"==i.encoding&&n.on("GetContent",function(e){e.save&&(e.content=P.encode(e.content))}),i.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),i.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),function(){var e=o.ScriptLoader;if(i.language&&"en"!=i.language&&!i.language_url&&(i.language_url=n.editorManager.baseURL+"/langs/"+i.language+".js"),i.language_url&&e.add(i.language_url),i.theme&&"function"!=typeof i.theme&&"-"!=i.theme.charAt(0)&&!M.urls[i.theme]){var t=i.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+i.theme+"/theme"+r+".js",M.load(i.theme,t)}S.isArray(i.plugins)&&(i.plugins=i.plugins.join(" ")),B(i.external_plugins,function(e,t){I.load(t,e),i.plugins+=" "+t}),B(i.plugins.split(/[ ,]/),function(e){if((e=F(e))&&!I.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=I.dependencies(e);B(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"};e=I.createUrl(t,e),I.load(e.resource,e)})}else I.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+r+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){A.pluginLoadError(n,e[0]),n.removed||n.init()})}()}}else P.bind(window,"ready",function e(){P.unbind(window,"ready",e),n.render()})},init:function(){var e,t,n,i,r,o,s,a,l,c,u,d=this,h=d.settings,f=d.getElement(),p=[];if(d.rtl=h.rtl_ui||d.editorManager.i18n.rtl,d.editorManager.i18n.setCode(h.language),h.aria_label=h.aria_label||P.getAttrib(f,"aria-label",d.getLang("aria.rich_text_area")),d.fire("ScriptsLoaded"),h.theme&&("function"!=typeof h.theme?(h.theme=h.theme.replace(/-/,""),o=M.get(h.theme),d.theme=new o(d,M.urls[h.theme]),d.theme.init&&d.theme.init(d,M.urls[h.theme]||d.documentBaseUrl.replace(/\/$/,""),d.$)):d.theme=h.theme),B(h.plugins.replace(/\-/g,"").split(/[ ,]/),function t(e){var n,i,r=I.get(e);if(n=I.urls[e]||d.documentBaseUrl.replace(/\/$/,""),e=F(e),r&&-1===H(p,e)){if(B(I.dependencies(e),function(e){t(e)}),d.plugins[e])return;i=new r(d,n,d.$),(d.plugins[e]=i).init&&(i.init(d,n),p.push(e))}}),h.render_ui&&d.theme&&(d.orgDisplay=f.style.display,"function"!=typeof h.theme?(e=h.width||f.style.width||f.offsetWidth,t=h.height||f.style.height||f.offsetHeight,n=h.min_height||100,(c=/^[0-9\.]+(|px)$/i).test(""+e)&&(e=Math.max(parseInt(e,10),100)),c.test(""+t)&&(t=Math.max(parseInt(t,10),n)),r=d.theme.renderUI({targetNode:f,width:e,height:t,deltaWidth:h.delta_width,deltaHeight:h.delta_height}),h.content_editable||(t=(r.iframeHeight||t)+("number"==typeof t?r.deltaHeight||0:""))",h.document_base_url!=d.documentBaseUrl&&(d.iframeHTML+=''),!T.caretAfter&&h.ie7_compat&&(d.iframeHTML+=''),d.iframeHTML+='',!/#$/.test(document.location.href))for(u=0;u',d.loadedCSS[m]=!0}-1!=(a=h.body_id||"tinymce").indexOf("=")&&(a=(a=d.getParam("body_id","","hash"))[d.id]||a),-1!=(l=h.body_class||"").indexOf("=")&&(l=(l=d.getParam("body_class","","hash"))[d.id]||""),h.content_security_policy&&(d.iframeHTML+=''),d.iframeHTML+='
    ';var g='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+d.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&T.ie&&T.ie<12&&(s=g);var v=P.create("iframe",{id:d.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:d.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:t,display:"block"}});if(v.onload=function(){v.onload=null,d.fire("load")},P.setAttrib(v,"src",s||'javascript:""'),d.contentAreaContainer=r.iframeContainer,d.iframeElement=v,i=P.add(r.iframeContainer,v),U)try{d.getDoc()}catch(e){i.src=s=g}r.editorContainer&&(P.get(r.editorContainer).style.display=d.orgDisplay,d.hidden=P.isHidden(r.editorContainer)),d.getElement().style.display="none",P.setAttrib(d.id,"aria-hidden",!0),s||d.initContentBody(),f=i=r=null},initContentBody:function(e){var t,n,a=this,i=a.settings,r=a.getElement(),o=a.getDoc();i.inline||(a.getElement().style.visibility=a.orgVisibility),e||i.content_editable||(o.open(),o.write(a.iframeHTML),o.close()),i.content_editable&&(a.on("remove",function(){var e=this.getBody();P.removeClass(e,"mce-content-body"),P.removeClass(e,"mce-edit-focus"),P.setAttrib(e,"contentEditable",null)}),P.addClass(r,"mce-content-body"),a.contentDocument=o=i.content_document||document,a.contentWindow=i.content_window||window,a.bodyElement=r,i.content_document=i.content_window=null,i.root_name=r.nodeName.toLowerCase()),(t=a.getBody()).disabled=!0,a.readonly=i.readonly,a.readonly||(a.inline&&"static"==P.getStyle(t,"position",!0)&&(t.style.position="relative"),t.contentEditable=a.getParam("content_editable_state",!0)),t.disabled=!1,a.editorUpload=new D(a),a.schema=new w(i),a.dom=new s(o,{keep_values:!0,url_converter:a.convertURL,url_converter_scope:a,hex_colors:i.force_hex_style_colors,class_filter:i.class_filter,update_styles:!0,root_element:a.inline?a.getBody():null,collect:i.content_editable,schema:a.schema,onSetAttrib:function(e){a.fire("SetAttrib",e)}}),a.parser=new C(i,a.schema),a.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var n,i,r,o=e.length,s=a.dom;o--;)if(i=(n=e[o]).attr(t),r="data-mce-"+t,!n.attributes.map[r]){if(0===i.indexOf("data:")||0===i.indexOf("blob:"))continue;"style"===t?((i=s.serializeStyle(s.parseStyle(i),n.name)).length||(i=null),n.attr(r,i),n.attr(t,i)):"tabindex"===t?(n.attr(r,i),n.attr(t,null)):n.attr(r,a.convertURL(i,t,n.name))}}),a.parser.addNodeFilter("script",function(e){for(var t,n,i=e.length;i--;)0!==(n=(t=e[i]).attr("type")||"no/type").indexOf("mce-")&&t.attr("type","mce-"+n)}),a.parser.addNodeFilter("#cdata",function(e){for(var t,n=e.length;n--;)(t=e[n]).type=8,t.name="#comment",t.value="[CDATA["+t.value+"]]"}),a.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t,n=e.length,i=a.schema.getNonEmptyElements();n--;)(t=e[n]).isEmpty(i)&&0===t.getAll("br").length&&(t.append(new u("br",1)).shortEnded=!0)}),a.serializer=new d(i,a),a.selection=new f(a.dom,a.getWin(),a.serializer,a),a.formatter=new p(a),a.undoManager=new m(a),a.forceBlocks=new v(a),a.enterKey=new g(a),a._nodeChangeDispatcher=new c(a),a._selectionOverrides=new R(a),a.fire("PreInit"),i.browser_spellcheck||i.gecko_spellcheck||(o.body.spellcheck=!1,P.setAttrib(t,"spellcheck","false")),a.quirks=new k(a),a.fire("PostRender"),i.directionality&&(t.dir=i.directionality),i.nowrap&&(t.style.whiteSpace="nowrap"),i.protect&&a.on("BeforeSetContent",function(t){B(i.protect,function(e){t.content=t.content.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})})}),a.on("SetContent",function(){a.addVisual(a.getBody())}),i.padd_empty_editor&&a.on("PostProcess",function(e){e.content=e.content.replace(/^(]*>( | |\s|\u00a0|
    |)<\/p>[\r\n]*|
    [\r\n]*)$/,"")}),a.load({initial:!0,format:"html"}),a.startContent=a.getContent({format:"raw"}),a.initialized=!0,a.bindPendingEventDelegates(),a.fire("init"),a.focus(!0),a.nodeChanged({initial:!0}),a.execCallback("init_instance_callback",a),a.on("compositionstart compositionend",function(e){a.composing="compositionstart"===e.type}),0',"TABLE"==o.nodeName?e=""+i+"":/^(UL|OL)$/.test(o.nodeName)&&(e="
  • "+i+"
  • "),(n=r.settings.forced_root_block)&&r.schema.isValidChild(o.nodeName.toLowerCase(),n.toLowerCase())?(e=i,e=r.dom.createHTML(n,r.settings.forced_root_block_attrs,e)):U||e||(e='
    '),r.dom.setHTML(o,e),r.fire("SetContent",t)):("raw"!==t.format&&(e=new h({validate:r.validate},r.schema).serialize(r.parser.parse(e,{isRootContent:!0}))),t.content=F(e),r.dom.setHTML(o,t.content),t.no_events||r.fire("SetContent",t)),t.content},getContent:function(e){var t,n=this.getBody();return(e=e||{}).format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||this.fire("BeforeGetContent",e),t="raw"==e.format?S.trim(this.serializer.getTrimmedContent()):"text"==e.format?n.innerText||n.textContent:this.serializer.serialize(n,e),"text"!=e.format?e.content=F(t):e.content=t,e.no_events||this.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=O({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire("dirty")},setMode:function(e){n.setMode(this,e)},getContainer:function(){return this.container||(this.container=P.get(this.editorContainer||this.id+"_parent")),this.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=P.get(this.id)),this.targetElm},getWin:function(){var e;return this.contentWindow||(e=this.iframeElement)&&(this.contentWindow=e.contentWindow),this.contentWindow},getDoc:function(){var e;return this.contentDocument||(e=this.getWin())&&(this.contentDocument=e.document),this.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var i=this.settings;return i.urlconverter_callback?this.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?this.documentBaseURI.toRelative(e):e=this.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n,i=this,r=i.settings,o=i.dom;e=e||i.getBody(),i.hasVisual===ye&&(i.hasVisual=r.visual),B(o.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return n=r.visual_table_class||"mce-item-table",void((t=o.getAttrib(e,"border"))&&"0"!=t||!i.hasVisual?o.removeClass(e,n):o.addClass(e,n));case"A":return void(o.getAttrib(e,"href",!1)||(t=o.getAttrib(e,"name")||e.id,n=r.visual_anchor_class||"mce-item-anchor",t&&i.hasVisual?o.addClass(e,n):o.removeClass(e,n)))}}),i.fire("VisualAid",{element:e,hasVisual:i.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&P.remove(e.getElement().nextSibling),e.inline||(U&&U<10&&e.getDoc().execCommand("SelectAll",!1,null),P.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),P.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t,n=this;n.destroyed||(e||n.removed?(e||(n.editorManager.off("beforeunload",n._beforeUnload),n.theme&&n.theme.destroy&&n.theme.destroy(),n.selection.destroy(),n.dom.destroy()),(t=n.formElement)&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,t._mceOldSubmit=null),P.unbind(t,"submit reset",n.formEventDelegate)),n.contentAreaContainer=n.formElement=n.container=n.editorContainer=null,n.bodyElement=n.contentDocument=n.contentWindow=null,n.iframeElement=n.targetElm=null,n.selection&&(n.selection=n.selection.win=n.selection.dom=n.selection.dom.doc=null),n.destroyed=1):n.remove())},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},t),q}),e("tinymce/util/I18n",["tinymce/util/Tools"],function(s){var a={},l="en";return{setCode:function(e){e&&(l=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return l},rtl:!1,add:function(e,t){var n=a[e];for(var i in n||(a[e]=n={}),t)n[i]=t[i];this.setCode(e)},translate:function(e){var t=a[l]||{};function n(e){return s.is(e,"function")?Object.prototype.toString.call(e):i(e)?"":""+e}function i(e){return""===e||null===e||s.is(e,"undefined")}function r(e){return e=n(e),s.hasOwn(t,e)?n(t[e]):e}if(i(e))return"";if(s.is(e,"object")&&s.hasOwn(e,"raw"))return n(e.raw);if(s.is(e,"array")){var o=e.slice(1);e=r(e[0]).replace(/\{([0-9]+)\}/g,function(e,t){return s.hasOwn(o,t)?n(o[t]):e})}return r(e).replace(/{context:\w+}$/,"")},data:a}}),e("tinymce/FocusManager",["tinymce/dom/DOMUtils","tinymce/util/Delay","tinymce/Env"],function(e,t,i){var r,a,l,c=e.DOM,u=function(t,e){var n=t?t.settings.custom_ui_selector:"";return null!==c.getParent(e,function(e){return o.isEditorUIElement(e)||!!n&&t.dom.is(e,n)})};function o(s){function n(){try{return document.activeElement}catch(e){return document.body}}s.on("AddEditor",function(e){var o=e.editor;o.on("init",function(){(o.inline||i.ie)&&("onbeforedeactivate"in document&&i.ie<9?o.dom.bind(o.getBody(),"beforedeactivate",function(e){if(e.target==o.getBody())try{o.lastRng=o.selection.getRng()}catch(e){}}):o.on("nodechange mouseup keyup",function(e){var t=n();"nodechange"==e.type&&e.selectionChange||(t&&t.id==o.id+"_ifr"&&(t=o.getBody()),o.dom.isChildOf(t,o.getBody())&&(o.lastRng=o.selection.getRng()))}),i.webkit&&!r&&(r=function(){var e=s.activeEditor;if(e&&e.selection){var t=e.selection.getRng();t&&!t.collapsed&&(o.lastRng=t)}},c.bind(document,"selectionchange",r)))}),o.on("setcontent",function(){o.lastRng=null}),o.on("mousedown",function(){o.selection.lastFocusBookmark=null}),o.on("focusin",function(){var e,t,n,i,r=s.focusedEditor;o.selection.lastFocusBookmark&&((n=(t=o).selection.lastFocusBookmark).startContainer?((i=t.getDoc().createRange()).setStart(n.startContainer,n.startOffset),i.setEnd(n.endContainer,n.endOffset)):i=n,e=i,o.selection.lastFocusBookmark=null,o.selection.setRng(e)),r!=o&&(r&&r.fire("blur",{focusedEditor:o}),s.setActive(o),(s.focusedEditor=o).fire("focus",{blurredEditor:r}),o.focus(!0)),o.lastRng=null}),o.on("focusout",function(){t.setEditorTimeout(o,function(){var e=s.focusedEditor;u(o,n())||e!=o||(o.fire("blur",{focusedEditor:null}),s.focusedEditor=null,o.selection&&(o.selection.lastFocusBookmark=null))})}),a||(a=function(e){var t,n=s.activeEditor;t=e.target,n&&t.ownerDocument==document&&(n.selection&&t!=n.getBody()&&(n.selection.lastFocusBookmark=function(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}(n.dom,n.lastRng)),t==document.body||u(n,t)||s.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),s.focusedEditor=null))},c.bind(document,"focusin",a)),o.inline&&!l&&(l=function(e){var t=s.activeEditor,n=t.dom;if(t.inline&&n&&!n.isChildOf(e.target,t.getBody())){var i=t.selection.getRng();i.collapsed||(t.lastRng=i)}},c.bind(document,"mouseup",l))}),s.on("RemoveEditor",function(e){s.focusedEditor==e.editor&&(s.focusedEditor=null),s.activeEditor||(c.unbind(document,"selectionchange",r),c.unbind(document,"focusin",a),c.unbind(document,"mouseup",l),r=a=l=null)})}return o.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},o._isUIElement=u,o}),e("tinymce/EditorManager",["tinymce/Editor","tinymce/dom/DomQuery","tinymce/dom/DOMUtils","tinymce/util/URI","tinymce/Env","tinymce/util/Tools","tinymce/util/Promise","tinymce/util/Observable","tinymce/util/I18n","tinymce/FocusManager","tinymce/AddOnManager"],function(f,p,e,l,t,m,r,n,i,c,o){var s,a,g=e.DOM,v=m.explode,y=m.each,b=m.extend,_=0,u=!1;function d(t){y(a.editors,function(e){"scroll"===t.type?e.fire("ScrollWindow",t):e.fire("ResizeWindow",t)})}function h(e,t){t!==u&&(t?p(window).on("resize scroll",d):p(window).off("resize scroll",d),u=t)}function x(e){var t,n=a.editors;delete n[e.id];for(var i=0;ii.length?null:(t=i.substring(r,n),r=n+1,t)}}(),t}),e("tinymce/Compat",["tinymce/dom/DOMUtils","tinymce/dom/EventUtils","tinymce/dom/ScriptLoader","tinymce/AddOnManager","tinymce/util/Tools","tinymce/Env"],function(e,t,n,i,r,o){var s=window.tinymce;return s.DOM=e.DOM,s.ScriptLoader=n.ScriptLoader,s.PluginManager=i.PluginManager,s.ThemeManager=i.ThemeManager,s.dom=s.dom||{},s.dom.Event=t.Event,r.each("trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix".split(" "),function(e){s[e]=r[e]}),r.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){s[e]=o[e.substr(2).toLowerCase()]}),{}}),e("tinymce/ui/Layout",["tinymce/util/Class","tinymce/util/Tools"],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t,n,i,r,o=this.settings;t=o.firstControlClass,n=o.lastControlClass,e.each(function(e){e.classes.remove(t).remove(n).add(o.controlClass),e.visible()&&(i||(i=e),r=e)}),i&&i.classes.add(t),r&&r.classes.add(n)},renderHtml:function(e){var t="";return this.applyClasses(e.items()),e.items().each(function(e){t+=e.renderHtml()}),t},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),e("tinymce/ui/AbsoluteLayout",["tinymce/ui/Layout"],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'
    '+this._super(e)}})}),e("tinymce/ui/Button",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t,n=this;n._super(e),e=n.settings,t=n.settings.size,n.on("click mousedown",function(e){e.preventDefault()}),n.on("touchstart",function(e){n.fire("click",e),e.preventDefault()}),e.subtype&&n.classes.add(e.subtype),t&&n.classes.add("btn-"+t),e.icon&&n.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e,t=this.getEl().firstChild;t&&((e=t.style).width=e.height="100%"),this._super()},renderHtml:function(){var e,t=this._id,n=this.classPrefix,i=this.state.get("icon"),r=this.state.get("text"),o="";return e=(e=this.settings.image)?(i="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",r&&(this.classes.add("btn-has-text"),o=''+this.encode(r)+""),i=i?n+"ico "+n+"i-"+i:"",'
    "},bindStates:function(){var o=this,n=o.$,i=o.classPrefix+"txt";function s(e){var t=n("span."+i,o.getEl());e?(t[0]||(n("button:first",o.getEl()).append(''),t=n("span."+i,o.getEl())),t.html(o.encode(e))):t.remove(),o.classes.toggle("btn-has-text",!!e)}return o.state.on("change:text",function(e){s(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r),s(o.state.get("text"))}),o._super()}})}),e("tinymce/ui/ButtonGroup",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this._layout;return this.classes.add("btn-group"),this.preRender(),e.preRender(this),'
    '+(this.settings.html||"")+e.renderHtml(this)+"
    "}})}),e("tinymce/ui/Checkbox",["tinymce/ui/Widget"],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this._id,t=this.classPrefix;return'
    '+this.encode(this.state.get("text"))+"
    "},bindStates:function(){var o=this;function t(e){o.classes.toggle("checked",e),o.aria("checked",e)}return o.state.on("change:text",function(e){o.getEl("al").firstChild.data=o.translate(e.value)}),o.state.on("change:checked change:value",function(e){o.fire("change"),t(e.value)}),o.state.on("change:icon",function(e){var t=e.value,n=o.classPrefix;if(void 0===t)return o.settings.icon;t=(o.settings.icon=t)?n+"ico "+n+"i-"+o.settings.icon:"";var i=o.getEl().firstChild,r=i.getElementsByTagName("i")[0];t?(r&&r==i.firstChild||(r=document.createElement("i"),i.insertBefore(r,i.firstChild)),r.className=t):r&&i.removeChild(r)}),o.state.get("checked")&&t(!0),o._super()}})}),e("tinymce/ui/ComboBox",["tinymce/ui/Widget","tinymce/ui/Factory","tinymce/ui/DomUtils","tinymce/dom/DomQuery","tinymce/util/VK","tinymce/util/Tools"],function(e,o,l,c,i,n){return e.extend({init:function(i){var r=this;r._super(i),i=r.settings,r.classes.add("combobox"),r.subinput=!0,r.ariaTarget="inp",i.menu=i.menu||i.values,i.menu&&(i.icon="caret"),r.on("click",function(e){var t=e.target,n=r.getEl();if(c.contains(n,t)||t==n)for(;t&&t!=n;)t.id&&-1!=t.id.indexOf("-open")&&(r.fire("action"),i.menu&&(r.showMenu(),e.aria&&r.menu.items()[0].focus())),t=t.parentNode}),r.on("keydown",function(e){var t;13==e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),r.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),r.fire("submit",{data:t.toJSON()}))}),r.on("keyup",function(e){if("INPUT"==e.target.nodeName){var t=r.state.get("value"),n=e.target.value;n!==t&&(r.state.set("value",n),r.fire("autocomplete",e))}}),r.on("mouseover",function(e){var t=r.tooltip().moveTo(-65535);if(r.statusLevel()&&-1!==e.target.className.indexOf(r.classPrefix+"status")){var n=r.statusMessage()||"Ok",i=t.text(n).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);t.classes.toggle("tooltip-n","bc-tc"==i),t.classes.toggle("tooltip-nw","bc-tl"==i),t.classes.toggle("tooltip-ne","bc-tr"==i),t.moveRel(e.target,i)}})},statusLevel:function(e){return 0
';return r}()+'
','
'+e+"
"}})}),e("tinymce/ui/Path",["tinymce/ui/Widget"],function(e){return e.extend({init:function(e){var n=this;e.delimiter||(e.delimiter="»"),n._super(e),n.classes.add("path"),n.canFocus=!0,n.on("click",function(e){var t;(t=e.target.getAttribute("data-index"))&&n.fire("select",{value:n.row()[t],index:t})}),n.row(n.settings.row)},focus:function(){return this.getEl().firstChild.focus(),this},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){return'
'+this._getDataPathHtml(this.state.get("row"))+"
"},bindStates:function(){var t=this;return t.state.on("change:row",function(e){t.innerHtml(t._getDataPathHtml(e.value))}),t._super()},_getDataPathHtml:function(e){var t,n,i=e||[],r="",o=this.classPrefix;for(t=0,n=i.length;t
":"")+'
'+i[t].name+"
";return r||(r='
 
'),r}})}),e("tinymce/ui/ElementPath",["tinymce/ui/Path"],function(e){return e.extend({postRender:function(){var o=this,s=o.settings.editor;function a(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}return!1!==s.settings.elementpath&&(o.on("select",function(e){s.focus(),s.selection.select(this.row()[e.index].element),s.nodeChanged()}),s.on("nodeChange",function(e){for(var t=[],n=e.parents,i=n.length;i--;)if(1==n[i].nodeType&&!a(n[i])){var r=s.fire("ResolveName",{name:n[i].nodeName.toLowerCase(),target:n[i]});if(r.isDefaultPrevented()||t.push({name:r.name,element:n[i]}),r.isPropagationStopped())break}o.row(t)})),o._super()}})}),e("tinymce/ui/FormItem",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'
'+(e.settings.title?'
'+e.settings.title+"
":"")+'
'+(e.settings.html||"")+t.renderHtml(e)+"
"}})}),e("tinymce/ui/Form",["tinymce/ui/Container","tinymce/ui/FormItem","tinymce/util/Tools"],function(e,r,o){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var i=this,e=i.items();i.settings.formItemDefaults||(i.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),e.each(function(e){var t,n=e.settings.label;n&&((t=new r(o.extend({items:{type:"label",id:e._id+"-l",text:n,flex:0,forId:e._id,disabled:e.disabled()}},i.settings.formItemDefaults))).type="formitem",e.aria("labelledby",e._id+"-l"),void 0===e.settings.flex&&(e.settings.flex=1),i.replace(e,t),t.add(e))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){this._super(),this.fromJSON(this.settings.data)},bindStates:function(){var n=this;function e(){var e,t,i=0,r=[];if(!1!==n.settings.labelGapCalc)for(("children"==n.settings.labelGapCalc?n.find("formitem"):n.items()).filter("formitem").each(function(e){var t=e.items()[0],n=t.getEl().clientWidth;i=i'+(e.settings.title?''+e.settings.title+"":"")+'
'+(e.settings.html||"")+t.renderHtml(e)+"
"}})}),e("tinymce/content/LinkTargets",["tinymce/dom/DOMUtils","tinymce/util/Fun","tinymce/util/Arr","tinymce/util/Uuid","tinymce/util/Tools","tinymce/dom/NodeType"],function(i,r,o,s,e,n){var t=e.trim,a=function(e,t,n,i,r){return{type:e,title:t,url:n,level:i,attach:r}},l=function(e){return e.innerText||e.textContent},c=function(e){return(t=e)&&"A"===t.nodeName&&(t.id||t.name)&&d(e);var t},u=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},d=function(e){return function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return n.isContentEditableTrue(e)}return!1}(e)&&!n.isContentEditableFalse(e)},h=function(e){return u(e)&&d(e)},f=function(e){var t,n,i=(t=e).id?t.id:s.uuid("h");return a("header",l(e),"#"+i,u(n=e)?parseInt(n.nodeName.substr(1),10):0,function(){e.id=i})},p=function(e){var t=e.id||e.name,n=l(e);return a("anchor",n||"#"+t,"#"+t,0,r.noop)},m=function(e){var t,n;return t="h1,h2,h3,h4,h5,h6,a:not([href])",n=e,i.DOM.select(t,n)},g=function(e){return 0",s)),null!==a&&o.push(g("",a)),o))],h.reduce(r,function(e,t){return 0===e.length||0===t.length?e.concat(t):e.concat(l,t)},[])):y(e,c(p))},y=function(e,t){var n=e.toLowerCase(),i=d.grep(t,function(e){return-1!==e.title.toLowerCase().indexOf(n)});return 1===i.length&&i[0].title===e?[]:i},c=function(r,i,o,s){var t=function(e){var t=a.find(o),n=l(e,t,s,i);r.showAutoComplete(n,e)};r.on("autocomplete",function(){t(r.value())}),r.on("selectitem",function(e){var t=e.value;r.value(t.url);var n,i=(n=t.title).raw?n.raw:n;"image"===s?r.fire("change",{meta:{alt:i,attach:t.attach}}):r.fire("change",{meta:{text:i,attach:t.attach}}),r.focus()}),r.on("click",function(e){0===r.value().length&&"INPUT"===e.target.nodeName&&t("")}),r.on("PostRender",function(){r.getRoot().on("submit",function(e){var t,n,i;e.isDefaultPrevented()||(t=r.value(),i=p[n=s],/^https?/.test(t)&&(i?-1===h.indexOf(i,t)&&(p[n]=i.slice(0,5).concat(t)):p[n]=[t]))})})},u=function(o,e,n){var i=e.filepicker_validator_handler;if(i){o.state.on("change:value",function(e){var t;0!==(t=e.value).length?i({url:t,type:n},function(e){var t,n,i,r=(n=(t=e).status,i=t.message,"valid"===n?{status:"ok",message:i}:"unknown"===n?{status:"warn",message:i}:"invalid"===n?{status:"warn",message:i}:{status:"none",message:""});o.statusMessage(r.message),o.statusLevel(r.status)}):o.statusLevel("none")})}};return e.extend({init:function(e){var t,n,i,r=this,o=tinymce.activeEditor,s=o.settings,a=e.filetype;e.spellcheck=!1,(i=s.file_picker_types||s.file_browser_callback_types)&&(i=d.makeMap(i,/[, ]/)),i&&!i[a]||(!(n=s.file_picker_callback)||i&&!i[a]?!(n=s.file_browser_callback)||i&&!i[a]||(t=function(){n(r.getEl("inp").id,r.value(),a,window)}):t=function(){var e=r.fire("beforecall").meta;e=d.extend({filetype:a},e),n.call(o,function(e,t){r.value(e).fire("change",{meta:t})},r.value(),e)}),t&&(e.icon="browse",e.onaction=t),r._super(e),c(r,s,o.getBody(),a),u(r,s,a)}})}),e("tinymce/ui/FitLayout",["tinymce/ui/AbsoluteLayout"],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),e("tinymce/ui/FlexLayout",["tinymce/ui/AbsoluteLayout"],function(e){return e.extend({recalc:function(e){var t,n,i,r,o,s,a,l,c,u,d,h,f,p,m,g,v,y,b,_,x,w,C,k,T,S,E,N,D,R,A,P,M,I,O,B,L,H=[],F=Math.max,z=Math.min;for(i=e.items().filter(":visible"),r=e.layoutRect(),o=e.paddingBox,s=e.settings,h=e.isRtl()?s.direction||"row-reversed":s.direction,a=s.align,l=e.isRtl()?s.pack||"end":s.pack,c=s.spacing||0,"row-reversed"!=h&&"column-reverse"!=h||(i=i.set(i.toArray().reverse()),h=h.split("-")[0]),L="column"==h?(k="y",w="h",C="minH",T="maxH",E="innerH",S="top",N="deltaH",D="contentH",I="left",P="w",R="x",A="innerW",M="minW",O="right",B="deltaW","contentW"):(k="x",w="w",C="minW",T="maxW",E="innerW",S="left",N="deltaW",D="contentW",I="top",P="h",R="y",A="innerH",M="minH",O="bottom",B="deltaH","contentH"),d=r[E]-o[S]-o[S],x=u=0,t=0,n=i.length;tD[d]?k:D[d],R[h]=T>R[h]?T:R[h];for(S=o.innerW-g.left-g.right,d=w=0;d'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,t&&t()):r.setTimeout(function(){n.html(e)}),this}})}),e("tinymce/ui/InfoBox",["tinymce/ui/Widget"],function(e){return e.extend({init:function(e){this._super(e),this.classes.add("widget").add("infobox"),this.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this.classPrefix;return'
'+this.encode(this.state.get("text"))+'
'},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.getEl("body").firstChild.data=t.encode(e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t.state.on("change:help",function(e){t.classes.toggle("has-help",e.value),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}})}),e("tinymce/ui/Label",["tinymce/ui/Widget","tinymce/ui/DomUtils"],function(e,t){return e.extend({init:function(e){this._super(e),this.classes.add("widget").add("label"),this.canFocus=!1,e.multiline&&this.classes.add("autoscroll"),e.strong&&this.classes.add("strong")},initLayoutRect:function(){var e=this._super();this.settings.multiline&&(t.getSize(this.getEl()).width>e.maxW&&(e.minW=e.maxW,this.classes.add("multiline")),this.getEl().style.width=e.minW+"px",e.startMinH=e.h=e.minH=Math.min(e.maxH,t.getSize(this.getEl()).height));return e},repaint:function(){return this.settings.multiline||(this.getEl().style.lineHeight=this.layoutRect().h+"px"),this._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e,t,n=this,i=n.settings.forId;return!i&&(t=n.settings.forName)&&(e=n.getRoot().find("#"+t)[0])&&(i=e._id),i?'":''+n.encode(n.state.get("text"))+""},bindStates:function(){var t=this;return t.state.on("change:text",function(e){t.innerHtml(t.encode(e.value)),t.state.get("rendered")&&t.updateLayoutRect()}),t._super()}})}),e("tinymce/ui/Toolbar",["tinymce/ui/Container"],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){this._super(e),this.classes.add("toolbar")},postRender:function(){return this.items().each(function(e){e.classes.add("toolbar-item")}),this._super()}})}),e("tinymce/ui/MenuBar",["tinymce/ui/Toolbar"],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),e("tinymce/ui/MenuButton",["tinymce/ui/Button","tinymce/ui/Factory","tinymce/ui/MenuBar"],function(e,i,a){var o=e.extend({init:function(e){this._renderOpen=!0,this._super(e),e=this.settings,this.classes.add("menubtn"),e.fixedWidth&&this.classes.add("fixed-width"),this.aria("haspopup",!0),this.state.set("menu",e.menu||this.render())},showMenu:function(e){var t,n=this;if(n.menu&&n.menu.visible()&&!1!==e)return n.hideMenu();n.menu||((t=n.state.get("menu")||[]).length?t={type:"menu",items:t}:t.type=t.type||"menu",t.renderTo?n.menu=t.parent(n).show().renderTo():n.menu=i.create(t).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control==n.menu&&n.activeMenu("show"==e.type),n.aria("expanded","show"==e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),n.fire("showmenu")},hideMenu:function(){this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.settings.icon,o=t.state.get("text"),s="";return e=(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",o&&(t.classes.add("btn-has-text"),s=''+t.encode(o)+""),r=t.settings.icon?i+"ico "+i+"i-"+r:"",t.aria("role",t.parent()instanceof a?"menuitem":"button"),'
'},postRender:function(){var r=this;return r.on("click",function(e){e.control===r&&function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}(e.target,r.getEl())&&(r.focus(),r.showMenu(!e.aria),e.aria&&r.menu.items().filter(":visible")[0].focus())}),r.on("mouseenter",function(e){var t,n=e.control,i=r.parent();n&&i&&n instanceof o&&n.parent()==i&&(i.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(t=!0),e.hideMenu())}),t&&(n.focus(),n.showMenu()))}),r._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return o}),e("tinymce/ui/MenuItem",["tinymce/ui/Widget","tinymce/ui/Factory","tinymce/Env","tinymce/util/Delay"],function(e,o,f,r){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t,n=this;n._super(e),e=n.settings,n.classes.add("menu-item"),e.menu&&n.classes.add("menu-item-expand"),e.preview&&n.classes.add("menu-item-preview"),"-"!==(t=n.state.get("text"))&&"|"!==t||(n.classes.add("menu-item-sep"),n.aria("role","separator"),n.state.set("text","-")),e.selectable&&(n.aria("role","menuitemcheckbox"),n.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||n.classes.add("menu-item-normal"),n.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&n.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var t,n=this,e=n.settings,i=n.parent();if(i.items().each(function(e){e!==n&&e.hideMenu()}),e.menu){(t=n.menu)?t.show():((t=e.menu).length?t={type:"menu",items:t}:t.type=t.type||"menu",i.settings.itemDefaults&&(t.itemDefaults=i.settings.itemDefaults),(t=n.menu=o.create(t).parent(n).renderTo()).reflow(),t.on("cancel",function(e){e.stopPropagation(),n.focus(),t.hide()}),t.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),t.on("hide",function(e){e.control===t&&n.classes.remove("selected")}),t.submenu=!0),t._parentMenu=i,t.classes.add("menu-sub");var r=t.testMoveRel(n.getEl(),n.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);t.moveRel(n.getEl(),r),r="menu-sub-"+(t.rel=r),t.classes.remove(t._lastRel).add(r),t._lastRel=r,n.classes.add("selected"),n.aria("expanded",!0)}},hideMenu:function(){return this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide(),this.aria("expanded",!1)),this},renderHtml:function(){var e,t=this,n=t._id,i=t.settings,r=t.classPrefix,o=t.state.get("text"),s=t.settings.icon,a="",l=i.shortcut,c=t.encode(i.url);function u(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(e){var t=i.match||"";return t?e.replace(new RegExp(u(t),"gi"),function(e){return"!mce~match["+e+"]mce~match!"}):e}function h(e){return e.replace(new RegExp(u("!mce~match["),"g"),"").replace(new RegExp(u("]mce~match!"),"g"),"")}return s&&t.parent().classes.add("menu-has-icons"),i.image&&(a=" style=\"background-image: url('"+i.image+"')\""),l&&(l=function(e){var t,n,i={};for(i=f.mac?{alt:"⌥",ctrl:"⌘",shift:"⇧",meta:"⌘"}:{meta:"Ctrl"},e=e.split("+"),t=0;t ":"",o=h(t.encode(d(o))),c=h(t.encode(d(c))),'
'+e+("-"!==o?''+o+"":"")+(l?'
'+l+"
":"")+(i.menu?'
':"")+(c?'":"")+"
"},postRender:function(){var t=this,n=t.settings,e=n.textStyle;if("function"==typeof e&&(e=e.call(this)),e){var i=t.getEl("text");i&&i.setAttribute("style",e)}return t.on("mouseenter click",function(e){e.control===t&&(n.menu||"click"!==e.type?(t.showMenu(),e.aria&&t.menu.focus(!0)):(t.fire("select"),r.requestAnimationFrame(function(){t.parent().hideAll()})))}),t._super(),t},hover:function(){return this.parent().items().each(function(e){e.classes.remove("selected")}),this.classes.toggle("selected",!0),this},active:function(e){return void 0!==e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),e("tinymce/ui/Throbber",["tinymce/dom/DomQuery","tinymce/ui/Control","tinymce/util/Delay"],function(c,e,u){return function(i,r){var o,s,a=this,l=e.classPrefix;a.show=function(e,t){function n(){o&&(c(i).append('
'),t&&t())}return a.hide(),o=!0,e?s=u.setTimeout(n,e):n(),a},a.hide=function(){var e=i.lastChild;return u.clearTimeout(s),e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,a}}}),e("tinymce/ui/Menu",["tinymce/ui/FloatPanel","tinymce/ui/MenuItem","tinymce/ui/Throbber","tinymce/util/Tools"],function(e,t,r,i){return e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var t=e.items,n=t.length;n--;)t[n]=i.extend({},e.itemDefaults,t[n]);this._super(e),this.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){this.hideAll(),this.fire("select")},load:function(){var t,n=this;function i(){n.throbber&&(n.throbber.hide(),n.throbber=null)}n.settings.itemsFactory&&(n.throbber||(n.throbber=new r(n.getEl("body"),!0),0===n.items().length?(n.throbber.show(),n.fire("loading")):n.throbber.show(100,function(){n.items().remove(),n.fire("loading")}),n.on("hide close",i)),n.requestTime=t=(new Date).getTime(),n.settings.itemsFactory(function(e){0!==e.length?n.requestTime===t&&(n.getEl().style.width="",n.getEl("body").style.width="",i(),n.items().remove(),n.getEl("body").innerHTML="",n.add(e),n.renderNew(),n.fire("loaded")):n.hide()}))},hideAll:function(){return this.find("menuitem").exec("hideMenu"),this._super()},preRender:function(){var n=this;return n.items().each(function(e){var t=e.settings;if(t.icon||t.image||t.selectable)return!(n._hasIcons=!0)}),n.settings.itemsFactory&&n.on("postrender",function(){n.settings.itemsFactory&&n.load()}),n._super()}})}),e("tinymce/ui/ListBox",["tinymce/ui/MenuButton","tinymce/ui/Menu"],function(e,r){return e.extend({init:function(i){var e,r,o,n,s=this;s._super(i),i=s.settings,s._values=e=i.values,e&&(void 0!==i.value&&function e(t){for(var n=0;n'},postRender:function(){var t=this;t._super(),t.resizeDragHelper=new n(this._id,{start:function(){t.fire("ResizeStart")},drag:function(e){"both"!=t.settings.direction&&(e.deltaX=0),t.fire("Resize",e)},stop:function(){t.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),e("tinymce/ui/SelectBox",["tinymce/ui/Widget"],function(e){function n(e){var t="";if(e)for(var n=0;n'+e[n]+"";return t}return e.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var n=this;n._super(e),n.settings.size&&(n.size=n.settings.size),n.settings.options&&(n._options=n.settings.options),n.on("keydown",function(e){var t;13==e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e,t="";return e=n(this._options),this.size&&(t=' size = "'+this.size+'"'),'"},bindStates:function(){var t=this;return t.state.on("change:options",function(e){t.getEl().innerHTML=n(e.value)}),t._super()}})}),e("tinymce/ui/Slider",["tinymce/ui/Widget","tinymce/ui/DragHelper","tinymce/ui/DomUtils"],function(e,m,g){function v(e,t,n){return e
'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var e,t,n,i,r,o,s,a,l,c,u,d,h,f,p=this;e=p._minValue,t=p._maxValue,o="v"==p.settings.orientation?(n="screenY",i="top",r="height","h"):(n="screenX",i="left",r="width","w"),p._super(),function(o,s){function t(e){var t,n,i,r;t=v(t=(((t=p.value())+(r=n=o))/((i=s)-r)+.05*e)*(i-n)-n,o,s),p.value(t),p.fire("dragstart",{value:t}),p.fire("drag",{value:t}),p.fire("dragend",{value:t})}p.on("keydown",function(e){switch(e.keyCode){case 37:case 38:t(-1);break;case 39:case 40:t(1)}})}(e,t,p.getEl("handle")),s=e,a=t,l=p.getEl("handle"),p._dragHelper=new m(p._id,{handle:p._id+"-handle",start:function(e){c=e[n],u=parseInt(p.getEl("handle").style[i],10),d=(p.layoutRect()[o]||100)-g.getSize(l)[r],p.fire("dragstart",{value:f})},drag:function(e){var t=e[n]-c;h=v(u+t,0,d),l.style[i]=h+"px",f=s+h/d*(a-s),p.value(f),p.tooltip().text(""+p.settings.previewFilter(f)).show().moveRel(l,"bc tc"),p.fire("drag",{value:f})},stop:function(){p.tooltip().hide(),p.fire("dragend",{value:f})}})},repaint:function(){this._super(),n(this,this.value())},bindStates:function(){var t=this;return t.state.on("change:value",function(e){n(t,e.value)}),t._super()}})}),e("tinymce/ui/Spacer",["tinymce/ui/Widget"],function(e){return e.extend({renderHtml:function(){return this.classes.add("spacer"),this.canFocus=!1,'
'}})}),e("tinymce/ui/SplitButton",["tinymce/ui/MenuButton","tinymce/ui/DomUtils","tinymce/dom/DomQuery"],function(e,r,o){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e,t,n=this.getEl(),i=this.layoutRect();return this._super(),e=n.firstChild,t=n.lastChild,o(e).css({width:i.w-r.getSize(t).width,height:i.h-2}),o(t).css({height:i.h-2}),this},activeMenu:function(e){o(this.getEl().lastChild).toggleClass(this.classPrefix+"active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.state.get("icon"),o=t.state.get("text"),s="";return e=(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1])," style=\"background-image: url('"+e+"')\""):"",r=t.settings.icon?i+"ico "+i+"i-"+r:"",o&&(t.classes.add("btn-has-text"),s=''+t.encode(o)+""),'
'},postRender:function(){var n=this.settings.onclick;return this.on("click",function(e){var t=e.target;if(e.control==this)for(;t;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==t.nodeName&&-1==t.className.indexOf("open"))return e.stopImmediatePropagation(),void(n&&n.call(this,e));t=t.parentNode}}),delete this.settings.onclick,this._super()}})}),e("tinymce/ui/StackLayout",["tinymce/ui/FlowLayout"],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),e("tinymce/ui/TabPanel",["tinymce/ui/Panel","tinymce/dom/DomQuery","tinymce/ui/DomUtils"],function(e,t,r){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(n){var e;this.activeTabId&&(e=this.getEl(this.activeTabId),t(e).removeClass(this.classPrefix+"active"),e.setAttribute("aria-selected","false")),this.activeTabId="t"+n,(e=this.getEl("t"+n)).setAttribute("aria-selected","true"),t(e).addClass(this.classPrefix+"active"),this.items()[n].show().fire("showtab"),this.reflow(),this.items().each(function(e,t){n!=t&&e.hide()})},renderHtml:function(){var i=this,e=i._layout,r="",o=i.classPrefix;return i.preRender(),e.preRender(i),i.items().each(function(e,t){var n=i._id+"-t"+t;e.aria("role","tabpanel"),e.aria("labelledby",n),r+='"}),'
'+r+'
'+e.renderHtml(i)+"
"},postRender:function(){var i=this;i._super(),i.settings.activeTab=i.settings.activeTab||0,i.activateTab(i.settings.activeTab),this.on("click",function(e){var t=e.target.parentNode;if(t&&t.id==i._id+"-head")for(var n=t.childNodes.length;n--;)t.childNodes[n]==e.target&&i.activateTab(n)})},initLayoutRect:function(){var e,t,n;t=(t=r.getSize(this.getEl("head")).width)<0?0:t,n=0,this.items().each(function(e){t=Math.max(t,e.layoutRect().minW),n=Math.max(n,e.layoutRect().minH)}),this.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=t,e.settings.h=n,e.layoutRect({x:0,y:0,w:t,h:n})});var i=r.getSize(this.getEl("head")).height;return this.settings.minWidth=t,this.settings.minHeight=n+i,(e=this._super()).deltaH+=i,e.innerH=e.h-e.deltaH,e}})}),e("tinymce/ui/TextBox",["tinymce/ui/Widget","tinymce/util/Tools","tinymce/ui/DomUtils"],function(e,i,r){return e.extend({init:function(e){var n=this;n._super(e),n.classes.add("textbox"),e.multiline?n.classes.add("multiline"):(n.on("keydown",function(e){var t;13==e.keyCode&&(e.preventDefault(),n.parents().reverse().each(function(e){if(e.toJSON)return t=e,!1}),n.fire("submit",{data:t.toJSON()}))}),n.on("keyup",function(e){n.state.set("value",e.target.value)}))},repaint:function(){var e,t,n,i,r,o=0;e=this.getEl().style,t=this._layoutRect,r=this._lastRepaintRect||{};var s=document;return!this.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(e.lineHeight=t.h-o+"px"),i=(n=this.borderBox).left+n.right+8,o=n.top+n.bottom+(this.settings.multiline?8:0),t.x!==r.x&&(e.left=t.x+"px",r.x=t.x),t.y!==r.y&&(e.top=t.y+"px",r.y=t.y),t.w!==r.w&&(e.width=t.w-i+"px",r.w=t.w),t.h!==r.h&&(e.height=t.h-o+"px",r.h=t.h),this._lastRepaintRect=r,this.fire("repaint",{},!1),this},renderHtml:function(){var t,e,n=this.settings;return t={id:this._id,hidefocus:"1"},i.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){t[e]=n[e]}),this.disabled()&&(t.disabled="disabled"),n.subtype&&(t.type=n.subtype),(e=r.create(n.multiline?"textarea":"input",t)).value=this.state.get("value"),e.className=this.classes,e.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var t=this;t.getEl().value=t.state.get("value"),t._super(),t.$el.on("change",function(e){t.state.set("value",e.target.value),t.fire("change",e)})},bindStates:function(){var t=this;return t.state.on("change:value",function(e){t.getEl().value!=e.value&&(t.getEl().value=e.value)}),t.state.on("change:disabled",function(e){t.getEl().disabled=e.value}),t._super()},remove:function(){this.$el.off(),this._super()}})}),e("tinymce/Register",[],function(){var e=this||window;return"function"==typeof e.define&&(e.define.amd||e.define("ephox/tinymce",[],function(){return e.tinymce})),"object"==typeof module&&(module.exports=window.tinymce),{}}),function(e){var t,n,i,r,o;for(t=0;t ctrl+shift+p","",function(){var e=a(y.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.items()[0].focus()})}}}),n("tinymce.modern.ui.A11y",[],function(){var n=function(t,n){return function(){var e=t.find(n)[0];e&&e.focus(!0)}};return{addKeys:function(e,t){e.shortcuts.add("Alt+F9","",n(t,"menubar")),e.shortcuts.add("Alt+F10,F10","",n(t,"toolbar")),e.shortcuts.add("Alt+F11","",n(t,"elementpath")),t.on("cancel",function(){e.focus()})}}}),n("tinymce.modern.ui.Sidebar",["global!tinymce.util.Tools","global!tinymce.ui.Factory","global!tinymce.Env"],function(f,p,t){var m=function(e,t,n){var i,r=e.settings[n];r&&r((i=t.getEl("body"),{element:function(){return i}}))},i=function(u,d,h){return function(e){var t,n,i,r,o,s=e.control,a=s.parents().filter("panel")[0],l=a.find("#"+d)[0],c=(t=h,n=d,f.grep(t,function(e){return e.name===n})[0]);i=d,r=a,o=h,f.each(o,function(e){var t=r.items().filter("#"+e.name)[0];t&&t.visible()&&e.name!==i&&(m(e,t,"onhide"),t.visible(!1))}),s.parent().items().each(function(e){e.active(!1)}),l&&l.visible()?(m(c,l,"onhide"),l.hide(),s.active(!1)):(l?l.show():(l=p.create({type:"container",name:d,layout:"stack",classes:"sidebar-panel",html:""}),a.prepend(l),m(c,l,"onrender")),m(c,l,"onshow"),s.active(!0)),u.fire("ResizeEditor")}};return{hasSidebar:function(e){return!(t.ie&&!(11<=t.ie)||!e.sidebars)&&0'),r.close()}}var o,s}function a(e){if(e){var t=(i=e).getAttribute("data-mce-href")||i.getAttribute("href");if(/^#/.test(t)){var n=y.$(t);n.length&&y.selection.scrollIntoView(n[0],!0)}else s(e.href)}var i}function e(){a(r())}function t(t){return function(){var e=y.settings.link_list;"string"==typeof e?tinymce.util.XHR.send({url:e,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof e?e(t):t(e)}}function _(e,r,t){return function n(e,i){return i=i||[],tinymce.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=n(e.menu):(t.value=e.value,r&&r(t)),i.push(t)}),i}(e,t||[])}function l(e){var t,o,s,i,a,n,r,l,c,u,d,h,f={},p=y.selection,m=y.dom;function g(e){var t=i.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),i.find("#href").value(e.control.value())}function v(){!s&&0===f.text.length&&a&&this.parent().parent().find("#text")[0].value(this.value())}t=p.getNode(),o=m.getParent(t,"a[href]"),a=function(e){var t=p.getContent();if(/]+>[^<]+<\/a>$/.test(t)||-1==t.indexOf("href=")))return!1;if(e){var n,i=e.childNodes;if(0===i.length)return!1;for(n=i.length-1;0<=n;n--)if(3!=i[n].nodeType)return!1}return!0}(),f.text=s=o?o.innerText||o.textContent:p.getContent({format:"text"}),f.href=o?m.getAttrib(o,"href"):"",o?f.target=m.getAttrib(o,"target"):y.settings.default_link_target&&(f.target=y.settings.default_link_target),(h=m.getAttrib(o,"rel"))&&(f.rel=h),(h=m.getAttrib(o,"class"))&&(f.class=h),(h=m.getAttrib(o,"title"))&&(f.title=h),a&&(n={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){f.text=this.value()}}),e&&(r={type:"listbox",label:"Link list",values:_(e,function(e){e.value=y.convertURL(e.value||e.url,"href")},[{text:"None",value:""}]),onselect:g,value:y.convertURL(f.href,"href"),onPostRender:function(){r=this}}),!1!==y.settings.target_list&&(y.settings.target_list||(y.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),c={name:"target",type:"listbox",label:"Target",values:_(y.settings.target_list)}),y.settings.rel_list&&(l={name:"rel",type:"listbox",label:"Rel",values:_(y.settings.rel_list)}),y.settings.link_class_list&&(u={name:"class",type:"listbox",label:"Class",values:_(y.settings.link_class_list,function(e){e.value&&(e.textStyle=function(){return y.formatter.getCssText({inline:"a",classes:[e.value]})})})}),!1!==y.settings.link_title&&(d={name:"title",type:"textbox",label:"Title",value:f.title}),i=y.windowManager.open({title:"Insert link",data:f,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(e){var t=e.meta||{};r&&r.value(y.convertURL(this.value(),"href")),tinymce.each(e.meta,function(e,t){var n=i.find("#"+t);"text"===t?0===s.length&&(n.value(e),f.text=e):n.value(e)}),t.attach&&(b={href:this.value(),attach:t.attach}),t.text||v.call(this)},onkeyup:v,onbeforecall:function(e){e.meta=i.toJSON()}},n,d,function(n){var i=[];if(tinymce.each(y.dom.select("a:not([href])"),function(e){var t=e.name||e.id;t&&i.push({text:t,value:"#"+t,selected:-1!=n.indexOf("#"+t)})}),i.length)return i.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:i,onselect:g}}(f.href),r,l,c,u],onSubmit:function(e){var t;function n(e,t){var n=y.selection.getRng();tinymce.util.Delay.setEditorTimeout(y,function(){y.windowManager.confirm(e,function(e){y.selection.setRng(n),t(e)})})}function i(){var e={href:t,target:f.target?f.target:null,rel:f.rel?f.rel:null,class:f.class?f.class:null,title:f.title?f.title:null};y.settings.allow_unsafe_link_target||(e.rel=function(e,t){var n,i="noopener noreferrer";function r(e){var t=new RegExp("("+i.replace(" ","|")+")","g");return e&&(e=tinymce.trim(e.replace(t,""))),e||null}return t?(n=r(n=e))?[n,i].join(" "):i:r(e)}(e.rel,"_blank"==e.target)),t===b.href&&(b.attach(),b={}),o?(y.focus(),a&&f.text!=s&&("innerText"in o?o.innerText=f.text:o.textContent=f.text),m.setAttribs(o,e),p.select(o),y.undoManager.add()):a?y.insertContent(m.createHTML("a",e,m.encode(f.text))):y.execCommand("mceInsertLink",!1,e)}function r(){y.undoManager.transact(i)}f=tinymce.extend(f,e.data),(t=f.href)?0")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})}),function(a,e){"use strict";var l={};function t(e,t,n){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(void 0===t)throw"invalid module definition, dependencies must be specified";if(void 0===n)throw"invalid module definition, definition function must be specified";!function(e,t){for(var n,i=[],r=0;r/g]),function e(t){var n=t.name,i=t;if("br"!==n)if(o[n]&&(r+=" "),s[n])r+=" ";else{if(3==t.type&&(r+=t.value),!t.shortEnded&&(t=t.firstChild))for(;e(t),t=t.next;);a[n]&&i.next&&(r+="\n","p"==n&&(r+="\n"))}else r+="\n"}(n.parse(e)),r},trimHtml:function(e){return e=u(function(e){var t="\x3c!--StartFragment--\x3e",n="\x3c!--EndFragment--\x3e",i=e.indexOf(t);if(-1!==i){var r=e.substr(i+t.length),o=r.indexOf(n);if(-1!==o&&/^<\/(p|h[1-6]|li)>/i.test(r.substr(o+n.length,5)))return r.substr(0,o)}return e}(e),[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,function(e,t,n){return t||n?" ":" "}],/
/g,/
$/i])},createIdGenerator:function(e){var t=0;return function(){return e+t++}},isMsEdge:function(){return-1!==navigator.userAgent.indexOf(" Edge/")}}}),t("tinymce/pasteplugin/SmartPaste",["tinymce/util/Tools"],function(r){var s=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},a=function(e){return s(e)&&/.(gif|jpe?g|png)$/.test(e)},o=function(e,t,n){return!(!1!==e.selection.isCollapsed()||!s(t))&&(r=t,o=n,(i=e).undoManager.extra(function(){o(i,r)},function(){i.execCommand("mceInsertLink",!1,r)}),!0);var i,r,o},l=function(e,t,n){return!!a(t)&&(r=t,o=n,(i=e).undoManager.extra(function(){o(i,r)},function(){i.insertContent('')}),!0);var i,r,o},c=function(e,t){return e.insertContent(t,{merge:!1!==e.settings.paste_merge_formats,paste:!0}),!0};return{isImageUrl:a,isAbsoluteUrl:s,insertContent:function(e,t){var n,i;!1===e.settings.smart_paste?c(e,t):(n=e,i=t,r.each([o,l,c],function(e){return!0!==e(n,i,c)}))}}}),t("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/util/Tools","tinymce/pasteplugin/Utils","tinymce/pasteplugin/SmartPaste","tinymce/util/Delay"],function(T,S,t,E,N,r,D){return function(f){var c,u,d,h=this,p=0,s=!1,a="%MCEPASTEBIN%",o="data:text/mce-internal,",m=N.createIdGenerator("mceclip");function g(e){var t,n=f.dom;if(t=f.fire("BeforePastePreProcess",{content:e}),e=(t=f.fire("PastePreProcess",t)).content,!t.isDefaultPrevented()){if(f.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var i=n.add(f.getBody(),"div",{style:"display:none"},e);t=f.fire("PastePostProcess",{node:i}),n.remove(i),e=t.node.innerHTML}t.isDefaultPrevented()||r.insertContent(f,e)}}function v(e){e=f.dom.encode(e).replace(/\r\n/g,"\n");var t,n=f.dom.getParent(f.selection.getStart(),f.dom.isBlock),i=f.settings.forced_root_block;i&&(t=(t=f.dom.createHTML(i,f.settings.forced_root_block_attrs)).substr(0,t.length-3)+">"),n&&/^(PRE|DIV)$/.test(n.nodeName)||!i?e=N.filter(e,[[/\n/g,"
"]]):-1!=(e=N.filter(e,[[/\n\n/g,"

"+t],[/^(.*<\/p>)(

)$/,t+"$1"],[/\n/g,"
"]])).indexOf("

")&&(e=t+e),g(e)}function y(){var e,o=f.dom,t=f.getBody(),n=f.dom.getViewPort(f.getWin()).y,i=20;if(u=f.selection.getRng(),f.inline&&(e=f.selection.getScrollContainer())&&0')}else g('')}function C(s,a){var e=s.clipboardData||s.dataTransfer;function t(e){var t,n,i,r=!1;if(e)for(t=0;t")?e["text/plain"]:N.innerText(i)),i!=a?n?v(i):g(i):t||f.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")}f.on("keydown",function(e){function t(e){n(e)&&!e.isDefaultPrevented()&&b()}if(n(e)&&!e.isDefaultPrevented()){if((d=e.shiftKey&&86==e.keyCode)&&T.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(e.stopImmediatePropagation(),p=(new Date).getTime(),T.ie&&d)return e.preventDefault(),void f.fire("paste",{ieFake:!0});b(),y(),f.once("keyup",t),f.once("paste",function(){f.off("keyup",t)})}});f.on("paste",function(e){var t,n,i=(new Date).getTime(),r=(t=x(e.clipboardData||f.getDoc().dataTransfer),N.isMsEdge()?E.extend(t,{"text/html":""}):t),o=(new Date).getTime()-i,s=(new Date).getTime()-p-o<1e3,a="text"==h.pasteFormat||d;(d=!1,e.isDefaultPrevented()||(n=e.clipboardData,-1!=navigator.userAgent.indexOf("Android")&&n&&n.items&&0===n.items.length))?b():w(r)||!C(e,u||f.selection.getRng())?(s||e.preventDefault(),!T.ie||s&&!e.ieFake||(y(),f.dom.bind(c,"paste",function(e){e.stopPropagation()}),f.getDoc().execCommand("Paste",!1,null),r["text/html"]=_()),k(r,"text/html")?(e.preventDefault(),l(r,s,a)):D.setEditorTimeout(f,function(){l(r,s,a)},0)):b()}),f.on("dragstart dragend",function(e){s="dragstart"==e.type}),f.on("drop",function(e){var t,n,i,r;if((i=e,n=S.getCaretRangeFromPoint(i.clientX,i.clientY,f.getDoc()),!e.isDefaultPrevented()&&!s)&&((w(t=x(e.dataTransfer))&&(!(r=t["text/plain"])||0!==r.indexOf("file://"))||!C(e,n))&&n&&!1!==f.settings.paste_filter_drop)){var o=t["mce-internal"]||t["text/html"]||t["text/plain"];o&&(e.preventDefault(),D.setEditorTimeout(f,function(){f.undoManager.transact(function(){t["mce-internal"]&&f.execCommand("Delete"),f.selection.setRng(n),o=N.trimHtml(o),t["text/html"]?g(o):v(o)})}))}}),f.on("dragover dragend",function(e){f.settings.paste_data_images&&e.preventDefault()})}h.pasteHtml=g,h.pasteText=v,h.pasteImageData=C,f.on("preInit",function(){e(),f.parser.addNodeFilter("img",function(e,t,n){function i(e){e.attr("data-mce-object")||o===T.transparentSrc||e.remove()}if(!f.settings.paste_data_images&&((s=n).data&&!0===s.data.paste))for(var r=e.length;r--;){var o=e[r].attributes.map.src;o&&(0===o.indexOf("webkit-fake-url")?i(e[r]):f.settings.allow_html_data_urls||0!==o.indexOf("data:")||i(e[r]))}var s})})}}),t("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(d,h,f,p,m,g){function v(e){return/]+id="?docs-internal-[^>]*>/gi,"")).replace(/
/gi,""),(s=u.paste_retain_style_properties)&&(a=d.makeMap(s.split(/[, ]/))),!1!==u.paste_enable_default_filters&&v(e.content)){e.wordContent=!0,t=g.filter(t,[//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi," "],[/([\s\u00a0]*)<\/span>/gi,function(e,t){return 0]+) style="([^"]*)"([^>]*>)/gi,function(e,t,n,i){var r=u.parseStyle(n,"span"),o={};if("none"===c)return t+i;for(var s=0;s]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,i){return t+' style="'+n+'"'+i})}),n.ie&&(e(function(e){if(!o.isWordContent(e))return e;var n=[];r.each(i.schema.getBlockElements(),function(e,t){n.push(t)});var t=new RegExp("(?:
 [\\s\\r\\n]+|
)*(<\\/?("+n.join("|")+")[^>]*>)(?:
 [\\s\\r\\n]+|
)*","g");return e=s.filter(e,[[t,"$1"]]),e=s.filter(e,[[/

/g,"

"],[/
/g," "],[/

/g,"
"]])}),t=function(e){i.$("a",e).find("font,u").each(function(e,t){i.dom.remove(t,!0)})},i.on("PastePostProcess",function(e){t(e.node)}))}}),t("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(s,a,l,c){var u;s.add("paste",function(n){var i,r=this,t=n.settings;function e(){if("text"==i.pasteFormat)i.pasteFormat="html",n.fire("PastePlainTextToggle",{state:!1});else if(i.pasteFormat="text",n.fire("PastePlainTextToggle",{state:!0}),!u&&!1!==n.settings.paste_plaintext_inform){var e=n.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");n.notificationManager.open({text:e,type:"info"}),u=!0}n.focus()}function o(){var t=this;t.active("text"===i.pasteFormat),n.on("PastePlainTextToggle",function(e){t.active(e.state)})}/(^|[ ,])powerpaste([, ]|$)/.test(t.plugins)&&s.get("powerpaste")?"undefined"!=typeof console&&console.log&&console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."):(r.clipboard=i=new a(n),r.quirks=new c(n),r.wordFilter=new l(n),n.settings.paste_as_text&&(r.clipboard.pasteFormat="text"),t.paste_preprocess&&n.on("PastePreProcess",function(e){t.paste_preprocess.call(r,r,e)}),t.paste_postprocess&&n.on("PastePostProcess",function(e){t.paste_postprocess.call(r,r,e)}),n.addCommand("mceInsertClipboardContent",function(e,t){t.content&&r.clipboard.pasteHtml(t.content),t.text&&r.clipboard.pasteText(t.text)}),n.settings.paste_block_drop&&n.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),n.settings.paste_data_images||n.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&0=e.childNodes.length?n.data.length:0}:{container:e,offset:t}};return{getNormalizedEndPoint:o,normalizeRange:function(e){var t=e.cloneRange(),n=o(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);var i=o(e.endContainer,e.endOffset);return t.setEnd(i.container,i.offset),t}}}),n("tinymce.lists.core.Bookmark",["global!tinymce.dom.DOMUtils.DOM","tinymce.lists.core.NodeType","tinymce.lists.core.Range"],function(s,e,n){return{createBookmark:function(r){var o={},e=function(e){var t,n,i;n=r[e?"startContainer":"endContainer"],i=r[e?"startOffset":"endOffset"],1===n.nodeType&&(t=s.create("span",{"data-mce-type":"bookmark"}),n.hasChildNodes()?(i=Math.min(i,n.childNodes.length-1),e?n.insertBefore(t,n.childNodes[i]):s.insertAfter(t,n.childNodes[i])):n.appendChild(t),n=t,i=0),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=i};return e(!0),r.collapsed||e(),o},resolveBookmark:function(r){function e(e){var t,n,i;t=i=r[e?"startContainer":"endContainer"],n=r[e?"startOffset":"endOffset"],t&&(1===t.nodeType&&(n=function(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t===e)return n;1===t.nodeType&&"bookmark"===t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1}(t),t=t.parentNode,s.remove(i)),r[e?"startContainer":"endContainer"]=t,r[e?"startOffset":"endOffset"]=n)}e(!0),e();var t=s.createRng();return t.setStart(r.startContainer,r.startOffset),r.endContainer&&t.setEnd(r.endContainer,r.endOffset),n.normalizeRange(t)}}}),n("tinymce.lists.core.NormalizeLists",["global!tinymce.dom.DOMUtils.DOM","global!tinymce.util.Tools","tinymce.lists.core.NodeType"],function(r,n,o){var i=function(e,t){var n,i=t.parentNode;"LI"===i.nodeName&&i.firstChild===t&&((n=i.previousSibling)&&"LI"===n.nodeName?(n.appendChild(t),o.isEmpty(e,i)&&r.remove(i)):r.setStyle(i,"listStyleType","none")),o.isListNode(i)&&(n=i.previousSibling)&&"LI"===n.nodeName&&n.appendChild(t)};return{normalizeList:i,normalizeLists:function(t,e){n.each(n.grep(t.select("ol,ul",e)),function(e){i(t,e)})}}}),t("global!tinymce.dom.BookmarkManager",tinymce.dom.BookmarkManager),t("global!tinymce.Env",tinymce.Env),n("tinymce.lists.core.TextBlock",["global!tinymce.dom.DOMUtils.DOM","global!tinymce.Env"],function(c,u){return{createNewTextBlock:function(e,t,n){var i,r,o,s=c.createFragment(),a=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&((r=c.create(n)).tagName===e.settings.forced_root_block&&c.setAttribs(r,e.settings.forced_root_block_attrs),s.appendChild(r)),t)for(;i=t.firstChild;){var l=i.nodeName;o||"SPAN"===l&&"bookmark"===i.getAttribute("data-mce-type")||(o=!0),a[l]?(s.appendChild(i),r=null):n?(r||(r=c.create(n),s.appendChild(r)),r.appendChild(i)):s.appendChild(i)}return e.settings.forced_root_block?o||u.ie&&!(10

'+(n?"×":"")+"
"}for((e=function(e){var t,n,i=[];for(n=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],n=d.settings.textcolor_map||n,n=d.settings[e+"_map"]||n,t=0;t",r=0;r":u((t=e[s]).color,t.text);n+=""}if(d.settings.color_picker_callback){for(n+='
",n+="",r=0;r"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","ready","parseHTML","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","getData","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","div","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","finalPropName","cssProps","capName","vendorPropName","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","parseInt","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict","migrateMute","require","r","o","migrateWarnings","migrateTrace","trace","migrateVersion","log","migrateReset","compatMode","d","u","c","querySelector","size","f","y","h","g","Q","fixHooks","_migrated_","x","k","A","andSelf","S","q","z","eval","R","navigator","H","T","K","W","X","Y","Z","oc","bb","pc","aa","ba","pd","qa","Pb","kb","tc","F","G","da","Zc","Ka","fd","J","deferUpdates","useOnlyNativeEvents","foreachHidesDestroyed","__proto__","C","Oa","userAgent","MouseEvents","propertychange","Ic","Lb","hb","vc","Mb","fb","gb","$b","Ba","setPrototypeOf","zb","O","Ha","Sb","removeNode","Xb","la","na","Ca","ua","Wc","Ua","Yc","Cb","Td","substring","ud","Rb","jd","P","tagName","zc","onError","Fc","I","za","detachEvent","Fb","createEvent","dispatchEvent","initEvent","fireEvent","N","Eb","classList","baseVal","Ab","zd","Xc","mergeAttributes","vd","Od","Da","Xd","Yd","Kc","Md","Function","fc","stringify","Nd","includeFields","action","submitter","getTime","Tb","clear","cleanExternalData","1","8","9","xb","ta","clean","innerShiv","Ld","parentElement","dc","Wb","ad","bd","Tc","sd","Jd","ma","scheduler","MutationObserver","observe","yb","cancel","resetForTesting","Rd","Ta","throttle","throttleEvaluation","read","write","rateLimit","Hb","tb","notifySubscribers","equalityComparer","boolean","number","gc","kc","lc","Ib","ab","Jb","D","ob","change","rc","subscribe","cb","Qa","Gb","Wa","dd","wc","mb","Cd","mc","qb","qc","Ad","Pc","U","ac","nd","od","ed","pa","Va","rb","Wd","sa","xa","wa","Na","Ya","Mc","Ia","trackArrayChanges","removeAll","destroy","_destroy","destroyAll","sorted","reversed","yc","Oc","Nb","sparse","Ob","min","L","Jc","lb","ka","Xa","ha","ra","pb","hc","vb","Vc","disposeWhenNodeIsRemoved","Sa","disposeWhen","Qb","V","Hc","pure","deferEvaluation","ea","ja","La","Ub","Ma","Ja","Id","Qd","Gc","yd","xd","Nc","Ed","wb","Number","Boolean","save","toJSON","$c","Vd","Ga","Promise","__ko__hasDomDataOptionValue__","Yb","ya","unknown","substr","in","return","typeof","Ra","va","Zb","ub","getBindingHandler","preprocess","valueAccessors","bindingParams","Hd","$a","ul","ol","Ea","Uc","Vb","Bd","Ud","Rc","ga","md","nodeHasBindings","getComponentNameForNode","getBindings","getBindingsString","parseBindingsString","sc","getBindingAccessors","instance","B","M","Sc","xc","ib","Kb","preprocessNode","bindingContextForDescendants","gd","Dc","oa","Bb","ca","Lc","update","$data","controlsDescendantBindings","shouldBindDescendants","fa","textarea","template","$parents","$root","ko","$rawData","dataDependency","exportDependencies","createChildContext","as","noChildContext","$parentContext","$parent","rd","Bc","Fa","Sd","eb","kd","Pa","uc","Cc","synchronous","definition","Fd","loaders","suppressLoaderExceptions","Ac","nc","DocumentFragment","register","sb","unregister","Ec","getConfig","loadComponent","viewModel","loadTemplate","element","HTMLElement","loadViewModel","cd","component","$raw","dispose","createViewModel","templateNodes","$component","$componentTemplateNodes","koDescendantsComplete","lookupNamespaceURI","removeAttributeNS","setAttributeNS","uniqueName","checkedValue","__ko__cssValue","enable","cancelBubble","foreach","Qc","includeDestroyed","afterAdd","beforeRemove","afterRender","beforeMove","afterMove","templateEngine","hasfocus","__ko_hasfocusUpdating","__ko_hasfocusLastValue","let","multiple","cc","abs","selectedOptions","opera","textInput","propertyName","textinput","qd","autocomplete","form","renderTemplateSource","createJavaScriptEvaluatorBlock","makeTemplateSource","ia","renderTemplate","isTemplateRewritten","allowTemplateRewriting","rewriteTemplate","ic","wd","Kd","ld","Db","jb","hd","jc","previousSibling","ec","bc","Pd","$index","ifnot","moved","dontLimitMoves","Aa","nb","_countWaitingForRemove","E","Dd","Za","Gd","tmpl","koBindingContext","templateOptions","fragments","addTemplate","ko_code","ko_with","close","uuid","eventType","focusable","isTabIndexNotNaN","mapName","img","ui","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP","scrollParent","includeHidden","excludeStaticParent","overflowRegex","uniqueId","removeUniqueId","dataName","tabbable","isTabIndexNaN","outerWidth","side","innerWidth","innerHeight","outerHeight","reduce","ie","disableSelection","enableSelection","plugin","plugins","allowDisconnected","widget_uuid","widget_slice","widget","fullName","existingConstructor","basePrototype","proxiedPrototype","Widget","_createWidget","_proto","_childConstructors","_super","_superApply","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","bridge","inputIndex","inputLength","isMethodCall","methodValue","charAt","_init","defaultElement","create","eventNamespace","bindings","hoverable","_on","_getCreateOptions","_create","_trigger","_getCreateEventData","curOption","_setOptions","_setOption","suppressDisabledCheck","delegateElement","handlerProxy","eventName","_off","_delay","_hoverable","_focusable","focusout","defaultEffect","effect","hasOptions","effectName","effects","mouseHandled","mouseup","distance","_mouseInit","_mouseDown","started","_mouseDestroy","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","elIsCancel","_mouseCapture","mouseDelayMet","_mouseDelayTimer","_mouseDistanceMet","_mouseDelayMet","_mouseStart","_mouseMove","documentMode","_mouseDrag","_mouseStop","cachedScrollbarWidth","supportsOffsetFractions","rhorizontal","rvertical","roffset","rposition","rpercent","_position","getOffsets","offsets","parseCss","property","scrollbarWidth","w1","w2","innerDiv","clientWidth","getScrollInfo","within","isDocument","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","of","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","scrollInfo","collision","getDimensions","at","horizontalOffset","verticalOffset","collisionPosition","elemWidth","elemHeight","marginTop","collisionWidth","collisionHeight","myOffset","my","bottom","feedback","horizontal","vertical","important","fit","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit","testElement","testElementParent","testElementStyle","background","collapsible","heightStyle","icons","activeHeader","activate","beforeActivate","hideProps","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","showProps","prevShow","prevHide","_processPanels","_refresh","panel","_createIcons","_destroyIcons","_setupEvents","_activate","_keydown","currentIndex","toFocus","_eventHandler","_panelKeyDown","refresh","prevHeaders","prevPanels","panels","maxHeight","_findActive","headerId","panelId","aria-selected","aria-expanded","aria-hidden","keydown","clicked","clickedIsActive","collapsing","toShow","toHide","eventData","oldHeader","oldPanel","newHeader","newPanel","_toggle","_animate","_toggleComplete","total","adjust","boxSizing","down","submenu","items","menus","role","activeMenu","mousedown .ui-menu-item","click .ui-menu-item","mouseenter .ui-menu-item","previousFilter","mouseleave .ui-menu","keepActiveItem","item","collapseAll","_closeOnDocumentClick","character","previousPage","nextPage","_move","previous","collapse","filterTimer","_filterMenuItems","icon","submenus","menu","submenuCarat","_isDivider","_itemRole","listbox","nested","focused","_scrollIntoView","_close","_startOpening","borderTop","scroll","elementHeight","itemHeight","_hasScroll","fromFocus","_open","currentMenu","startMenu","newItem","isFirstItem","isLastItem","direction","escapedCharacter","regex","autoFocus","minLength","search","requestIndex","pending","suppressKeyPress","suppressKeyPressRepeat","suppressInput","isTextarea","isInput","isMultiLine","valueMethod","isNewMenu","_keyEvent","_value","term","_searchTimeout","keypress","selectedItem","cancelBlur","searching","_change","_initSource","_appendTo","mousedown","menuElement","menufocus","label","liveRegion","menuselect","aria-live","aria-relevant","array","request","equalValues","menuVisible","modifierKey","_search","cancelSearch","_response","__response","_normalize","_suggest","_renderMenu","_resizeMenu","_renderItemData","_renderItem","keyEvent","escapeRegex","messages","noResults","amount","lastActive","baseClasses","typeClasses","formResetHandler","radioGroup","radios","primary","secondary","_determineButtonType","hasTitle","buttonElement","toggleButton","activeClass","keyup","_resetButton","ancestor","labelSelector","buttonText","multipleIcons","buttonClasses","rtl","allButtons","existingButtons","datepicker_instActive","Datepicker","_curInst","_disabledInputs","_datepickerShowing","_inDialog","_mainDivId","_inlineClass","_appendClass","_triggerClass","_dialogClass","_disableClass","_unselectableClass","_currentClass","_dayOverClass","regional","closeText","prevText","nextText","currentText","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","weekHeader","dateFormat","firstDay","isRTL","showMonthAfterYear","yearSuffix","_defaults","showOn","showAnim","showOptions","defaultDate","appendText","buttonImage","buttonImageOnly","hideIfNoPrevNext","navigationAsDateFormat","gotoCurrent","changeMonth","changeYear","yearRange","showOtherMonths","selectOtherMonths","showWeek","calculateWeek","iso8601Week","shortYearCutoff","minDate","maxDate","beforeShowDay","beforeShow","onSelect","onChangeMonthYear","onClose","numberOfMonths","showCurrentAtPos","stepMonths","stepBigMonths","altField","altFormat","constrainInput","showButtonPanel","autoSize","en","dpDiv","datepicker_bindHover","datepicker_handleMouseover","datepicker","_isDisabledDatepicker","inline","datepicker_extendRemove","markerClassName","maxRows","_widgetDatepicker","setDefaults","_attachDatepicker","inst","_newInst","_connectDatepicker","_inlineDatepicker","selectedDay","selectedMonth","selectedYear","drawMonth","drawYear","_attachments","_doKeyDown","_doKeyPress","_doKeyUp","_autoSize","_disableDatepicker","_get","_showDatepicker","alt","title","_lastInput","_hideDatepicker","findMax","maxI","date","names","setMonth","setDate","getDay","_formatDate","divSpan","_setDate","_getDefaultDate","_updateDatepicker","_updateAlternate","_dialogDatepicker","browserWidth","browserHeight","scrollX","scrollY","_dialogInst","_dialogInput","_pos","clientHeight","blockUI","_destroyDatepicker","$target","_enableDatepicker","cursor","_getInst","_optionDatepicker","_getDateDatepicker","_getMinMaxDate","_changeDatepicker","_refreshDatepicker","_setDateDatepicker","noDefault","_setDateFromField","_getDate","dateStr","handled","_selectDay","_adjustDate","_clearDate","_gotoToday","chars","chr","_possibleChars","lastVal","parseDate","_getFormatConfig","beforeShowSettings","isFixed","_findPos","_checkOffset","datepicker_getZindex","_shouldFocusInput","_generateHTML","_attachHandlers","origyearshtml","numMonths","_getNumberOfMonths","cols","activeCell","yearshtml","dpWidth","dpHeight","inputWidth","inputHeight","viewWidth","viewHeight","postProcess","_tidyDialog","unblockUI","_checkExternalClick","period","_adjustInstDate","currentDay","currentMonth","currentYear","getDate","getMonth","getFullYear","_notifyChange","_selectMonthYear","month","year","_selectDate","formatDate","noWeekends","day","checkDate","floor","format","iFormat","dim","iValue","shortYearCutoffTemp","doy","literal","lookAhead","getNumber","isDoubled","digits","getName","shortNames","longNames","pair","checkLiteral","_ticksTo1970","_getDaysInMonth","_daylightSavingAdjust","ATOM","COOKIE","ISO_8601","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","formatNumber","formatName","output","getYear","dates","_restrictMinMax","_determineDate","newDate","offsetString","setHours","setMinutes","setSeconds","setMilliseconds","getHours","noChange","origMonth","origYear","today","selectDay","selectMonth","selectYear","maxDraw","gotoDate","controls","buttonPanel","dow","row","group","selectedDate","cornerClass","calender","daysInMonth","leadDays","curRows","numRows","printDate","dRow","daySettings","otherMonth","unselectable","tempDate","isMultiMonth","currentDate","_canAdjustMonth","_isInRange","_generateMonthYearHeader","_getFirstDayOfMonth","inMinYear","inMaxYear","years","thisYear","determineYear","endYear","monthHtml","onChange","minMax","curYear","curMonth","yearSplit","minYear","maxYear","initialized","otherArgs","mouse","addClasses","axis","connectToSortable","containment","cursorAt","grid","helper","iframeFix","refreshPositions","revert","revertDuration","scope","scrollSensitivity","scrollSpeed","snap","snapMode","snapTolerance","drag","_setPositionRelative","_setHandleClassName","_removeHandleClassName","destroyOnClear","_blurActiveElement","_getHandle","_blockFrames","iframeBlocks","iframe","_unblockFrames","handleElement","_createHelper","_cacheHelperProportions","ddmanager","_cacheMargins","cssPosition","hasFixedAncestor","positionAbs","_refreshOffsets","originalPosition","_generatePosition","originalPageX","originalPageY","_adjustOffsetFromHelper","_setContainment","_clear","dropBehaviour","prepareOffsets","_normalizeRightBottom","dragStart","margins","_getParentOffset","_getRelativeOffset","noPropagation","_convertPositionTo","_uiHash","dropped","drop","dragStop","helperIsFunction","helperProportions","_isRootNode","po","scrollIsRootNode","isUserScrollable","ce","relativeContainer","mod","constrainPosition","co","cancelHelperRemoval","draggable","uiSortable","sortables","sortable","isOver","_storedCSS","placeholder","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","fromOutside","_revert","_cursor","_opacity","scrollParentNotHidden","overflowOffset","scrolled","snapElements","$t","$o","ts","bs","ls","rs","x1","x2","y1","y2","snapping","release","snapItem","_zIndex","alsoResize","animateDuration","animateEasing","aspectRatio","autoHide","ghost","handles","minHeight","resize","_num","_isNumber","_aspectRatio","originalElement","_proportionallyResizeElements","resizable","elementIsWrapper","marginRight","marginBottom","originalResizeStyle","_proportionallyResize","se","sw","ne","nw","_handles","_renderAxis","padPos","padWrapper","mouseover","resizing","wrapper","exp","capture","curleft","curtop","_renderProxy","originalSize","sizeDiff","originalMousePosition","_propagate","smp","dx","dy","_updatePrevProperties","_updateVirtualBoundaries","_updateRatio","_respectSize","_updateCache","_applyChanges","pr","ista","soffseth","soffsetw","prevPosition","prevSize","forceAspectRatio","pMinWidth","pMaxWidth","pMinHeight","pMaxHeight","Infinity","_vBoundaries","cpos","csize","ismaxw","ismaxh","isminw","isminh","dw","dh","cw","_getPaddingPlusBorderDimensions","widths","borders","paddings","prel","outerDimensions","elementOffset","cs","containerElement","containerOffset","containerPosition","parentData","containerSize","woset","hoset","isParent","isOffsetRelative","cp","pRatio","cop","continueResize","ho","os","op","sum","gridX","gridY","ox","oy","newWidth","newHeight","isMaxWidth","isMaxHeight","isMinWidth","isMinHeight","autoOpen","closeOnEscape","dialogClass","modal","topOffset","beforeClose","resizeStart","resizeStop","sizeRelatedOptions","resizableRelatedOptions","originalCss","originalTitle","_createWrapper","uiDialog","_createTitlebar","_createButtonPane","_makeDraggable","_makeResizable","_isOpen","_trackFocus","_untrackInstance","_destroyOverlay","_focusedElement","_hide","isOpen","moveToTop","_moveToTop","silent","zIndices","zIndexMax","_focusTabbable","_size","_createOverlay","overlay","_show","_makeFocusTarget","uiDialogButtonPane","uiDialogTitlebarClose","_keepFocus","checkFocus","tabbables","aria-describedby","uiDialogTitle","uiDialogTitlebar","_title","aria-labelledby","uiButtonSet","_createButtons","buttonOptions","showText","filteredUi","resizeHandles","_minHeight","_trackingInstances","instances","exists","isVisible","resizableOptions","isDraggable","isResizable","nonContentHeight","minContentHeight","maxContentHeight","_allowInteraction","isOpening","overlays","accept","greedy","hoverClass","tolerance","deactivate","out","over","proportions","isover","isout","_addToManager","droppables","_splice","_deactivate","_over","_out","_drop","custom","childrenIntersection","droppable","intersect","isOverAxis","reference","toleranceMode","absolute","default","droppablesLoop","greedyChild","parentInstance","intersects","baseEasings","dataSpace","colors","rplusequals","stringParsers","re","execResult","space","color","Color","green","blue","alpha","spaces","rgba","red","hsla","hue","saturation","lightness","propTypes","byte","degrees","supportElem","clamp","allowEmpty","def","stringParse","_rgba","parser","spaceName","transparent","hue2rgb","backgroundColor","from","same","localCache","isCache","_space","used","transition","other","startColor","startValue","endValue","blend","opaque","rgb","toRgbaString","toHslaString","toHexString","includeAlpha","local","vtype","_hsla","colorInit","borderColor","part","aqua","black","fuchsia","gray","lime","maroon","navy","olive","purple","silver","teal","white","yellow","classAnimationActions","shorthandStyles","borderBottom","borderLeft","borderRight","borderWidth","getElementStyles","currentStyle","setAttr","animateClass","applyClassChange","baseClass","allAnimations","oldStyle","newStyle","styleDifference","styleInfo","dfd","force","switchClass","_normalizeArguments","standardAnimationOption","restore","setMode","mode","getBaseline","origin","createWrapper","float","fontSize","removeWrapper","setTransition","factor","cssUnit","effectMethod","pow","Sine","Circ","sqrt","Elastic","sin","Back","Bounce","pow2","bounce","easeIn","blind","ref","ref2","motion","upAnim","downAnim","times","anims","queuelen","clip","vert","explode","mx","rows","pieces","cells","childComplete","animComplete","fade","fold","horizFirst","widthFirst","animation1","animation2","highlight","backgroundImage","baseline","props0","props2","cProps","vProps","hProps","zero","c_original","str","toRef","puff","pulsate","showhide","animateTo","shake","positiveMotion","slide","transfer","targetFixed","fixTop","fixLeft","endPosition","startPosition","oldValue","_constrainedValue","aria-valuemin","valueDiv","_refreshValue","newValue","indeterminate","_percentage","percentage","toFixed","overlayDiv","aria-valuemax","aria-valuenow","autoRefresh","selecting","unselected","unselecting","selectees","dragged","$this","$element","startselected","opos","selectee","doSelect","hit","selectmenuId","ids","_drawButton","_drawMenu","aria-autocomplete","aria-owns","aria-haspopup","_setText","_resizeButton","_buttonEvents","menuItems","_refreshMenu","menuWrap","menuInstance","_setSelection","_select","focusIndex","_getSelectedItem","_parseOptions","_setAria","_toggleAttr","_documentClick","range","menuWidget","currentOptgroup","li","getSelection","removeAllRanges","addRange","rangeCount","getRangeAt","createRange","_selectFocusedItem","oldIndex","aria-activedescendant","orientation","numPages","_keySliding","_mouseSliding","_animateOff","_handleIndex","_detectOrientation","_calculateNewMax","_createRange","_createHandles","handleCount","existingHandles","_valueMin","_handleEvents","normValue","closestHandle","mouseOverHandle","elementSize","_normValueFromMouse","_valueMax","thisDistance","_lastChangedValue","_start","_clickOffset","_slide","_stop","pixelTotal","percentMouse","valueTotal","valueMouse","_trimAlignValue","uiHash","newVal","otherVal","newValues","allowed","vals","_values","valsLength","valModStep","alignValue","_precision","precision","_precisionOf","decimal","lastValPercent","valPercent","valueMin","valueMax","oRange","_set","curVal","connectWith","dropOnEmpty","forcePlaceholderSize","forceHelperSize","beforeStop","receive","_isOverAxis","_isFloating","overrideHandle","validHandle","reverting","_refreshItems","_removeCurrentsFromItems","noActivation","currentContainer","domPosition","_createPlaceholder","storedCursor","storedStylesheet","_storedOpacity","_storedZIndex","_preserveHelperProportions","containers","dragging","itemElement","intersection","lastPositionAbs","_intersectsWithPointer","_intersectsWithSides","_rearrange","_contactContainers","_noFinalSort","_getItemsAsjQuery","connected","res","attribute","expression","dyClick","dxClick","isOverElementHeight","isOverElementWidth","isOverElement","forcePointerForContainers","floating","verticalDirection","_getDragVerticalDirection","horizontalDirection","_getDragHorizontalDirection","isOverBottomHalf","isOverRightHalf","_connectWith","queries","addItems","targetData","_queries","queriesLength","toleranceElement","refreshContainers","_createTrPlaceholder","sourceTr","targetTr","dist","itemWithLeastDistance","posProperty","sizeProperty","nearBottom","innermostContainer","innermostIndex","hardRefresh","counter","delayedTriggers","delayEvent","_inst","sender","spinner_modifier","culture","up","incremental","numberFormat","page","spin","_draw","_events","mousewheel","spinning","_spin","mousewheelTimer","mousedown .ui-spinner-button","_repeat","mouseup .ui-spinner-button","mouseenter .ui-spinner-button","mouseleave .ui-spinner-button","uiSpinner","_uiSpinnerHtml","_buttonHtml","steps","_adjustValue","_increment","aboveMin","prevValue","_parse","_format","Globalize","isValid","allowAny","stepUp","_stepUp","stepDown","_stepDown","pageUp","pages","pageDown","beforeLoad","_isLocal","anchor","anchorUrl","locationUrl","decodeURIComponent","running","_processTabs","_initialActive","tabs","anchors","locationHash","tab","_getPanelForTab","_tabKeydown","focusedTab","goingForward","_handlePageNav","activating","_focusNextTab","_panelKeydown","_findNextTab","lastTabIndex","_setupHeightStyle","_setupDisabled","_sanitizeSelector","lis","tablist","prevTabs","prevAnchors","_getList","anchorId","originalAriaControls","_createPanel","aria-controls","oldTab","newTab","_getIndex","_ajaxSettings","tooltipClass","track","_addDescribedBy","describedby","_removeDescribedBy","tooltips","_disable","tooltipData","_updateContent","_enable","blurEvent","_registerCloseHandlers","contentOption","tooltip","delayedShow","a11yContent","positionOption","_find","_tooltip","mousemove","setInterval","clearInterval","fakeEvent","_removeTooltip","closing","hiding","touch","touchHandled","mouseProto","_touchStart","_touchMoved","simulateMouseEvent","_touchMove","_touchEnd","touchstart","touchmove","touchend","simulatedType","simulatedEvent","initMouseEvent","__esModule","eventListenerOptionsSupported","EventTarget","getOwnPropertyDescriptor","assign","passive","_original","CanvasPrototype","HTMLCanvasElement","hasBlobConstructor","Blob","hasArrayBufferViewSupport","Uint8Array","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","dataURIPattern","dataURLtoBlob","atob","ArrayBuffer","dataURI","mediaType","isBase64","dataString","byteString","arrayBuffer","intArray","getBlob","toBlob","mozGetAsFile","quality","toDataURL","fetchBlob","createObjectURL","crossOrigin","isInstanceOf","_objectURL","readFile","noRevoke","revokeObjectURL","URL","webkitURL","transform","FileReader","loadImage","transformCoordinates","getTransformedOptions","crop","naturalWidth","naturalHeight","renderImageToCanvas","getContext","drawImage","hasCanvasOption","canvas","sourceWidth","sourceHeight","contain","cover","pixelRatio","downsamplingRatio","webkitSlice","mozSlice","blobSlice","metaDataParsers","jpeg","65505","65517","parseMetaData","maxMetaDataSize","DataView","byteLength","getUint16","disableImageHead","imageHead","subarray","hasMetaOption","meta","fetch","Request","blob","translate","rotate","exif","ExifMap","Orientation","getExifThumbnail","buffer","exifTagTypes","getValue","getUint8","2","ascii","3","4","getUint32","5","getInt32","10","getExifValue","parseExifTag","parseExifTags","parseExifData","disableExif","disableExifThumbnail","Thumbnail","disableExifSub","disableExifGps","tags","256","257","34665","34853","40965","258","259","262","274","277","284","530","531","282","283","296","273","278","279","513","514","301","318","319","529","532","306","270","271","272","305","315","33432","36864","40960","40961","40962","40963","42240","37121","37122","37500","37510","40964","36867","36868","37520","37521","37522","33434","33437","34850","34852","34855","34856","34864","34865","34866","34867","34868","34869","37377","37378","37379","37380","37381","37382","37383","37384","37385","37396","37386","41483","41484","41486","41487","41488","41492","41493","41495","41728","41729","41730","41985","41986","41987","41988","41989","41990","41991","41992","41993","41994","41995","41996","42016","42032","42033","42034","42035","42036","42037","6","7","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","stringValues","ExposureProgram","MeteringMode","255","LightSource","Flash","32","65","69","71","73","77","79","89","93","95","SensingMethod","SceneCaptureType","SceneType","CustomRendered","WhiteBalance","GainControl","Contrast","Saturation","Sharpness","SubjectDistanceRange","FileSource","ComponentsConfiguration","IptcMap","ObjectName","parseIptcTags","iptc","getInt16","parseIptcData","disableIptc","35","37","38","40","42","45","47","50","55","60","62","63","70","75","80","85","90","92","100","101","103","105","110","115","116","118","120","122","130","131","135","getDragHandler","isDragOver","dataTransfer","delegatedEvent","dropEffect","fileInput","xhrFileUpload","ProgressEvent","xhrFormDataFileUpload","FormData","dropZone","pasteZone","replaceFileInput","paramName","singleFileUploads","limitMultiFileUploads","limitMultiFileUploadSize","limitMultiFileUploadSizeOverhead","sequentialUploads","limitConcurrentUploads","forceIframeTransport","redirect","redirectParamName","postMessage","multipart","maxChunkSize","uploadedBytes","recalculateProgress","progressInterval","bitrateInterval","autoUpload","i18n","formData","fileupload","_specialOptions","_blobSlice","_BitrateTimer","timestamp","loaded","bitrate","getBitrate","timeDiff","_isXHRUpload","_getFormData","_getTotal","files","_initProgressObject","_progress","_initResponseObject","_onProgress","lengthComputable","_time","chunkSize","_bitrateTimer","_initProgressListener","upload","oe","_deinitProgressListener","_isInstanceOf","_initXHRData","contentRange","encodeURI","uploadName","field","_initIframeSettings","targetHost","_initDataSettings","_chunkedUpload","_getParamName","_initFormSettings","formAcceptCharset","_getAJAXSettings","_getDeferredState","isResolved","isRejected","_enhancePromise","_getXHRPromise","resolveOrReject","_addConvenienceMethods","getPromise","resolveFunc","rejectFunc","_processQueue","errorThrown","_onSend","processing","_getUploadedBytes","upperBytesPos","testOnly","fs","mcs","currentLoaded","textStatus","_beforeSend","_active","_onDone","_onFail","_onAlways","jqXHRorResult","jqXHRorError","aborted","slot","_sending","nextSlot","_slots","_sequence","_onAdd","paramNameSet","paramNameSlice","fileSet","filesLength","limit","limitSize","overhead","batchSize","originalFiles","newData","_replaceFileInput","inputClone","restoreFocus","fileInputClone","_handleFileTreeEntry","entry","path","dirReader","entries","errorHandler","readEntries","_handleFileTreeEntries","successHandler","isFile","_file","relativePath","isDirectory","createReader","_getDroppedFiles","webkitGetAsEntry","getAsEntry","getAsFile","_getSingleFileInputFiles","fileName","fileSize","_getFileInputFiles","_onChange","_onPaste","clipboardData","_onDrop","_onDragOver","_onDragEnter","_onDragLeave","_initEventHandlers","dragover","dragenter","dragleave","paste","_destroyEventHandlers","reinit","_initSpecialOptions","_getRegExp","modifiers","_isRegExpOption","_initDataAttributes","originalAdd","blueimp","processQueue","processActions","_processFile","originalData","chain","_transformProcessQueue","_processing","_processingQueue","fileTypes","maxFileSize","forceResize","thumbnail","loadImageFileTypes","loadImageMaxFileSize","imageMaxWidth","imageMaxHeight","imageOrientation","imageCrop","disableImageResize","previewMaxWidth","previewMaxHeight","previewOrientation","previewThumbnail","previewCrop","previewCanvas","resizeImage","newImg","preview","saveImage","loadImageMetaData","saveImageMetaData","setImage","deleteImageReferences","acceptFileTypes","minFileSize","maxNumberOfFiles","getNumberOfFiles","validate","kojqui","utils","uiVersion","descendantControllingBindings","createObject","major","minor","Type","Constructor","bindingHandlers","arrayGetDistinctValues","core","BindingHandler","domDataKey","filterAndUnwrapProperties","subscribeToRefreshOn","arrayForEach","unwrapObservable","bindingValue","isObservable","refreshOn","hasRefresh","valueAccessor","allBindingsAccessor","bindingContext","unwrappedOptions","unwrappedEvents","shouldApplyBindingsToDescendants","arrayFirst","bindingName","applyBindingsToDescendants","domData","isWriteableObservable","domNodeDisposal","addDisposeCallback","oldOptions","newOptions","Accordion","eventToWatch","accordion","Autocomplete","Button","Buttonset","subscription","origOnSelect","selectedText","Dialog","marker","ev","dialog","Menu","Progressbar","progressbar","Selectmenu","selectmenu","Slider","changeEvent","realtime","slider","Spinner","spinner","Tabs","postInitHandler18","postInitHandler","Tooltip","modules","dependencies","defs","fi","relativePosition","targetRect","rel","targetW","targetH","inflate","findBestRelativePosition","constrainRect","rels","cropRect","clampRect","fixedSize","underflowX1","underflowY1","overflowX2","overflowY2","cx2","cy2","fromClientRect","clientRect","asap","immediateFn","setImmediate","thisArg","_state","_deferreds","doResolve","me","finale","Handler","reason","race","requestAnimationFramePromise","wrappedSetTimeout","wrappedSetInterval","debounce","requestAnimationFrameFunc","vendors","setEditorTimeout","editor","removed","setEditorInterval","webkit","ie11","ie12","gecko","mac","iDevice","android","fileApi","phone","tablet","windowsPhone","nav","matchMediaQuery","query","matchMedia","buildNumber","appName","iOS","contentEditable","transparentSrc","caretAfter","ceFalse","canHaveCSP","desktop","Delay","Env","mouseEventRe","deprecated","keyLocation","layerX","layerY","webkitMovementX","webkitMovementY","keyIdentifier","addEvent","srcElement","experimentalShadowDom","defaultTarget","deepPath","getTargetFromShadowDom","undef","eventDoc","clientLeft","clientTop","bindOnReady","eventUtils","readyHandler","domLoaded","waitForDomLoaded","tryScroll","EventUtils","hasFocusIn","hasMouseEnterLeave","mouseEnterLeave","executeHandlers","callbackList","fakeName","nativeHandler","defaultNativeHandler","ci","eventMap","strundefined","rescape","getTop","div1","findIndex","predicate","iteratee","accumulator","Arr","whiteSpaceRegExp","makeMap","delim","ext","sp","ns","cn","scn","de","createNS","onCreate","walk","_addCacheSuffix","cacheSuffix","Tools","skipUniques","isDefined","isString","createFragment","fragDoc","frag","domManipulate","targetNodes","sourceItem","getElementDocument","DomQuery","lastParent","newWrapper","numericCssMap","booleanMap","readonly","cssFix","siblingName","firstSibling","appendHooks","targetHooks","elm","camel","dashed","removeProperty","existingClassName","classState","docElm","contentWindow","overrideDefaults","defaults","sub","maxlength","maxLength","schema","encodingItems","validStyles","invalidStyles","rgbRegExp","urlOrStrRegExp","styleRegExp","trimRightRegExp","encodingLookup","invisibleChar","getValidStyles","getInvalidStyles","toHex","hex","isEncoded","urlConverter","url_converter","urlConverterScope","url_converter_scope","compress","noJoin","canCompress","encode","decode","keep_slashes","decodeSingleHexSequence","escSeq","decodeHexSequences","processUrl","url2","url3","str2","allow_script_urls","scriptUrl","allow_svg_data_urls","lastIndex","elementName","styleMap","serializeStyles","styleList","startNode","rootNode","findSibling","startName","shallow","prev2","findPreviousNode","Range","dom","EXTRACT","CLONE","TRUE","FALSE","START_OFFSET","START_CONTAINER","END_CONTAINER","END_OFFSET","setStart","_setEndPoint","setEnd","setStartBefore","setEndAfter","cloneContents","_traverse","_getSelectedNode","_compareBoundaryPoints","containerA","offsetA","containerB","offsetB","offsetC","cmnRoot","childA","childB","findCommonAncestor","st","collapsed","commonAncestorContainer","how","depthDiff","endNode","ep","endContainerDepth","startContainerDepth","cnt","xferNode","deleteData","_traverseFullySelected","_traverseSameContainer","_traverseCommonStartContainer","_traverseCommonEndContainer","startAncestor","endAncestor","startOffset","endOffset","_traverseLeftBoundary","_traverseRightBoundary","setStartAfter","_traverseCommonAncestors","setEndBefore","startIdx","clonedParent","prevSibling","clonedChild","clonedGrandParent","isFullySelected","_traverseNode","isLeft","txtValue","newNodeValue","oldNodeValue","newNode","startContainer","endContainer","START_TO_START","START_TO_END","END_TO_END","END_TO_START","selectNode","selectNodeContents","compareBoundaryPoints","so","eo","rsc","rso","rec","reo","deleteContents","extractContents","insertNode","nn","splitText","surroundContents","cloneRange","toStringIE","outerText","namedEntities","baseEntities","reverseEntities","attrsCharsRegExp","textCharsRegExp","rawCharsRegExp","entityRegExp","asciiMap","128","132","133","134","136","137","138","139","140","142","145","146","147","148","149","150","151","152","153","154","155","156","158","159","buildEntitiesLookup","radix","entity","lookup","\"","'","<","&","`","<",">","&",""","'","Entities","encodeRaw","encodeAllRaw","encodeNumeric","encodeNamed","entities","getEncodeFunc","named","numeric","nativeDecode","maxLoadTime","idCount","loadedStates","appendToHead","loadedCallback","link","passed","callbacks","failed","testCallback","waitCallback","waitForWebKitLinkLoaded","styleSheet","styleSheets","ownerNode","owningElement","webKitChunks","waitForGeckoLinkLoaded","cssRules","sheet","Styles","TreeWalker","StyleSheetLoader","isIE","simpleSelectorRe","updateInternalStyleAttr","domUtils","$elm","serializeStyle","parseStyle","normalized","lastNodeType","DOMUtils","blockElementsMap","stdMode","boxModel","styleSheetLoader","boundEvents","fixDoc","ownEvents","keepUrlHook","keepValues","keep_values","setupAttrHooks","getBlockElements","getRoot","isBlock","$$","getCustomElements","getAttribs","setAttrib","getAttrib","root_element","getViewPort","rootElm","getRect","getPos","getSize","getStyle","getParent","getParents","collect","selectorVal","getNext","_findSib","getPrev","elms","parentElm","newElm","setAttribs","setHTML","createHTML","outHtml","keepChildren","setStyle","update_styles","setStyles","removeAllAttribs","removeAttributeNode","originalValue","onSetAttrib","attrElm","attrName","attrValue","defaultVal","addStyle","styleElm","DOM","addedStyles","loadCSS","recalc","cls","isHidden","canHaveHTML","getOuterHTML","outerHTML","setOuterHTML","referenceNode","oldElm","rename","attrNode","pe","ps","rgbVal","isEmpty","walker","brCount","getNonEmptyElements","getWhiteSpaceElements","bogusVal","createRng","splitElm","replacementElm","bef","aft","trimNode","trimmedLength","previousIsSpan","nextIsSpan","getContentEditable","getContentEditableParent","isChildOf","dumpRng","ScriptLoader","states","scriptLoadedCallbacks","queueLoadedCallbacks","loading","isDone","markDone","failure","loadQueue","loadScripts","failures","execCallbacks","loadingScripts","loadScript","AddOnManager","urls","requireLangPack","languages","language","languageLoad","addOn","createUrl","baseUrl","dep","resource","addComponents","pluginName","pluginUrl","addOnUrl","loadDependencies","newUrl","baseURL","lastIndexOf","PluginManager","ThemeManager","isNodeType","isElement","matchNodeNames","hasContentEditableState","isText","isComment","isBr","isContentEditableTrue","isContentEditableFalse","hasPropValue","propName","propValue","hasAttributeValue","matchStyleValues","isBogus","hasAttribute","ZWSP","isZwsp","NodeType","Zwsp","isCaretContainerBlock","isCaretContainerInline","isCaretContainer","startsWithCaretContainer","endsWithCaretContainer","showCaretContainerBlock","caretContainer","brs","lastBr","trimBogusBr","insertInline","textNode","insertBlock","blockName","blockNode","br","createBogusBr","caretContainerNode","setNodeValue","getNodeValue","CaretContainer","hasCeProperty","findParent","isFormatterCaret","isCeFalseCaretContainer","hasParent","RangeUtils","rng","startPoint","endPoint","hasChildNodes","getEndChild","exclude","walkBoundary","findEndPoint","collectSiblings","end_node","start_node","normalize","normalizeEndPoint","nonEmptyElementsMap","directionLeft","isAfterNode","hasBrBeforeAfter","findTextNodeRelative","lastInlineElement","parentBlockContainer","hasContentEditableFalseParent","compareRanges","rng1","rng2","duplicate","isEqual","getCaretRangeFromPoint","point","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","rects","elementFromPoint","moveToElementText","findClosestIeRange","moveOutOfContentEditableFalse","getSelectedNode","getNode","lastRng","lastPath","getDoc","nativeRng","fakeRng","getRng","startElm","getStart","isCollapsed","currentPath","getBody","isSameElementPath","nodeChanged","selectionChange","disable_nodechange","typeLookup","#text","#comment","#cdata","#pi","#doctype","#document-fragment","root_node","Node","selfAttrs","selfAttr","cloneAttrs","shortEnded","ref_node","mapCache","dummyObj","compileElementMap","schemaItems","whiteSpaceElementsMap","selfClosingElementsMap","shortEndedElementsMap","boolAttrMap","validClasses","moveCaretBeforeOnEnterElementsMap","textBlockElementsMap","textInlineElementsMap","patternElements","customElementsMap","specialElements","createLookupTable","default_value","extendWith","patternToRegExp","addValidElements","validElements","ei","ai","al","attrData","attrType","attributesOrder","outputName","globalAttributes","globalAttributesOrder","elementRuleRegExp","attrRuleRegExp","hasPatternsRegExp","paddEmpty","removeEmpty","removeEmptyAttrs","attributesRequired","required","attributesDefault","attributesForced","forcedValue","validValues","attributePatterns","setValidElements","addCustomElements","customElements","customElementRegExp","text_block_elements","block_elements","rule","cloneName","customRule","elmName","addValidChildren","validChildren","childRuleRegExp","getElementRule","blockContent","phrasingContent","flowContent","html4BlockContent","html4PhrasingContent","ni","arrayToMap","addAttrs","schemaItem","table","compileSchema","verify_html","valid_elements","valid_styles","invalid_styles","valid_classes","custom_elements","valid_children","extended_valid_elements","dt","legend","area","parentsRequired","invalid_elements","getValidClasses","getBoolAttrs","getTextBlockElements","getTextInlineElements","getShortEndedElements","getSelfClosingElements","getMoveCaretBeforeOnEnterElements","getSpecialElements","isValidChild","attrPatterns","Schema","findEndTag","startIndex","tokenRegExp","shortEndedElements","SaxParser","fix_self_closing","endRegExp","attrList","isInternalElement","removeInternalElements","fillAttrsMap","isShortEnded","elementRule","isValidElement","attribsValue","validAttributesMap","validAttributePatterns","selfClosing","attrRegExp","fixSelfClosing","filteredUrlAttrs","scriptUriRegExp","dataUriRegExp","processEndTag","valid","parseAttribute","val2","val3","attrRule","uri","unescape","allow_html_data_urls","self_closing_elements","remove_internals","allow_conditional_comments","comment","cdata","doctype","pi","paddEmptyNode","padd_empty_with_br","nodeFilters","attributeFilters","matchedNodes","matchedAttributes","root_name","filterNode","addNodeFilter","addAttributeFilter","fl","blockElements","startWhiteSpaceRegExp","isInWhiteSpacePreservedElement","endWhiteSpaceRegExp","allWhiteSpaceRegExp","isAllWhiteSpaceRegExp","whiteSpaceElements","nonEmptyElements","rootBlockName","invalidChildren","createNode","removeWhitespaceBefore","textNodeNext","textVal","forced_root_block","cloneAndExcludeBlocks","attrFiltersLen","tempNode","invalid","newParent","currentNode","childNode","whitespaceElements","nonSplitableElements","textBlockElements","nextNode","fixed","fixInvalidChildren","isRootContent","rootBlockNode","forced_root_block_attrs","addRootBlocks","remove_trailing_brs","prevName","allow_unsafe_link_target","rules","removeTargetRules","regExp","toggleTargetRules","isUnsafe","addTargetRules","allow_html_in_named_anchor","fix_list_elements","classValue","validClassesMap","indent","indentBefore","indentAfter","htmlOutput","indent_before","indent_after","entity_encoding","element_format","getContent","Writer","writer","sortedAttrs","inner","DomParser","Serializer","htmlParser","tempAttrs","trimHtml","trimContentRegExp","trimContent","endTagIndex","matchLength","bogusAllRegExp","internalName","cleanup","impl","oldDoc","htmlSerializer","importNode","no_events","onPreProcess","brNode1","brNode2","trimTrailingBr","getInner","onPostProcess","addRules","setRules","addTempAttr","getTrimmedContent","getPosition","checkRng","endIndex","inside","compareEndPoints","move","getBookmark","bookmark","getIndexes","indexes","getBookmarkEndPoint","ctrl","moveToBookmark","resolveIndexes","setBookmarkEndPoint","moveLeft","moveRng","moveStart","setEndPoint","createControlRange","addElement","ieRng","ctrlRng","ctrlElm","tmpRng","tmpRange","element2","ieRange","domRange","textNodeOffset","SPACEBAR","modifierPressed","metaKeyPressed","VK","selectedElm","selectedElmGhost","resizeHelper","selectedHandle","lastMouseDownEvent","startX","startY","selectedElmX","selectedElmY","startW","startH","ratio","resizeStarted","startScrollWidth","startScrollHeight","editableDoc","rootDocument","rootElement","rootClass","object_resizing","resizeGhostElement","deltaX","deltaY","resizeHelperX","resizeHelperY","resize_img_proportional","startPos","endGhostResize","setSizeProp","showResizeRect","targetElm","mouseDownHandleName","mouseDownEvent","hideResizeRect","unbindResizeHandleEvents","detachResizeStartListener","handleElm","startDrag","unSelectabe","data-mce-bogus","updateResizeRect","controlElm","isChildOrEqual","disableGeckoResize","getEnd","resizeNativeStart","corner","cornerX","cornerY","relativeX","relativeY","isWithinContentEditableFalse","getContentEditableRoot","nativeControlSelect","execCommand","controlSelect","contentStyles","delayedSelect","throttledUpdateResizeRect","composing","constant","negate","and","or","curry","tempArgs","compose","isInvalidTextElement","isAtomicInline","isTable","isCaretCandidate","isInEditable","isAtomic","isAtomicContentEditableFalse","isEditableCaretCandidate","isValidOverflow","clientRect1","clientRect2","isAbove","isBelow","isRight","toStart","rect1","rect2","containsXY","extendingChars","isExtendingChar","Fun","CaretCandidate","ClientRect","ExtendingChar","isFloated","isValidElementCaretCandidate","isNotPre","resolveIndex","isWhiteSpace","isHiddenWhiteSpaceRange","getCaretPositionClientRects","caretPosition","beforeNode","clientRects","brNode","nbsp","getBrClientRect","collapseAndInflateWidth","addUniqueAndValidRect","addCharacterOffset","isAtEnd","CaretPosition","toRange","isAtStart","fromRangeStart","fromRangeEnd","DomUtils","getChildNodes","equal","targetValue","normalizedNodeIndex","numTextFragments","normalizedParent","createPathItem","outputOffset","normalizedTextOffset","resolvePathItem","dataLen","findTextPosition","CaretBookmark","BookmarkManager","normalizeTableCellSelection","moveEndPoint","tridentSel","findAdjacentContentEditableFalseElm","getPoint","getLocation","pasteHTML","data-mce-type","keep","restoreEndPoint","appendData","addBogus","setRng","isBookmarkNode","TridentSelection","ControlSelection","Selection","serializer","bookmarkManager","controlSelection","setCursorLocation","_moveEndPoint","whiteSpaceBefore","whiteSpaceAfter","tmpElm","getSel","htmlText","setContent","caretNode","createContextualFragment","real","startElement","endElement","lastFocusBookmark","w3c","tryCompareBoundaryPoints","sourceRange","destinationRange","selectedRange","explicitRange","setBaseAndExtent","anchorNode","focusNode","setNode","skipEmptyTextNodes","forwards","getSelectedBlocks","endElm","selectedBlocks","isForward","anchorRange","focusRange","anchorOffset","focusOffset","selectorChanged","currentSelectors","selectorChangedData","getScrollContainer","scrollContainer","scrollIntoView","alignToTop","viewPort","viewPortY","viewPortH","getWin","placeCaretAt","node1","node2","attribs","compareObjects","obj1","obj2","parsedSelectorToHtml","ancestry","sItem","decorate","wrapInHtml","parentCandidate","parentRequired","ancestorName","candidate","getRequiredParent","siblingElm","parseSelectorItem","$0","$1","$2","$3","$4","parseSelector","getCssText","previewFrag","previewElm","parentFontSize","previewStyles","previewCss","preview_styles","removeVars","formatter","block","selectorToHtml","postProcessHooks","isPre","blocks","pre","pre1","pre2","joinPre","ElementUtils","Preview","Hooks","formatChangeData","disableCaretContainer","markCaretContainersBogus","formats","rangeUtils","forcedRootBlock","INVISIBLE_CHAR","MCE_ATTR_RE","isTextBlock","isTableCell","isCaretNode","mixed","block_expand","matchesUnInheritedFormatSelector","formatList","inherit","getTextDecoration","decoration","processUnderlineAndColor","textDecoration","vars","setElementFormat","fmt","onformat","replaceVars","styleVal","applyNodeStyle","found","applyRngStyle","node_specific","wrapName","wrapElm","newWrappers","currentWrapElm","parentName","lastContentEditable","isEq","matchNode","links","childCount","getChildCount","isWhiteSpaceNode","getChildElementNode","isElementNode","exact","matchName","removeFormat","merge_with_parents","styleNode","matchNestedWrapper","hasStyle","merge_siblings","mergeSiblings","getNonWhiteSpaceSibling","expandRng","performCaretAction","curSelNode","defaultBlock","newEnd","findSelectionEnd","adjustSelectionToVisibleSelection","processChildElements","applyStyle","ceFalseOverride","similar","splitToFormatRoot","formatRoot","lastClone","firstClone","formatRootParent","wrapAndSplit","findFormatRoot","removeRngStyle","getContainer","matchItems","item_name","onmatch","normalizeStyleValue","matchParents","str1","lastIdx","leaf","findParentContainer","findLeaf","findParentContentEditable","findWordEndPoint","lastTextNode","findSpace","pos2","findSelectorEndPoint","sibling_name","curFormat","findBlockEndPoint","compare_node","stylesModified","isColorFormatAndAnchor","remove_similar","valueOut","rootBlockElm","inc","list_block","tmpSibling","elementUtils","findElementSibling","caretContainerId","debug","caret_debug","createCaretContainer","fill","isCaretContainerEmpty","getParentCaretContainer","findFirstTextNode","removeCaretContainer","move_caret","unmarkBogusCaretParents","_hasCaretEvents","wordcharRegex","applyCaretFormat","hasContentAfter","formatNode","removeCaretFormat","isAtEndOfText","tmpNode","isInlineBlock","matchAll","matchedFormatNames","checkedMap","canApply","formatChanged","currentFormats","matchedFormats","valigntop","verticalAlign","valignmiddle","valignbottom","alignleft","textAlign","aligncenter","alignright","alignjustify","bold","italic","fontStyle","underline","strikethrough","forecolor","hilitecolor","fontname","fontFamily","fontsize","fontsize_class","blockquote","subscript","superscript","removeformat","addShortcut","addKeyboardShortcuts","KEEP","INSERT","vDown","vUp","buildScript","start1","end1","start2","end2","middle","getMiddleSnake","diag","i2","buildSnake","snake","Diff","getOuterHtml","insertAt","currentFragments","removeAt","applyDiff","Fragments","createFragmentedLevel","beforeBookmark","createCompleteLevel","getLevelContent","level","createFromEditor","trimmedFragments","hasIframes","applyToEditor","level1","level2","Levels","isFirstTypedCharacter","locks","setDirty","addNonTypingUndoLevel","typing","endTyping","cmd","command","beforeChange","isDirty","lastLevel","modKey","currentLevel","custom_undo_redo_levels","undo","redo","hasUndo","hasRedo","transact","callback1","callback2","undoManager","editableRoot","parentBlock","newBlock","containerBlock","parentBlockName","containerBlockName","newBlockName","isAfterLastNodeInContainer","canSplitBlock","renderBlockOnIE","oldRng","moveToCaretPosition","tempElm","lastNode","firstNonWhiteSpaceNodeSibling","setForcedBlockAttrs","forcedRootBlockName","emptyBlock","createNewBlock","clonedNode","textInlineElements","keep_styles","isCaretAtStartOrEndOfBlock","insertBr","insertNewBlockAfter","end_container_on_empty_block","force_p_newlines","getEditableRoot","wrapSelfAndSiblingsInDefaultBlock","isFirstOrLastLi","getContainerBlock","containerBlockParent","containerBlockParentName","handleEmptyListItem","br_in_pre","trimLeadingLineBreaks","firstChilds","trimInlineElementsOnLeftSideOfBlock","handleEnterKey","wrapped","restoreSelection","rootNodeName","moveEnd","isBlockLike","isForwards","isBackwards","skipCaretContainers","getEditingHost","getParentBlock","beforeAfter","lean","isNextToContentEditableFalse","relativeOffset","getChildNodeAtRelativeOffset","findNode","predicateFn","isInSameBlock","caretPosition1","caretPosition2","isInSameEditingHost","isBeforeContentEditableFalse","isAfterContentEditableFalse","normalizeRange","leanLeft","leanRight","CaretUtils","nodeAtIndex","getCaretCandidatePosition","findCaretPosition","startCaretPosition","innerNode","rootContentEditableFalseElm","isBrBeforeBlock","CaretWalker","listItems","trimListItems","getParentLi","findLastOf","caretPos","newCaretPos","findFirstIn","isListFragment","insertAtCaret","domFragment","cleanupDomFragment","toDomFragment","liTarget","liElms","isAt","caretWalker","newPos","beforeRng","afterRng","getSplit","insertMiddle","isParentBlockLi","InsertList","details","processValue","bookmarkHtml","hasSiblingText","trimOrPaddLeftRight","caretElement","parserArgs","markFragmentElements","_selectionOverrides","showBlockCaretContainer","validInsertion","testNode","reduceInlineTextElements","parentEditableFalseElm","nextRng","getContentEditableFalseParent","isPartOfFragment","findNextCaretRng","moveSelectionToMarker","addVisual","insertHtmlAtCaret","InsertContent","isOldIE","commands","queryCommandState","quirks","addCommands","command_list","execNativeCommand","isFormatMatch","toggleFormat","storeSelection","customCommand","skip_focus","theme","queryCommandValue","queryCommandSupported","addCommand","addQueryStateHandler","addQueryValueHandler","hasCustomCommand","mceResetDesignMode,mceBeginUndoLevel","mceEndUndoLevel,mceAddUndoLevel","Cut,Copy,Paste","queryCommandEnabled","notificationManager","unlink","JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone","align","InsertUnorderedList,InsertOrderedList","listElm","listParent","Bold,Italic,Underline,Strikethrough,Superscript,Subscript","ForeColor,HiliteColor,FontName","FontSize","fontClasses","fontSizes","font_size_style_values","font_size_classes","RemoveFormat","mceBlockQuote","FormatBlock","mceCleanup","mceRemoveNode","mceSelectNodeDepth","mceSelectNode","mceInsertContent","mceInsertRawHTML","mceToggleFormat","mceSetContent","Indent,Outdent","intentValue","indentUnit","indentation","indentStyleName","getParam","mceRepaint","InsertHorizontalRule","mceToggleVisualAid","hasVisual","mceReplaceContent","mceInsertLink","selectAll","editingHost","delete","mceNewDocument","InsertLineBreak","brElm","extraBr","isControlKey","hasRightSideContent","JustifyLeft,JustifyCenter,JustifyRight,JustifyFull","Outdent","inline_styles","paddingLeft","FontSize,FontName","Undo","Redo","queryParts","DEFAULT_PORTS","ftp","http","https","mailto","URI","baseUri","base_url","base_uri","isProtocolRelative","directory","toAbsPath","userInfo","port","setPath","getURI","toRelative","tu","uu","toRelPath","toAbsolute","noHost","isSameOrigin","defaultPort","breakPoint","outPath","noProtoHost","parseDataUri","getDocumentBaseUrl","loc","pathname","extendClass","initializing","Class","member","mixins","mixin","Mixins","dummy","createMethod","Methods","Properties","fieldName","Statics","Defaults","nativeEvents","Dispatcher","toggleEvent","hi","beforeFire","isNative","Binding","model","otherModel","otherName","fromSelfToOther","_bindings","EventDispatcher","getEventDispatcher","_eventDispatcher","toggleNativeEvent","bubble","hasEventListeners","Observable","isNode","Collection","chunker","whiteSpace","Selector","direct","compileNameFilter","_name","compileIdFilter","compileClassesFilter","cmp","compileAttrFilter","notSelectors","parseChunks","compilePsuedoFilter","_selectors","control","si","sl","uniqueItems","__checked","funcs","getWindowSize","getRuntimeStyle","innerHtml","parseBox","measureBox","getSide","ClassList","onchange","_map","curState","clsValue","animationFrameRequested","dirtyCtrls","_layout","_id","reflow","ObservableObject","BoxUtils","ReflowQueue","Control","hasMouseWheelEventSupport","hasWheelEventSupport","idCounter","classPrefix","isRtl","defaultClasses","applyClasses","_aria","_elmCache","getEl","borderBox","paddingBox","marginBox","getContainerElm","getParentCtrl","controlIdLookup","initLayoutRect","layoutRect","autoResize","startMinWidth","startMinHeight","initialSize","deltaW","deltaH","maxW","maxH","_layoutRect","contentW","contentH","innerW","innerH","minW","minH","scrollW","_lastLayoutRect","newRect","lastLayoutRect","deltaWidth","deltaHeight","repaintControls","curRect","repaint","bodyStyle","bodyElm","borderW","borderH","lastRepaintRect","_lastRepaintRect","_hasBody","updateLayoutRect","_lastRect","parentsAndSelf","parentControls","$el","aria","ariaTarget","newItems","_eventsRoot","renderBefore","renderHtml","postRender","renderTo","preRender","render","parentEventsRoot","_nativeEvents","bindPendingEvents","border-top-width","border-right-width","border-bottom-width","border-left-width","bindStates","parentCtrl","parentWidth","parentHeight","getOffset","rootControl","eventCtrl","eventRootCtrl","mouseLeaveHandler","_lastHoverCtrl","mouseEnterHandler","lastParents","lastCtrl","fixWheelEvent","wheelDelta","wheelDeltaX","eventRootDelegates","_delegates","_hasMouseEnter","namespaceInit","typeClass","ControlType","tinymce","focusedElement","focusedControl","getRole","getParentRole","getAriaProp","isTextInputElement","getFocusElements","canFocus","getNavigationRoot","targetControl","navigationRoot","ariaRoot","moveFocusToIndex","moveFocus","lastAriaIndex","parentRole","enter","handleNonTabOrEscEvent","focusFirst","focusElements","ariaRemember","Factory","KeyboardNavigation","selectorCache","_items","bodyClasses","containerCls","layout","keyboard","focusCtrl","keyboardNav","statusbar","autofocus","oldItem","ctrlItems","defaultType","renderNew","containerElm","curItems","beforeItems","afterItems","fromJSON","lastRect","updateWithTouchData","$eventOverlay","downButton","getHandleElm","docSize","getDocumentSize","runtimeStyle","DragHelper","renderScroll","repaintScroll","hasScrollH","hasScrollV","repaintAxis","axisName","posName","sizeName","contentSizeName","hasScroll","ax","scrollBarElm","scrollThumbElm","posNameLower","sizeNameLower","autoScroll","addScrollAxis","deltaPosName","scrollStart","axisId","draghelper","addScroll","bodyEl","Container","Scrollable","_preBodyHtml","calculateRelativePosition","selfW","selfH","viewport","testMoveRel","viewPortRect","moveRel","moveTo","moveBy","constrain","constrainToViewport","resizeToContent","resizeTo","resizeBy","Panel","Movable","Resizable","documentClickHandler","documentScrollHandler","windowResizeHandler","hasModal","visiblePanels","zOrder","bindDocumentClickHandler","clickCtrl","autohide","skipOrHidePanels","repositionPanel","toggleFixedChildPanels","autofix","_autoFixY","addRemove","topModal","FloatPanel","modalBlockEl","currentZIndex","hideAll","bindWindowResizeHandler","$modalBlockEl","popover","ariaLabel","describedBy","removeVisiblePanel","bodyRole","windows","oldMetaValue","toggleFullScreenState","contentValue","overrideViewPort","toggleBodyFullScreenClasses","_fullscreen","checkFullscreenWindows","Window","spacing","pack","closeClass","needsRecalc","headerW","headEl","headerH","headerHtml","footerHtml","fullscreen","slowRendering","_timer","_initial","dragHelper","getContentWindow","ifr","lastSize","handleWindowResize","MessageBox","multiline","OK","OK_CANCEL","YES_NO","YES_NO_CANCEL","msgBox","createButton","subtype","onClick","onPostRender","onCancel","alert","confirm","getTopMostWindow","fireOpenEvent","fireCloseEvent","editorManager","setActive","bodyType","onclick","features","getParams","setParams","getWindows","setValue","Progress","closeButton","progressBar","notificationStyle","Notification","notifications","getLastNotification","positionNotifications","firstItem","getElement","getContentAreaContainer","prePositionNotifications","notif","notificationArray","newNotification","notification","isPlainTextNotification","filteredNotifications","isSameNotification","findDuplicateMessage","getNotifications","serviceMessage","service_message","targetNode","NodePath","emptyBlocksCSS","isGecko","isWebKit","mceInternalUrlPrefix","mceInternalDataType","setEditorCommandState","getDocumentMode","setMceInternalContent","selectionHtml","internalContent","setData","getMceInternalContent","insertClipboardContents","shortcuts","removeHrOnBackspace","disableBackspaceIntoATable","bodyHeight","refreshContentEditable","emptyEditorOnDeleteEverything","isEverythingSelected","startCaretPos","endCaretPos","serializeRng","bodyRng","allRng","allContentsSelected","emptyEditorWhenDeleting","olderWebKit","dragStartRng","isTrailingBr","isSiblingsIgnoreWhiteSpace","findCaretNode","handleTextBlockMergeDelete","startBlock","endBlock","caretNodeBefore","caretNodeAfter","deleteRangeBetweenTextBlocks","targetCaretNode","textBlock","targetTextBlock","isAfter","expandBetweenBlocks","customDelete","mutationObserver","childList","subtree","attributeFilter","takeRecords","record","attributeName","addedNodes","disconnect","span","transactCustomDelete","records","nodeInsert","relatedNode","attrModified","isMetaOrCtrl","blockElm","newBlockElm","clonedBlockElm","currentFormatNodes","cloneTextBlockWithFormats","handleLastBlockCharacterDelete","modify","fragmentNode","blockParent","charText","pointRng","clearData","cleanupStylesWhenDeleting","content_editable","brNodes","startRng","htmlElm","rngFromPoint","endSelection","fixCaretSelectionOfDocumentElementOnIe","getAttributeApplyFunction","setAttributeNode","isSelectionAcrossElements","applyAttributes","removeStylesWhenDeletingAcrossBlockElements","customEventRootDelegates","getEventTarget","event_root","eventRoot","bindEventDelegate","eventRootElm","isListening","delegates","activeEditor","editors","EditorObservable","bindPendingEventDelegates","_pendingNativeEvents","unbindAllNativeEvents","toggleReadOnly","_clickBlocker","clickBlocker","currentMode","keyCodeLookup","f9","f10","f11","modifierNames","pendingPatterns","parseShortcut","shortcut","createShortcut","desc","cmdFunc","subpatterns","matchShortcut","executeShortcutAction","hasModifier","isFunctionKey","uploadStatus","pendingPromises","defaultHandler","blobInfo","withCredentials","credentials","onprogress","path1","path2","pathJoin","basePath","filename","handlerSuccess","handlerFailure","resolvePending","blobUri","uploadBlobInfo","openNotification","markPending","closeNotification","base64","image/jpeg","image/jpg","image/gif","image/png","blobInfoToData","markUploaded","removeFailed","uploadBlobs","blobInfos","isUploaded","isPending","pendingUploadBlobInfo","isDefaultHandler","uriToBlob","rejectWithError","blobUriToBlob","dataUriToBlob","blobToDataUri","reader","onloadend","readAsDataURL","Conversions","blobCache","cachedPromises","findAll","images","promises","newPromise","imageInfo","findFirst","cachedBlobInfo","getByUri","dataUri","imageToBlobInfo","removeByUri","blobUriStatuses","createStatus","resultUri","hasBlobUri","getResultUri","pluginUrlToMessage","targetUrl","resolvePluginName","displayNotification","displayError","_skinLoaded","pluginLoadError","uploadError","Uploader","ImageScanner","BlobCache","UploadStatus","ErrorReporter","uploader","imageScanner","aliveGuard","replaceString","replaceImageUrl","replacementUrl","replaceUrlInUndoStack","replaceImageUri","images_reuse_filename","data-mce-src","convertURL","uploadImages","images_upload_url","images_upload_base_path","images_upload_credentials","images_upload_handler","scanForImages","imageInfos","uploadInfo","images_replace_blob_uris","uploadImagesAuto","automatic_uploads","isValidDataUriImage","imgElm","images_dataimg_filter","resultItem","replaceBlobUris","editorUpload","source_view","cursorInterval","$lastVisualCaret","contentEditableFalseNodes","trimInlineCaretContainers","rootRect","getAbsoluteClientRect","getCss","toArrayWithNode","Dimensions","walkUntil","isAboveFn","isBeflowFn","targetClientRect","line","findUntil","upUntil","downUntil","positionsUntil","walkFn","isBelowFn","getClientRect","isAboveLine","lineNumber","isLine","distanceToRectLeft","distanceToRectRight","findClosestClientRect","isInside","oldClientRect","oldDistance","newDistance","findLineNodeRects","targetNodeRect","checkPosFn","lineRects","closestCaret","contentEditableFalseNodeRects","closestNodeRect","getContentEditableFalseChildren","caretInfo","getAbsolutePosition","calc","bodyPosition","scrollPosition","mousePosition","calculatePosition","getBodyPosition","getScrollPosition","iframePosition","inlineScroll","iframeScroll","getBodyScroll","getMousePosition","MousePosition","removeElement","isLeftMouseButtonPressed","ceElm","elmPos","maxX","maxY","relX","relY","clonedElm","ghostElm","contenteditable","createGhost","targetElement","dragElement","isValidDropTarget","getRawTarget","targetClone","cloneElm","cloneElement","insertContent","hideFakeCaret","removeDragState","bindFakeDragEvents","pageDom","dragStartHandler","dragHandler","dropHandler","dragEndHandler","throttledPlaceCaretAt","movement","hasDraggableElement","targetPos","applyRelPos","appendGhostToBody","moveGhost","realTarget","blockIeDrop","FakeCaret","LineWalker","LineUtils","DragDropOverrides","getVisualCaretPosition","selectedContentEditableNode","getNextVisualCaretPosition","getPrevVisualCaretPosition","fakeCaret","realSelectionId","setRange","getRange","showCaret","getNodeRange","getNormalizedRangeEndPoint","moveToCeFalseHorizontally","getNextPosFn","isBeforeContentEditableFalseFn","peekCaretPosition","rangeIsInContainerBlock","isRangeInCaretContainerBlock","fromCaretPosition","toCaretPosition","inSameBlock","isMoveInsideSameBlock","renderRangeCaret","exitPreBlock","moveH","newRange","moveV","walkerFn","linePositions","nextLinePositions","closestNextLineRect","caretClientRect","dist1","dist2","contentEditableFalseNode","caretPositions","moveToCeFalseVertically","blockCaretContainer","renderCaretAtRange","ceRoot","deleteContentEditableNode","nextCaretPosition","prevCaretPosition","prevCeFalseElm","nextElement","textBlocks","mergeTextBlocks","fromBlock","toBlock","ceTarget","backspaceDelete","beforeFn","afterFn","newCaretPosition","isWithinCaretContainer","isRangeInCaretContainer","setContentEditableSelection","$realSelectionContainer","origTargetClone","removeContentEditableSelection","deleteForward","backspace","override","moveFn","contentEditableRoot","hasBetterMouseTarget","targetBlock","caretBlock","hasNormalCaretPosition","paddEmptyContentEditableArea","handleBlockContainer","isXYWithinRange","isContentKey","prevent","handleEmptyBackspaceDelete","isFakeSelectionElement","realSelectionElement","getRealSelectionElement","registerEvents","rnd","sidebars","NodeChange","DomSerializer","Formatter","UndoManager","EnterKey","ForceBlocks","EditorCommands","WindowManager","NotificationManager","Quirks","Mode","Shortcuts","EditorUpload","SelectionOverrides","Uuid","Sidebar","Editor","documentBaseUrl","defaultSettings","documentBaseURL","baseURI","delta_width","delta_height","popup_css","document_base_url","add_form_submit_trigger","submit_patch","add_unload_trigger","convert_urls","relative_urls","remove_script_host","visual","font_size_legacy_values","hidden_input","padd_empty_editor","render_ui","convert_fonts_to_spans","ie7_compat","external_plugins","language_load","documentBaseURI","contentCSS","loadedCSS","editorCommands","cache_suffix","override_viewport","execCallback","orgVisibility","formElement","hasHiddenInput","formEventDelegate","startContent","_mceOldSubmit","triggerSave","windowManager","encoding","_beforeUnload","destroyed","set_dirty","scriptLoader","language_url","themeUrl","theme_url","Theme","bodyId","bodyClass","initializedPlugins","rtl_ui","setCode","aria_label","getLang","initPlugin","pluginInstance","Plugin","orgDisplay","min_height","renderUI","iframeHeight","editorContainer","iframeContainer","content_css","content_style","initContentBody","iframeHTML","cssUrl","body_id","body_class","content_security_policy","domainRelaxUrl","domain","hostname","frameBorder","allowTransparency","contentAreaContainer","iframeElement","skipWrite","contentCssText","content_document","content_window","bodyElement","hex_colors","force_hex_style_colors","class_filter","forceBlocks","enterKey","_nodeChangeDispatcher","browser_spellcheck","gecko_spellcheck","spellcheck","directionality","nowrap","protect","auto_focus","skipFocus","contentEditableHost","callbackLookup","addButton","addSidebar","addMenuItem","addContextToolbar","contextToolbars","focusedEditor","setProgressState","padd","isNotDirty","oldState","urlconverter_callback","visual_table_class","visual_anchor_class","automatic","_scanForImages","newCode","_dir","getCode","langData","getLangData","selectionChangeHandler","documentFocusInHandler","documentMouseUpHandler","isUIElement","customSelector","custom_ui_selector","FocusManager","isEditorUIElement","getActiveElement","bookmarkToRng","blurredEditor","createBookmark","_isUIElement","I18n","beforeUnloadDelegate","EditorManager","instanceCounter","boundGlobalEvents","globalEventDelegate","toggleGlobalEvents","removeEditorFromList","removedFromList","majorVersion","minorVersion","releaseDate","preInit","tinyMCEPreInit","srcScript","currentScript","focusManager","pluginBaseUrls","plugin_base_urls","invalidInlineTargets","createId","provideResults","initEditors","initCount","createEditor","forms","editor_deselector","editor_selector","findTargets","purgeDestroyedEditor","isInvalidInlineTarget","report","addI18n","tinyMCE","replaceWithSpan","font","face","strike","XHR","success_scope","error_scope","content_type","requestheaders","quote","JSONRequest","sendRPC","ecb","scb","ty","LocalStorage","storageElm","userDataKey","hasOldIEDataSupport","localStorage","updateKeys","addBehavior","getItem","setItem","removeItem","nextPos","firstControlClass","lastControlClass","containerClass","firstClass","lastClass","lastItem","controlClass","Layout","btnStyle","btnElm","textHtml","textCls","setButtonText","$span","iconElm","subinput","showMenu","statusLevel","statusMessage","openElm","innerPadding","inputElm","statusHtml","openBtnHtml","extraAttrs","showAutoComplete","previewUrl","hideMenu","statusIconElm","focusIdx","ComboBox","onaction","repaintColor","showPanel","panelSettings","hidePanel","popoverAlign","PanelButton","_color","resetColor","onClickHandler","brightness","chroma","hsvToRgb","toRgb","toHsv","minRGB","maxRGB","rgb2hsv","hsv","hueRootElm","huePointElm","svRootElm","svPointElm","updateColor","hueUpdate","updateSaturationAndValue","updateHue","_repaint","_svdraghelper","_hdraghelper","_rendered","hueHtml","stops","gradientPrefix","stopsList","getOldIeFallbackHtml","delimiter","_getDataPathHtml","Path","elementpath","outParents","flex","FormItem","labelGap","formItemDefaults","formItem","forId","recalcLabels","maxLabelWidth","labels","labelGapCalc","labelCtrl","labelWidth","Form","attach","getElementText","isValidAnchor","isAnchor","isEditable","isHeader","isChildOfContentEditableTrue","isValidHeader","headerTarget","getOrGenerateId","getLevel","anchorTarget","anchorText","getTargetElements","getHeaderTargets","getAnchorTargets","LinkTargets","history","toMenuItem","staticMenuItem","getSetting","editorSettings","createMenuItems","fileType","anchorMenuItems","topAnchor","bottomAchor","separator","fromHistoryMenuItems","uniqueHistory","isUniqueUrl","fromMenuItems","toMenuItems","typeahead_urls","filterByQuery","lowerCaseTerm","setupAutoCompleteHandler","linkTargets","linkDetails","getTitle","addToHistory","setupLinkValidatorHandler","validatorHandler","filepicker_validator_handler","uiState","statusToUiState","validateUrl","actionCallback","fileBrowserCallback","fileBrowserCallbackTypes","filetype","file_picker_types","file_browser_callback_types","file_picker_callback","file_browser_callback","AbsoluteLayout","contLayoutRect","contPaddingBox","contSettings","totalFlex","availableSpace","ctrlLayoutRect","maxSize","maxAlignEndPos","minSizeName","maxSizeName","beforeName","innerSizeName","deltaSizeName","alignAxisName","alignInnerSizeName","alignSizeName","alignMinSizeName","alignBeforeName","alignAfterName","alignDeltaSizeName","alignContentSizeName","maxSizeItems","maxFlexSize","endClass","getSpecifiedFontProp","getComputedFontProp","getFontSize","specifiedFontSize","getFontFamily","fontValue","normalizeFontFamily","toPt","FontInfo","setupRtlMode","formatMenu","createFormats","initOnPostRender","toggleUndoRedoState","checkState","typeFn","newFormats","defaultStyleFormats","createMenu","menuItem","createStylesMenu","style_formats_merge","style_formats","itemDefaults","textStyle","createFormatMenu","outdent","cut","help","selectall","visualaid","newdocument","alignnone","trimMenuItems","outputMenuItems","createCustomMenuItems","nameList","ar","flatten","createInsertMenu","insert_button_items","prependToContext","createContextMenuItems","hideFormatMenuItems","hideMenuObjects","selectable","oncreatemenu","onShowMenu","style_formats_autohide","block_formats","fixedWidth","onselect","createListBoxChangeHandler","fonts","font_formats","getFirstFont","createFontNameListBoxChangeHandler","fontsize_formats","px","pt","createFontSizeListBoxChangeHandler","registerControls","ui_container","setupContainer","posX","posY","ctrlSettings","spacingH","spacingV","alignH","alignV","ctrlMinWidth","ctrlMinHeight","availableWidth","availableHeight","reverseRows","colWidths","rowHeights","columns","flexV","packV","flexWidths","severity","strong","startMinH","targetCtrl","forName","Toolbar","MenuBar","MenuButton","_renderOpen","hasVisibleSiblingMenu","overCtrl","ariaHideMenu","hasMenus","_parentMenu","_lastRel","iconHtml","escapeRegExp","markMatches","boldMatches","convertShortcut","textElm","MenuItem","Throbber","itemsFactory","hideThrobber","throbber","requestTime","_hasIcons","lastItemCtrl","setSelected","menuValues","lastControl","activateMenuItemsByValue","getSelectedItem","Checkbox","resizeDragHelper","strOptions","_options","minVal","maxVal","setAriaProp","updateSliderHandle","shortSizeName","stylePosName","styleValue","handleEl","_minValue","_maxValue","previewFilter","minValue","maxValue","_initValue","screenCordName","startHandlePos","maxHandlePos","handlePos","alter","fromFraction","toFraction","handleKeyboard","_dragHelper","mainButtonElm","menuButtonElm","_menuBtnText","FlowLayout","activateTab","activeTabElm","activeTabId","tabsHtml","activeTab","targetParent","headH","hidefocus","privateModules","AMDLC_TESTS","expose","dem","actual","deps","defn","defResult","instantiate","defineGlobal","util","createToolbar","buttonGroup","toolbarItems","itemName","bindSelectorChanged","stateSelector","disabledStateSelector","createToolbars","toolbars","addToolbar","toolbar","defaultMenus","edit","tools","createMenuItem","editorMenuItems","menuButton","isUserDefined","removedMenuItems","removed_menuitems","createMenuButtons","menuButtons","defaultMenuBar","enabledMenuNames","menubar","geom","Rect","toClientRect","geomRect","movePanelTo","userConstrain","elementRect","contentAreaRect","panelRect","addContextualToolbars","getContextToolbars","reposition","shouldShow","relPos","relRect","testPositions","inline_toolbar_position_handler","getElementRect","togglePositionClass","pos1","hideAllFloatingPanels","repositionHandler","findFrontMostMatch","showContextToolbar","oncancel","hideAllContextToolbars","addKeys","sidebar","api","btnCtrl","findSidebar","hidePanels","deactivateButtons","hasSidebar","createSidebar","fireSkinLoaded","iframeElm","iframeSize","min_width","max_width","max_height","Menubar","ContextToolbars","A11y","SkinLoaded","Resize","editArea","resizeHandleCtrl","startSize","skinUiCss","toolbar_items_size","editAreaContainer","onResizeStart","onResize","switchMode","inlineToolbarContainer","fixed_toolbar_container","_fixed","bodyPos","scrollContainerPos","Iframe","Inline","ProgressState","skin","skinUrl","skin_url","attachState","isLink","hasLinks","getLink","getSelectedLink","openDetachedWindow","appendClickRemove","gotoLink","getHref","targetEl","gotoSelectedLink","createLinkList","linkList","link_list","buildListItems","inputList","itemCallback","startItems","appendItems","showDialog","anchorElm","initialText","onlyText","textListCtrl","linkListCtrl","relListCtrl","targetListCtrl","classListCtrl","linkTitleCtrl","linkListChangeHandler","textCtrl","updateText","isOnlyTextSelected","default_link_target","target_list","rel_list","link_class_list","link_title","inp","onkeyup","onbeforecall","anchorList","buildAnchorListControl","onSubmit","delayedConfirm","createLink","linkAttrs","insertLink","link_assume_external_targets","link_context_toolbar","contextmenu","isContextMenuVisible","hasOnlyAltModifier","toggleVisibility","domParser","ignoreElements","startFragment","endFragment","fragmentHtml","endPos","getInnerFragment","s1","s2","createIdGenerator","isMsEdge","isAbsoluteUrl","isImageUrl","linkSelection","pasteHtml","insertImage","createImage","paste_merge_formats","smart_paste","smartInsertContent","Utils","SmartPaste","pasteBinElm","keyboardPastePlainTextState","keyboardPasteTimeStamp","draggingInternally","pasteBinDefaultContent","tempBody","pasteText","forcedRootBlockStartHtml","createPasteBin","getCaretRect","removePasteBin","pasteBinClone","getPasteBinHtml","pasteBinClones","cloneHtml","getDataTransferItems","legacyText","hasHtmlOrText","hasContentType","pasteImage","getBase64FromUri","Image","existingBlobInfo","pasteImageData","processItems","hadImage","paste_data_images","clipboardContent","isKeyboardPasteEvent","registerEventHandlers","insertClipboardContent","isKeyBoardPaste","plainTextMode","removePasteBinOnKeyUp","ieFake","clipboardTimer","clipboardEvent","text/html","getClipboardContent","clipboardDelay","pasteFormat","isBrokenAndroidClipboardEvent","dropContent","getCaretRangeFromEvent","plainTextContent","isPlainTextFileUrl","paste_filter_drop","isWordContent","isNumericList","patterns","WordFilter","retainStyleProperties","filterStyles","outputStyles","_listLevel","_listIgnore","paste_retain_style_properties","paste_enable_default_filters","wordContent","paste_word_valid_elements","paste_convert_word_fake_lists","currentListNode","prevListNode","txt","trimListStart","convertParagraphToLi","paragraphNode","listName","removeIgnoredNodes","nodeText","convertFakeListsToProperLists","addPreProcessFilter","filterFunc","webKitStyles","paste_webkit_styles","paste_remove_styles_if_webkit","inputStyles","inputValue","explorerBlocksRegExp","Clipboard","userIsInformed","clipboard","togglePlainTextPaste","paste_plaintext_inform","stateChange","wordFilter","paste_as_text","paste_preprocess","paste_postprocess","paste_block_drop","isTextNode","isListNode","isListItemNode","isFirstChild","isLastChild","isBogusBr","keepBookmarks","isChildOfBody","getSelectedListItems","getNormalizedEndPoint","outRng","rangeStart","rangeEnd","setupEndPoint","resolveBookmark","normalizeList","normalizeLists","createNewTextBlock","contentNode","hasContentNode","TextBlock","splitList","bookmarks","Bookmark","SplitList","NormalizeLists","removeEmptyLi","ulParent","outdentSelection","listElements","updateListWithDetails","updateListStyle","updateListAttrs","getEndPointNode","applyList","listItemName","getSelectedTextBlocks","listBlock","sib","sibStyle","detailStyle","mergeWithAdjacentLists","removeList","emptyListItems","rootList","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm1","elm2","hasSameClasses","toggleList","parentList","ToggleList","findNextCaretContainer","nonEmptyBlocks","mergeLiElements","fromElm","toElm","listNode","backspaceDeleteCaret","otherLi","backspaceDeleteFromListToListCaret","backspaceDeleteIntoListCaret","backspaceDeleteRange","mergeLists","indentSelection","newList","listStyle","Delete","Indent","queryListCommandState","listState","lists","setupUi","isHandled","setupCommands","setupStateHandlers","setupTabKey","renderColorPicker","getColorCellHtml","isNoColor","colorMap","textcolor_map","mapColors","color_picker_callback","applyFormat","onPanelClick","buttonCtrl","selectColor","setDivColor","customColorCells","tableElm","getCurrentColor","lastId","onButtonClick","forecolor_rows","textcolor_rows","backcolor","backcolor_rows","forecolor_cols","textcolor_cols","backcolor_cols"],"mappings":"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","file":"mosaico-libs-and-tinymce.min.js"} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico-material.min.css b/client/static/mosaico/rs/mosaico-material.min.css new file mode 100644 index 00000000..902b3cc3 --- /dev/null +++ b/client/static/mosaico/rs/mosaico-material.min.css @@ -0,0 +1,8 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.mo{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:13.6px;line-height:1.5em}#main-toolbox{line-height:normal}#main-toolbox .propEditor .propInput .checkbox-replacer{padding:4px 2px;font-size:1.2em}#main-toolbox .objLabel.level0,#main-toolbox .pane-title{font-size:1.2em}#main-toolbox .objLabel.level1{font-size:1.2em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1.2em}#main-toolbox .propInput .data-select:after,#main-toolbox .propInput .evo-pointer:before{width:31px;padding:0 10px}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{width:30px;padding:0}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon{margin:0}#main-toolbox .propInput .ui-spinner-button{width:30px}#main-toolbox .propInput .ui-spinner-button .ui-icon{left:6px;top:8px}#main-toolbox .evo-pop .evo-more{font-size:1em}#toolimages .img-dropzone{position:relative}#toolimages .img-dropzone.ui-state-highlight:before{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#toolimages .img-dropzone.ui-state-draghover:before{background-color:rgba(255,87,34,.8);-webkit-animation:none;animation:none}#toolimages .uploadzone{font-size:1.2em}.mo a,.mo a:link,.mo a:visited,.mo a:active,.mo #site-slogan{color:#ff5722;text-decoration:none}li .mo a,li .mo a:link,li .mo a:visited,li .mo a:active,li .mo #site-slogan{color:#ff5722}.mo a:hover{color:#bb2d00}li .mo a:hover{color:#bb2d00}.mo a.disabled,.mo a.disabled:link,.mo a.disabled:visited{color:#220800}.mo b,.mo strong{font-weight:700}.mo i,.mo em{font-style:italic}.mo ul,.mo ol{margin:.5em 0;padding:0 0 0 1.5em}.mo ul li,.mo ol li{margin:.5em 0}.mo ul li a,.mo ol li a,.mo ul li a:active,.mo ol li a:active,.mo ul li a:link,.mo ol li a:link,.mo ul li a:visited,.mo ol li a:visited{white-space:nowrap}.mo p{margin:1em 0}.mo p .grey{color:#969696}.mo small{font-size:smaller}.mo big{font-size:larger}.mo h1{font-size:2em;margin:.5em 0}.mo h2,.mo h3.box_title{font-size:1.5em;margin:.5em 0}.mo h3{font-size:1.3em;margin:.5em 0}.mo dl{margin-bottom:1.5em}.mo dl dt{font-weight:700}.mo dl dd{margin-left:10px;font-style:italic}.mo hr{border:0;border-top:2px solid #d5d5d5;margin:1em 0}.mo blockquote{font-style:italic;border-left:2px solid #d5d5d5;padding:.5em}.mo code{display:inline-block;border-left:2px solid #d5d5d5;padding:.5em}.mo table{width:100%;border-collapse:collapse;border-spacing:0;margin:1.5em 0;border-bottom:2px solid #d5d5d5}.mo table tr.even,.mo table tr.odd{border:none;padding:0;background-color:transparent}.mo table th{padding:.5em .7em;font-weight:700;border-top:0 none;border-bottom:2px solid #d5d5d5;vertical-align:middle;background-color:#900000}.mo table td{padding:.1em .7em;height:3.3em;background-color:#eee;border-top:0 none;vertical-align:middle}.mo table td.active{background-color:#eee}.mo table>tr.even>td,.mo table>tbody>tr.even>td{background-color:#d2a7a7}.mo table>tr.even>td.active,.mo table>tbody>tr.even>td.active{background-color:#d2a7a7}.mo table tr:first-child th:first-child{border-top-left-radius:2.8px}.mo table tr:first-child th:last-child{border-top-right-radius:2.8px}.mo table .checkbox_cell{width:3em}.mo table tr.selected td,.mo table tr.selected td.active{background-color:#ffff90!important}.mo table tr.odd.selected td,.mo table tr.odd.selected td.active,.mo table tr:nth-child(odd).selected td,.mo table tr:nth-child(odd).selected td.active{background-color:#fafaac!important}.mo .table-wrapper-scroll{width:100%;overflow-x:auto}.mo caption{color:#ff5722;font-weight:700;text-align:left;padding:.5em .7em}.mo div.showall{padding:0 .7em .5em;vertical-align:middle;clear:both}.mo ul.links{margin:0;padding:0}.mo ul.links.inline{display:inline}.mo ul.links li{display:inline;list-style-type:none;padding:0 .5em}.mo .small{font-size:80%}.mo .big{font-size:120%}.mo .clear-block{clear:both}.mo .margin-top{margin-top:.5em}.mo .overflow-hidden{overflow:hidden}.mo .quarter-width{width:25%!important}.mo .half-width{width:50%!important}.mo .three-quarter-width{width:75%!important}.mo .full-width{width:100%!important}.mo .normal-width{width:auto!important}.mo .clickable{cursor:pointer}.mo .help{background-color:#b65f5f;margin:1em 0;padding:.8em}.mo .help p:first-child{margin-top:0}.mo .help p:last-child{margin-bottom:0}.mo .dropdown{position:absolute;z-index:1003;margin:0;padding:.5em 1em;border-radius:2px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 4px 10px #727272;box-shadow:0 4px 10px #727272;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal}.mo .dropdown.dropdown-right{right:0}.mo .dropdown.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .dropdown,.button_links .mo .dropdown,.links.inline .mo .dropdown{margin:-.4em 0 0}.cell_links .mo .dropdown,.top_links .mo .dropdown,.box_top_links .mo .dropdown,.slide_links .mo .dropdown{margin:.2em 0 0}.mo .dropdown hr{margin:.5em -1em;border-top:1px solid #fff2ee;-webkit-box-shadow:none;box-shadow:none}.container-inline .mo .dropdown{display:block}.mo .dropdown .dropdown_footer{padding:.5em 0 0;margin:0}.mo .dropdown-container{position:relative;white-space:nowrap;display:inline-block}.container-inline .mo .dropdown-container{display:inline-block}.form-item .mo .dropdown-container{margin:0 .5em 0 0}.mo [class^=icon-]:before,.mo [class*=" icon-"]:before{margin-right:0;margin-left:0}.mo i.icon{cursor:default}.mo a:link i.icon{cursor:pointer}.mo .icon_red{color:#bd362f}.mo .icon_green{color:#51a351}.mo img.icon{vertical-align:text-top}.mo a.hint,.mo a.info{color:#636363;font-size:80%;vertical-align:top;margin:0 .2em}.mo a.hint:hover,.mo a.info:hover{color:#ff5722}h1 .mo a.hint,h1 .mo a.info,h2 .mo a.hint,h2 .mo a.info,h3 .mo a.hint,h3 .mo a.info{font-size:60%}li .mo a.hint,li .mo a.info{color:#636363}.mo a.hint{cursor:help}.mo .suffix_icon{font-size:80%}.mo div.info{padding:.5em;background-color:#b65f5f;margin:.5em 0}.mo .menu_step_circle{display:inline-block;background-color:#ddd;color:#303030;padding:.3em .6em;margin:0 .2em 0 0;border-radius:1em}.mo .menu_step_circle.current{background-color:#900000}.mo .menu_step_circle.disabled{color:#969696}.mo a.button_dropdown_split{border-left:1px solid #303030;padding-left:.5em}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo .button_links a.button_dropdown_split,li .mo .links.inline a.button_dropdown_split,li .mo .cell_links a.button_dropdown_split{color:#eee}.mo .button_links a.button_dropdown_split img,.mo .links.inline a.button_dropdown_split img,.mo .cell_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo .button_links a.button_dropdown_split:hover,.mo .links.inline a.button_dropdown_split:hover,.mo .cell_links a.button_dropdown_split:hover,.mo .button_links a.button_dropdown_split.pressed,.mo .links.inline a.button_dropdown_split.pressed,.mo .cell_links a.button_dropdown_split.pressed,.mo .button_links a.button_dropdown_split.selected,.mo .links.inline a.button_dropdown_split.selected,.mo .cell_links a.button_dropdown_split.selected{text-decoration:none;background-color:#ee3900}.mo .button_links a.button_dropdown_split.disabled,.mo .links.inline a.button_dropdown_split.disabled,.mo .cell_links a.button_dropdown_split.disabled{color:#ffa588}.mo .button_links a.button_dropdown_split.disabled a,.mo .links.inline a.button_dropdown_split.disabled a,.mo .cell_links a.button_dropdown_split.disabled a,.mo .button_links a.button_dropdown_split.disabled .link,.mo .links.inline a.button_dropdown_split.disabled .link,.mo .cell_links a.button_dropdown_split.disabled .link{color:#ffa588}.mo .button_links a.button_dropdown_split.disabled:hover,.mo .links.inline a.button_dropdown_split.disabled:hover,.mo .cell_links a.button_dropdown_split.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .button_links a.button_dropdown_split.inline,.mo .links.inline a.button_dropdown_split.inline,.mo .cell_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo .button_links a.button_dropdown_split.primary,.mo .links.inline a.button_dropdown_split.primary,.mo .cell_links a.button_dropdown_split.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .button_links a.button_dropdown_split.primary:hover,.mo .links.inline a.button_dropdown_split.primary:hover,.mo .cell_links a.button_dropdown_split.primary:hover,.mo .button_links a.button_dropdown_split.primary.pressed,.mo .links.inline a.button_dropdown_split.primary.pressed,.mo .cell_links a.button_dropdown_split.primary.pressed,.mo .button_links a.button_dropdown_split.primary.selected,.mo .links.inline a.button_dropdown_split.primary.selected,.mo .cell_links a.button_dropdown_split.primary.selected{background-color:#ee3900}.mo .button_links a.button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .button_links a.button_dropdown_split.big .suffix_icon,.mo .links.inline a.button_dropdown_split.big .suffix_icon,.mo .cell_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .button_links a.button_dropdown_split.with_button_dropdown_split,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo .button_links a.button_dropdown_split.loading,.mo .links.inline a.button_dropdown_split.loading,.mo .cell_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split,.mo .top_links a.button_dropdown_split{margin-left:-1.5em;border-left:1px solid transparent!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;z-index:2}.mo a.button,.mo input.form-submit{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo a.button,li .mo input.form-submit{color:#eee}.mo a.button img,.mo input.form-submit img{vertical-align:middle;margin:0 .2em}.mo a.button:hover,.mo input.form-submit:hover,.mo a.button.pressed,.mo input.form-submit.pressed,.mo a.button.selected,.mo input.form-submit.selected{text-decoration:none;background-color:#ee3900}.mo a.button.disabled,.mo input.form-submit.disabled{color:#ffa588}.mo a.button.disabled a,.mo input.form-submit.disabled a,.mo a.button.disabled .link,.mo input.form-submit.disabled .link{color:#ffa588}.mo a.button.disabled:hover,.mo input.form-submit.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo a.button.inline,.mo input.form-submit.inline{margin:0 7px 0 0}.mo a.button.primary,.mo input.form-submit.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo a.button.primary:hover,.mo input.form-submit.primary:hover,.mo a.button.primary.pressed,.mo input.form-submit.primary.pressed,.mo a.button.primary.selected,.mo input.form-submit.primary.selected{background-color:#ee3900}.mo a.button.big,.mo input.form-submit.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo a.button.big .suffix_icon,.mo input.form-submit.big .suffix_icon{font-size:55%;vertical-align:middle}.mo a.button.with_button_dropdown_split,.mo input.form-submit.with_button_dropdown_split{padding-right:1.2em}.mo a.button.with_button_dropdown_split.big,.mo input.form-submit.with_button_dropdown_split.big{padding-right:1.8em}.mo a.button.loading,.mo input.form-submit.loading{opacity:.5;background-image:none}.mo ul.links a{font-weight:700}.mo ul.button_links li,.mo ul.inline li{padding:0}.mo ul.button_links li a,.mo ul.inline li a{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo ul.button_links li a,li .mo ul.inline li a{color:#eee}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:middle;margin:0 .2em}.mo ul.button_links li a:hover,.mo ul.inline li a:hover,.mo ul.button_links li a.pressed,.mo ul.inline li a.pressed,.mo ul.button_links li a.selected,.mo ul.inline li a.selected{text-decoration:none;background-color:#ee3900}.mo ul.button_links li a.disabled,.mo ul.inline li a.disabled{color:#ffa588}.mo ul.button_links li a.disabled a,.mo ul.inline li a.disabled a,.mo ul.button_links li a.disabled .link,.mo ul.inline li a.disabled .link{color:#ffa588}.mo ul.button_links li a.disabled:hover,.mo ul.inline li a.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.button_links li a.inline,.mo ul.inline li a.inline{margin:0 7px 0 0}.mo ul.button_links li a.primary,.mo ul.inline li a.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.button_links li a.primary:hover,.mo ul.inline li a.primary:hover,.mo ul.button_links li a.primary.pressed,.mo ul.inline li a.primary.pressed,.mo ul.button_links li a.primary.selected,.mo ul.inline li a.primary.selected{background-color:#ee3900}.mo ul.button_links li a.big,.mo ul.inline li a.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.button_links li a.big .suffix_icon,.mo ul.inline li a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.button_links li a.with_button_dropdown_split,.mo ul.inline li a.with_button_dropdown_split{padding-right:1.2em}.mo ul.button_links li a.with_button_dropdown_split.big,.mo ul.inline li a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.button_links li a.loading,.mo ul.inline li a.loading{opacity:.5;background-image:none}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.buttonbar{white-space:nowrap}.mo ul.buttonbar>li,.mo ul.buttonbar>.dropdown-container>li{margin:0 1px 0 0;float:left}.mo ul.buttonbar>li a,.mo ul.buttonbar>.dropdown-container>li a,.mo ul.buttonbar>li a.big,.mo ul.buttonbar>.dropdown-container>li a.big{margin-left:0;margin-right:0;border-radius:0}.mo ul.buttonbar>li a.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.with_button_dropdown_split,.mo ul.buttonbar>li a.big.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.big.with_button_dropdown_split{margin-right:7px}.mo ul.buttonbar>li.first a,.mo ul.buttonbar>.dropdown-container>li.first a{border-radius:2px 0 0 2px}.mo ul.buttonbar>li.first a.big,.mo ul.buttonbar>.dropdown-container>li.first a.big{border-radius:2.8px 0 0 2.8px}.mo ul.buttonbar>li.last a,.mo ul.buttonbar>.dropdown-container>li.last a{border-radius:0 2px 2px 0}.mo ul.buttonbar>li.last a.big,.mo ul.buttonbar>.dropdown-container>li.last a.big{border-radius:0 2.8px 2.8px 0}.mo ul.buttonbar.top_links{margin-left:.5em}.mo ul.buttonbar:after{content:"";display:table;clear:both}.mo ul.cell_links>li,.mo ul.cell_links>.dropdown-container>li{padding:0}.mo ul.cell_links>li>a,.mo ul.cell_links>.dropdown-container>li>a{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;margin:0 .5em 0 0}li .mo ul.cell_links>li>a,li .mo ul.cell_links>.dropdown-container>li>a{color:#eee}.mo ul.cell_links>li>a img,.mo ul.cell_links>.dropdown-container>li>a img{vertical-align:middle;margin:0 .2em}.mo ul.cell_links>li>a:hover,.mo ul.cell_links>.dropdown-container>li>a:hover,.mo ul.cell_links>li>a.pressed,.mo ul.cell_links>.dropdown-container>li>a.pressed,.mo ul.cell_links>li>a.selected,.mo ul.cell_links>.dropdown-container>li>a.selected{text-decoration:none;background-color:#ee3900}.mo ul.cell_links>li>a.disabled,.mo ul.cell_links>.dropdown-container>li>a.disabled{color:#ffa588}.mo ul.cell_links>li>a.disabled a,.mo ul.cell_links>.dropdown-container>li>a.disabled a,.mo ul.cell_links>li>a.disabled .link,.mo ul.cell_links>.dropdown-container>li>a.disabled .link{color:#ffa588}.mo ul.cell_links>li>a.disabled:hover,.mo ul.cell_links>.dropdown-container>li>a.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.cell_links>li>a.inline,.mo ul.cell_links>.dropdown-container>li>a.inline{margin:0 7px 0 0}.mo ul.cell_links>li>a.primary,.mo ul.cell_links>.dropdown-container>li>a.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.cell_links>li>a.primary:hover,.mo ul.cell_links>.dropdown-container>li>a.primary:hover,.mo ul.cell_links>li>a.primary.pressed,.mo ul.cell_links>.dropdown-container>li>a.primary.pressed,.mo ul.cell_links>li>a.primary.selected,.mo ul.cell_links>.dropdown-container>li>a.primary.selected{background-color:#ee3900}.mo ul.cell_links>li>a.big,.mo ul.cell_links>.dropdown-container>li>a.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.cell_links>li>a.big .suffix_icon,.mo ul.cell_links>.dropdown-container>li>a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.cell_links>li>a.with_button_dropdown_split,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split{padding-right:1.2em}.mo ul.cell_links>li>a.with_button_dropdown_split.big,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.cell_links>li>a.loading,.mo ul.cell_links>.dropdown-container>li>a.loading{opacity:.5;background-image:none}.mo ul.cell_links a.button_dropdown_split{margin-top:0;margin-bottom:0}td .mo ul.cell_links{text-align:right}.mo .td_cell_links{text-align:right;white-space:nowrap}.mo ul.top_links,.mo ul.box_top_links{float:right;text-align:right}.mo ul.top_links>*,.mo ul.box_top_links>*{line-height:normal;text-align:left;margin-bottom:.4em}.mo ul.top_links li a,.mo ul.box_top_links li a,.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;border-radius:2.8px;padding:.25em .4em;font-size:1.3em}li .mo ul.top_links li a,li .mo ul.box_top_links li a,li .mo ul.top_links a.button_dropdown_split,li .mo ul.box_top_links a.button_dropdown_split{color:#eee}.mo ul.top_links li a img,.mo ul.box_top_links li a img,.mo ul.top_links a.button_dropdown_split img,.mo ul.box_top_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo ul.top_links li a:hover,.mo ul.box_top_links li a:hover,.mo ul.top_links a.button_dropdown_split:hover,.mo ul.box_top_links a.button_dropdown_split:hover,.mo ul.top_links li a.pressed,.mo ul.box_top_links li a.pressed,.mo ul.top_links a.button_dropdown_split.pressed,.mo ul.box_top_links a.button_dropdown_split.pressed,.mo ul.top_links li a.selected,.mo ul.box_top_links li a.selected,.mo ul.top_links a.button_dropdown_split.selected,.mo ul.box_top_links a.button_dropdown_split.selected{text-decoration:none;background-color:#ee3900}.mo ul.top_links li a.disabled,.mo ul.box_top_links li a.disabled,.mo ul.top_links a.button_dropdown_split.disabled,.mo ul.box_top_links a.button_dropdown_split.disabled{color:#ffa588}.mo ul.top_links li a.disabled a,.mo ul.box_top_links li a.disabled a,.mo ul.top_links a.button_dropdown_split.disabled a,.mo ul.box_top_links a.button_dropdown_split.disabled a,.mo ul.top_links li a.disabled .link,.mo ul.box_top_links li a.disabled .link,.mo ul.top_links a.button_dropdown_split.disabled .link,.mo ul.box_top_links a.button_dropdown_split.disabled .link{color:#ffa588}.mo ul.top_links li a.disabled:hover,.mo ul.box_top_links li a.disabled:hover,.mo ul.top_links a.button_dropdown_split.disabled:hover,.mo ul.box_top_links a.button_dropdown_split.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo ul.top_links li a.inline,.mo ul.box_top_links li a.inline,.mo ul.top_links a.button_dropdown_split.inline,.mo ul.box_top_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo ul.top_links li a.primary,.mo ul.box_top_links li a.primary,.mo ul.top_links a.button_dropdown_split.primary,.mo ul.box_top_links a.button_dropdown_split.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo ul.top_links li a.primary:hover,.mo ul.box_top_links li a.primary:hover,.mo ul.top_links a.button_dropdown_split.primary:hover,.mo ul.box_top_links a.button_dropdown_split.primary:hover,.mo ul.top_links li a.primary.pressed,.mo ul.box_top_links li a.primary.pressed,.mo ul.top_links a.button_dropdown_split.primary.pressed,.mo ul.box_top_links a.button_dropdown_split.primary.pressed,.mo ul.top_links li a.primary.selected,.mo ul.box_top_links li a.primary.selected,.mo ul.top_links a.button_dropdown_split.primary.selected,.mo ul.box_top_links a.button_dropdown_split.primary.selected{background-color:#ee3900}.mo ul.top_links li a.big,.mo ul.box_top_links li a.big,.mo ul.top_links a.button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo ul.top_links li a.big .suffix_icon,.mo ul.box_top_links li a.big .suffix_icon,.mo ul.top_links a.button_dropdown_split.big .suffix_icon,.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.top_links li a.with_button_dropdown_split,.mo ul.box_top_links li a.with_button_dropdown_split,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo ul.top_links li a.with_button_dropdown_split.big,.mo ul.box_top_links li a.with_button_dropdown_split.big,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.top_links li a.loading,.mo ul.box_top_links li a.loading,.mo ul.top_links a.button_dropdown_split.loading,.mo ul.box_top_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo ul.top_links li,.mo ul.box_top_links li{padding:0}.mo ul.top_links li a,.mo ul.box_top_links li a{margin:0 0 0 .5em}.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{margin:0 0 0 -1em}.mo ul.top_links .dropdown,.mo ul.box_top_links .dropdown{margin-left:.5em}.mo ul.popup_links>li,.mo ul.popup_links>.dropdown-container>li{display:block;padding:0;margin:0}.mo ul.popup_links>li>a,.mo ul.popup_links>.dropdown-container>li>a{display:block;border:none;padding:.5em;margin:0;border-radius:0;position:relative;overflow:hidden;text-overflow:ellipsis;font-weight:700;background-color:transparent;color:#303030}.mo ul.popup_links>li>a img,.mo ul.popup_links>.dropdown-container>li>a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.popup_links>li>a.disabled,.mo ul.popup_links>.dropdown-container>li>a.disabled{color:#969696!important}.mo ul.popup_links>li>a.disabled:hover,.mo ul.popup_links>.dropdown-container>li>a.disabled:hover{border:none}.mo ul.popup_links>li>a .badge,.mo ul.popup_links>.dropdown-container>li>a .badge{position:absolute;right:0;margin-left:1em;top:.6em}.mo ul.popup_links>li:hover,.mo ul.popup_links>.dropdown-container>li:hover{background-color:#ff5722;color:#eee}.mo ul.popup_links>li:hover a,.mo ul.popup_links>.dropdown-container>li:hover a{color:#eee}.mo ul.popup_links>li .cell_links>li>a,.mo ul.popup_links>.dropdown-container>li .cell_links>li>a{border-color:#979797}.mo ul.popup_links>li.separator,.mo ul.popup_links>.dropdown-container>li.separator{border-top:1px solid #ff5722;margin:.5em 0}.mo ul.popup_links.table_columns>li>a,.mo ul.popup_links.table_columns>.dropdown-container>li>a{display:table-cell;vertical-align:middle;width:100%}.mo ul.popup_links.table_columns>li>.table_column,.mo ul.popup_links.table_columns>.dropdown-container>li>.table_column{display:table-cell;vertical-align:middle;width:auto}.mo .dropdown ul.popup_links{margin:-.5em -1em}.mo .dropdown ul.popup_links>li>a,.mo .dropdown ul.popup_links>.dropdown-container>li>a{text-align:left;width:100%}.mo select,.mo textarea{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none}.mo select:focus,.mo textarea:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo select.inline,.mo textarea.inline{margin-right:.5em;width:auto}.mo input:disabled,.mo select:disabled,.mo textarea:disabled{opacity:.5!important}.mo ::-webkit-input-placeholder{color:#7c7c7c;opacity:1}.mo :-ms-input-placeholder{color:#7c7c7c;opacity:1}.mo ::-ms-input-placeholder{color:#7c7c7c;opacity:1}.mo ::placeholder{color:#7c7c7c;opacity:1}.mo .async_loading{color:transparent;text-align:center;background:url(../../../../misc/others/loading.gif) no-repeat 50% 50% transparent;opacity:.5}.mo .async_loading_iframe{background:url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent}.mo .ui-helper-hidden{display:none}.mo .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}.mo .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.mo .ui-helper-clearfix:before,.mo .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.mo .ui-helper-clearfix:after{clear:both}.mo .ui-helper-clearfix{min-height:0}.mo .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.mo .ui-front{z-index:1004}.mo .ui-state-disabled{cursor:default!important}.mo .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.mo .ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.mo .ui-widget-overlay{background:#aaa none;opacity:.6;filter:alpha(opacity=60)}.mo .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa none;opacity:.3;filter:alpha(opacity=30);border-radius:8px}.mo .ui-corner-all{border-radius:2px}.mo .ui-button{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase}li .mo .ui-button{color:#eee}.mo .ui-button img{vertical-align:middle;margin:0 .2em}.mo .ui-button:hover,.mo .ui-button.pressed,.mo .ui-button.selected{text-decoration:none;background-color:#ee3900}.mo .ui-button.disabled{color:#ffa588}.mo .ui-button.disabled a,.mo .ui-button.disabled .link{color:#ffa588}.mo .ui-button.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .ui-button.inline{margin:0 7px 0 0}.mo .ui-button.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .ui-button.primary:hover,.mo .ui-button.primary.pressed,.mo .ui-button.primary.selected{background-color:#ee3900}.mo .ui-button.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .ui-button.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .ui-button.with_button_dropdown_split{padding-right:1.2em}.mo .ui-button.with_button_dropdown_split.big{padding-right:1.8em}.mo .ui-button.loading{opacity:.5;background-image:none}.mo .ui-button .ui-button-text,.mo .ui-button .ui-icon{color:#eee}.mo .ui-button.ui-button-icon-only .ui-icon{margin:0 .1em}.mo .ui-button.ui-button-icon-only .ui-button-text{display:none}.mo .ui-button.ui-button-disabled{color:#ffa588}.mo .ui-button.ui-button-disabled a,.mo .ui-button.ui-button-disabled .link{color:#ffa588}.mo .ui-button.ui-button-disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .ui-button.ui-button-disabled .ui-button-text,.mo .ui-button.ui-button-disabled .ui-icon{color:#ffa588}.mo .ui-button.ui-state-active{text-decoration:none;background-color:#ee3900}.mo .ui-buttonset{margin-right:7px;vertical-align:middle;font-size:0}.mo .ui-buttonset>.ui-button{font-size:13.6px;margin-right:1px;border-radius:0}.mo .ui-buttonset>.ui-button.ui-corner-left{border-radius:2px 0 0 2px}.mo .ui-buttonset>.ui-button.ui-corner-right{border-radius:0 2px 2px 0}.mo .ui-dialog{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;position:absolute;overflow:hidden;width:300px;padding:0;font-size:1em;z-index:1005}.mo .ui-dialog .ui-dialog-titlebar{position:relative;padding:.5em 1em .3em;color:#303030;background:none #900000;border:none;font-weight:700;border-radius:0;color:#eee;font-size:1.1em}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#303030}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#eee}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title{float:left;margin:.1em 16px .2em 0}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{position:absolute;right:.3em;top:35%;width:21px;margin:-10px 0 0;padding:1px;height:20px;cursor:pointer;border:0 none;background:none transparent;-webkit-box-shadow:none;box-shadow:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner{border:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon{position:absolute;top:50%;margin-top:-8px;left:50%;margin-left:-8px}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text{display:block;line-height:normal;padding:.4em;text-indent:-9999999px}.mo .ui-dialog .ui-dialog-content{border:0;padding:.5em 1em;background:none;zoom:1;max-height:600px;position:relative}.mo .ui-dialog .ui-dialog-content .async_loading_iframe{margin:-.5em 0 0}.mo .ui-dialog .async_loading_iframe{width:100%;height:100%;min-height:100px}.mo .ui-dialog .async_loading_iframe.with_bg{width:10%;height:6%;min-height:50px;position:absolute;left:45%;top:47%}.mo .ui-dialog .async_loading_iframe.over{position:absolute;left:0;top:0}.mo .ui-dialog .ui-dialog-buttonpane{text-align:center;background-image:none;margin:.5em 0 0;border:none;padding:.3em 0}.mo .ui-dialog.dialog_info .ui-dialog-titlebar{background:none #604b5a}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #a71b18}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #715229}.mo .ui-dialog.dialog_standard_href .ui-dialog-content{padding:0;min-height:600px}.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,.mo .ui-dialog.dialog_standard_content .ui-dialog-content,.mo .ui-dialog.dialog_standard_rel .ui-dialog-content{overflow:auto}.mo .ui-dialog.no-close .ui-dialog-titlebar-close{display:none}.mo .ui-dialog:focus,.mo .ui-dialog:-moz-focusring{outline:0 none!important}.mo .ui-menu{list-style:outside none none;padding:0;margin:0;display:block;outline:medium none}.mo .ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0}.mo .ui-autocomplete{top:0;left:0;cursor:default;position:absolute;z-index:1003;padding:.5em 1em;border-radius:2px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 4px 10px #727272;box-shadow:0 4px 10px #727272;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal;min-width:auto;max-width:none;margin:0;padding:0}.mo .ui-autocomplete.dropdown-right{right:0}.mo .ui-autocomplete.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .ui-autocomplete,.button_links .mo .ui-autocomplete,.links.inline .mo .ui-autocomplete{margin:-.4em 0 0}.cell_links .mo .ui-autocomplete,.top_links .mo .ui-autocomplete,.box_top_links .mo .ui-autocomplete,.slide_links .mo .ui-autocomplete{margin:.2em 0 0}.mo .ui-autocomplete hr{margin:.5em -1em;border-top:1px solid #fff2ee;-webkit-box-shadow:none;box-shadow:none}.container-inline .mo .ui-autocomplete{display:block}.mo .ui-autocomplete .dropdown_footer{padding:.5em 0 0;margin:0}.mo .ui-autocomplete .ui-menu-item{display:block;padding:.5em;margin:0;font-weight:700}.mo .ui-autocomplete .ui-menu-item.ui-state-focus,.mo .ui-autocomplete .ui-menu-item.ui-state-active{background-color:#ff5722;color:#eee}.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,.mo .ui-autocomplete .ui-menu-item.ui-state-active a{color:#eee}.mo .ui-tabs .ui-tabs-nav{border-radius:0}.mo .ui-tabs.tabs_horizontal>ul{margin:0;border-bottom:1px solid #900000;text-transform:uppercase;padding:0 0 0 .5em}.mo .ui-tabs.tabs_horizontal>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:2px 2px 0 0;background-color:#900000;border:1px solid #900000}.mo .ui-tabs.tabs_horizontal>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal>ul li.ui-state-active a{border-bottom:1px solid #eee;background:transparent;font-weight:700;background-color:transparent;color:#303030}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel{margin-top:.5em}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tabs.tabs_horizontal.button_color>ul{background-color:#900000;margin:0;border-bottom:1px solid #900000;text-transform:uppercase;border-bottom:0;background-color:transparent}.mo .ui-tabs.tabs_horizontal.button_color>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal.button_color>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:2px 2px 0 0;background-color:#ff5722;color:#eee;border:none;font-weight:700}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#ee3900}.mo .ui-tabs.tabs_horizontal.button_color>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{border-bottom:1px solid #eee;background:transparent;font-weight:700;background-color:#eee;color:#303030}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{background-color:transparent}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#c30000;border-bottom:3px solid #c30000}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{background-color:transparent;color:#eee;border-bottom:3px solid #eee}.mo .ui-tabs.tabs_vertical{position:relative;margin:1em 0}.mo .ui-tabs.tabs_vertical>ul{margin:0;padding:0;text-align:left;float:left}.mo .ui-tabs.tabs_vertical>ul li{width:11em;list-style-type:none;padding:.5em 1em;margin:0;text-align:right}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active{background-color:#900000;font-weight:700;border-radius:2px 0 0 2px}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active a{color:#303030}.mo .ui-tabs.tabs_vertical .ui-tabs-panel{background:#eee;border:1px solid #900000;padding:.5em 1em;margin:.5em 0;overflow:auto}.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tooltip{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;max-width:300px;padding:.5em;z-index:1004}.mo .ui-spinner{display:block;margin:10px 0;padding:0;position:relative}.mo .ui-spinner input[type=number]{-moz-appearance:textfield}.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,.mo .ui-spinner input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mo .ui-spinner input[type=number]::-ms-clear{width:0;height:0}.mo .ui-spinner .ui-spinner-input{margin:0;margin-right:2em;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .ui-spinner .ui-spinner-button{width:2.5em;height:50%;min-height:inherit;padding:0;margin:0;position:absolute;right:0;line-height:1em;cursor:pointer}.mo .ui-spinner .ui-spinner-button .ui-icon{display:none}.mo .ui-spinner .ui-spinner-up{top:0;border-bottom:none;border-radius:0 2px 0 0}.mo .ui-spinner .ui-spinner-up .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d8"}.mo .ui-spinner .ui-spinner-down{bottom:0;border-top:none;border-radius:0 0 2px}.mo .ui-spinner .ui-spinner-down .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d7"}.mo .ui-icon{font-family:FontAwesome;background:none repeat scroll 0 0 transparent;text-indent:0;width:auto;height:auto;min-width:16px;vertical-align:middle;margin-top:0;margin-right:.5em}.mo .ui-icon-closethick:before{content:"\f00d"}.mo .ui-draggable .ui-dialog-titlebar{cursor:move}.mo .ui-draggable-handle,.mo .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.mo *,.mo :before,.mo :after{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.mo .ui-icon{overflow:visible}.mo .fa{display:inline-block;font-style:normal}.mo .buttons{text-align:center;padding-top:3px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none;margin:0}.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput input[type=text].inline,.mo .propInput input[type=number].inline,.mo .propInput input[type=url].inline,.mo .propInput select.inline{margin-right:.5em;width:auto}.mo .propInput input[type=text].invalid,.mo .propInput input[type=number].invalid,.mo .propInput input[type=url].invalid,.mo .propInput select.invalid,.mo .propInput input[type=text].error,.mo .propInput input[type=number].error,.mo .propInput input[type=url].error,.mo .propInput select.error{border:2px solid #bd362f}.mo .propInput .data-select{display:block}@media(-ms-high-contrast:active),(-ms-high-contrast:none),not screen\0 {.mo .propInput .data-select{position:relative}.mo .propInput .data-select select{-webkit-appearance:none;-moz-appearance:none;padding-right:30px;font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .data-select select::-ms-expand{display:none}.mo .propInput .data-select:after{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;margin:0;position:absolute;top:0;right:0;bottom:0;line-height:30px;width:28px;margin-right:0;border-top-left-radius:0;border-bottom-left-radius:0;font-family:FontAwesome;content:"\f0d7";font-weight:400;pointer-events:none}li .mo .propInput .data-select:after{color:#eee}.mo .propInput .data-select:after img{vertical-align:middle;margin:0 .2em}.mo .propInput .data-select:after:hover,.mo .propInput .data-select:after.pressed,.mo .propInput .data-select:after.selected{text-decoration:none;background-color:#ee3900}.mo .propInput .data-select:after.disabled{color:#ffa588}.mo .propInput .data-select:after.disabled a,.mo .propInput .data-select:after.disabled .link{color:#ffa588}.mo .propInput .data-select:after.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .propInput .data-select:after.inline{margin:0 7px 0 0}.mo .propInput .data-select:after.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .propInput .data-select:after.primary:hover,.mo .propInput .data-select:after.primary.pressed,.mo .propInput .data-select:after.primary.selected{background-color:#ee3900}.mo .propInput .data-select:after.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .propInput .data-select:after.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .data-select:after.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .data-select:after.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .data-select:after.loading{opacity:.5;background-image:none}}.mo .propInput .ui-textbutton{width:100%;display:inline-table;table-layout:fixed;margin-right:0;vertical-align:middle}.mo .propInput .ui-textbutton .ui-textbutton-input.withButton{display:table-cell;margin:0;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button{display:table-cell;margin-right:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text{line-height:0}.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;width:1.6em}.mo .propEditor{display:table;width:100%}.mo .propLabel{padding:8px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:45%;float:left;text-align:right}.mo .propLabel[title]:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;float:right;position:initial;color:#636363;content:"\f059";font-size:80%;line-height:1.5em;margin-left:.5em}.mo .propInput{width:55%;float:left}.mo .propInput input,.mo .propInput select{width:100%}.mo .notnull.propEditor.checkboxes .propInput{width:50%}.mo .propCheck{width:5%;float:left;padding:5px;display:none}.mo .notnull .propCheck{display:block}.mo .propLabel:after,.mo .propInput:after,.mo .objEdit:after{content:"";display:table}.mo .objEdit{display:block;width:100%}.mo .objEdit.level1{background-color:#eee;padding:2px}.mo .label.notused{display:none;font-size:50%;color:gray}.mo .label.notused:before{content:"[[["}.mo .label.notused:after{content:"]]]"}.mo .objLabel.level2{color:rgba(255,255,255,.7);float:left;position:absolute;display:none}.mo .objLabel.level3{color:rgba(255,255,255,.4);float:left;position:absolute;top:1em;display:none}.mo .objEdit.level1{padding-top:4px;padding-bottom:2px;margin-bottom:3px}.mo .objLabel.level1{color:black;display:block}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .objLabel{text-transform:uppercase;border-bottom:3px solid #900000;color:#303030;display:block;margin:-4px -2px 6px;padding:5px;border-radius:6px 6px 0 0}.mo .objEdit.level0{padding:0 1px;margin-top:12px}.mo .objLabel.level0{display:block;color:#303030;background-color:#eee;font-weight:700;font-size:90%;border-bottom:3px solid #303030;border-radius:0;padding:3px 10px;margin:0 -7px 8px}.mo .supportsCustomStyles .objLabel.level0{margin-right:70px}.mo .objEdit.level-1{padding:0 15px;overflow:auto;height:95%;background-color:#eee;border-radius:6px}.mo .objEdit{position:relative}.mo .objEdit.level1{margin-top:15px}.mo .objPreview{width:50px;height:50px;border-radius:100%;position:absolute;overflow:hidden;border:2px solid #900000;top:-11px;left:5px}.mo .objPreview>div{position:absolute;bottom:20%;left:20%}.mo .propEditor{padding:2px}.mo .objEdit .propEditor{padding:2px 0;border:0}.mo .propEditor.notnull{font-weight:700}.mo .propEditor.notnull input,.mo .propEditor.notnull select{font-weight:700}.mo .propEditor.notnull input[type=checkbox]{font-weight:400}.mo .propInput{position:relative}.mo .propInput .colorPicker{padding-right:30px}.mo .propInput .data-color input[type=text]{font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px;background-color:transparent;border-color:rgba(0,0,0,.2);-webkit-box-shadow:none;box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none;font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px}.mo .propInput .data-color input[type=text]:hover:focus,.mo .propInput .data-color input[type=text]:focus:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .data-color input[type=text]:hover.inline,.mo .propInput .data-color input[type=text]:focus.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer{position:absolute;font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none;margin:0;z-index:5;left:0;top:0;width:80px;height:30px;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .evo-pointer:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .evo-pointer.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;font-family:FontAwesome;content:"\f0d7";font-weight:400;border-left:1px solid rgba(0,0,0,.5)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;position:absolute;top:-1px;right:-1px;bottom:-1px;line-height:30px;width:28px;padding:0 8px;margin:0}li .mo .propInput .evo-pointer:before{color:#eee}.mo .propInput .evo-pointer:before img{vertical-align:middle;margin:0 .2em}.mo .propInput .evo-pointer:before:hover,.mo .propInput .evo-pointer:before.pressed,.mo .propInput .evo-pointer:before.selected{text-decoration:none;background-color:#ee3900}.mo .propInput .evo-pointer:before.disabled{color:#ffa588}.mo .propInput .evo-pointer:before.disabled a,.mo .propInput .evo-pointer:before.disabled .link{color:#ffa588}.mo .propInput .evo-pointer:before.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}.mo .propInput .evo-pointer:before.inline{margin:0 7px 0 0}.mo .propInput .evo-pointer:before.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}.mo .propInput .evo-pointer:before.primary:hover,.mo .propInput .evo-pointer:before.primary.pressed,.mo .propInput .evo-pointer:before.primary.selected{background-color:#ee3900}.mo .propInput .evo-pointer:before.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}.mo .propInput .evo-pointer:before.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .evo-pointer:before.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .evo-pointer:before.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .evo-pointer:before.loading{opacity:.5;background-image:none}.mo .objEdit input[type=checkbox]{display:none}.mo .objEdit input[type=checkbox]+.checkbox-replacer{width:1.28571429em;display:block;text-align:center}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}.mo .objEdit input[type=checkbox]:checked+.checkbox-replacer:before{content:'\f205'}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{font-size:150%;text-align:center;content:'\f204'}.mo .propCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f041";content:"\f1b2";font-size:14px;opacity:1}.mo .propCheck input[type=checkbox]+.checkbox-replacer:before{content:'\f0ac';content:"\f1b3";font-size:14px;opacity:.8}.mo .propInput .ui-spinner{width:100%;margin:0}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa{background-image:none;font-size:10px;top:9px}.mo .propLabel[title]{text-decoration:underline;cursor:help}.mo .noSelectedBlock,.mo .customStyleHelp,.mo .objEmpty,.mo .galleryEmpty,.mo .blockDescription{padding:1em;margin-bottom:.5em;background-color:#ddd;border-radius:2.8px;-webkit-box-shadow:none;box-shadow:none;color:#4f4f4f}.mo .customStyleHelp,.mo .objEmpty{margin-bottom:1em}.mo .evo-pop{right:0;width:auto;border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;border-width:0;padding:3px}.mo .evo-pop .evo-palette td{padding:12px;border:none}.mo .evo-pop .evo-palette th,.mo .evo-pop .evo-palette-ie th,.mo .evo-pop .evo-palette2 th{border:none}.mo .evo-pop .evo-palette,.mo .evo-pop .evo-palette-ie,.mo .evo-pop .evo-palette2{border-spacing:0;margin:0 auto;width:auto;border:none}.mo .evo-pop .evo-palette2 td{padding:8px 9px}.mo .evo-pop .evo-cHist div{padding:12px;margin:2px}.mo .evo-pop .evo-color div{padding:12px;margin:2px;border-color:silver}.mo .evo-pop .evo-color{width:120px;padding:1px 3px 2px 4px}.mo .evo-pop .evo-color span{font-size:17px;margin:5px 0 4px 4px}.mo .evo-pop .evo-more{padding:4px 5px}.mo .evo-pop .evo-more a{margin-right:1em}#toolbar{padding:5px 10px}#toolbar .button,#toolbar .ui-button,#toolbar .button_dropdown_split{margin-top:0;margin-bottom:0}#toolbar ul.top_right_links{float:right}#toolbar ul.top_right_links .dropdown{margin:.2em 0 0}@media(max-width:1460px){#toolbar label[for=previewFrameToggle]{display:none}#toolbar .ui-button[for=showGallery] .ui-icon{margin-right:0}#toolbar .ui-button[for=showGallery] .ui-button-text{display:none}}#toolbar .leftButtons{float:left}#toolbar .rightButtons{float:right}#toolbar #downloadForm{display:inline-block}#main-toolbox>div,#main-toolbox>div>div{height:100%;overflow:hidden}#main-toolbox #tooltabs.ui-tabs{overflow:hidden}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{top:40px;overflow-y:auto;overflow-x:hidden;z-index:100}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1.2em;padding:0 0 0 4px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:4px 4px 0 0;line-height:37px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a{width:100%;padding:0 .5em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{margin:0;padding:.7em;position:absolute;bottom:0;left:0;right:0;z-index:100;background-color:#eee}#main-toolbox .draggable-item{display:inline-block}#main-toolbox .draggable{width:100px;height:100px;overflow:hidden;border:2px solid black;z-index:100;display:inline-block}#main-toolbox .draggable-item .block .handle{cursor:move;z-index:120;position:absolute;top:0;bottom:0;left:20px;right:20px}#main-toolbox .draggable-item{position:relative}#main-toolbox .draggable-item .addblockbutton{z-index:1000;position:absolute;bottom:10px;right:5px;display:none}#main-toolbox .draggable-item .image,#main-toolbox .draggable-item .block img{-webkit-box-shadow:0 0 1px gray;box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{-webkit-transform:scale(1.05,1.05);transform:scale(1.05,1.05);z-index:10;position:relative}#main-toolbox .draggable-item:hover .addblockbutton{display:block}#main-toolbox .draggable-item:hover .image{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .blockType{display:none}#main-toolbox .block-list{max-width:346px}#main-toolbox .block-list .draggable-item,#main-toolbox .block-list .draggable-item img{width:100%}#main-toolbox .objEdit.level1.selectable{position:relative}#main-toolbox .objEdit.level1.selectable:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-toolbox .objEdit.level1.selectable.selecteditem:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-toolbox .objEdit.level1.selectable.selecteditem{z-index:10}#main-toolbox .objEdit.level1.selectable:hover{z-index:11}#main-toolbox .blockCheck{float:right;margin-top:-34px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer{width:56px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{padding:1px;display:block;float:left;font-size:14px;line-height:18px;width:22px;opacity:1;height:18px;top:0;left:0;-webkit-box-sizing:content-box;box-sizing:content-box}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{content:"\f1b2"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f1b3"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#303030;background:none white;border-radius:2px;border-color:#636363;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;-webkit-box-shadow:none;box-shadow:none;width:22px;font-weight:400;min-height:18px;line-height:18px;color:rgba(48,48,48,.5);padding:2px;margin:-1px -2px;z-index:0}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after:focus,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before.inline{margin-right:.5em;width:auto}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:4px;padding-right:2px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-left:2px;padding-right:4px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;text-transform:uppercase;font-weight:400;min-height:18px;line-height:18px;padding:4px;margin:-3px -2px;opacity:1;z-index:1}li #main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,li #main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{color:#eee}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after img,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before img{vertical-align:middle;margin:0 .2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.selected{text-decoration:none;background-color:#ee3900}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled{color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled a,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled a,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled .link,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled .link{color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.inline{margin:0 7px 0 0}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.selected{background-color:#ee3900}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big .suffix_icon,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big .suffix_icon{font-size:55%;vertical-align:middle}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split{padding-right:1.2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split.big{padding-right:1.8em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.loading,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.loading{opacity:.5;background-image:none}#main-toolbox .workLocal .propInput.global,#main-toolbox .workLocal .propInput.global *{display:none}#main-toolbox .workGlobal .propInput.local.default,#main-toolbox .workGlobal .propInput.local.default *{display:none}#main-toolbox .workGlobal .propInput.global.overridden,#main-toolbox .workGlobal .propInput.global.overridden *{display:none}#main-toolbox .workGlobalContent .propInput.local,#main-toolbox .workGlobalContent .propInput.local *{display:none}#main-toolbox .workGlobalContent .blockCheck{display:none}#main-toolbox .workGlobalContent .objLabel.level0{margin-right:0}#main-toolbox .customStyled span{display:none}#main-toolbox .customStyled:before{content:" "}#main-toolbox .customStyled:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;content:"\f1b2";font-size:14px;opacity:1}#main-toolbox #tooldebug{overflow:auto}.mo-standalone #main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{padding-left:40px}#toolimagesgallery{padding:10px}@-webkit-keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideright{0%{left:-450px}100%{left:0}}@-webkit-keyframes slideleft{0%{left:0}100%{left:-450px}}@keyframes slideleft{0%{left:0}100%{left:-450px}}#toolimages .pane{text-align:center}#toolimages .loadbutton,#toolimages .galleryPager{margin:.5em}.slidebar{z-index:200;position:absolute;top:0;width:397px;left:0;-webkit-animation:slideright .2s ease-out 0s 1;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#eee;-webkit-box-shadow:1px 0 3px gray;box-shadow:1px 0 3px gray}.slidebar .close{float:right;visibility:hidden;cursor:pointer;width:24px;display:block}.slidebar .close:before{visibility:visible;font-size:24px;font-family:FontAwesome;content:'\f00d';position:relative;top:0;right:0;width:24px;height:24px}.slidebar .pane{background-color:#eee;border-radius:5px;margin:5px;padding:5px}.slidebar .pane-title{padding:5px;display:block}.slidebar.hidden{left:-450px;-webkit-animation:slideleft .2s ease-out 0s 1;animation:slideleft .2s ease-out 0s 1}#toolimagestab{padding:.2em}#toolimagestab ul.ui-tabs-nav{padding:0}#toolimagestab li.ui-state-active a{background:none repeat scroll 0 0 #FFF}#toolimagestab .ui-tabs-panel{display:block;margin-top:0;padding:15px 18px;background:none repeat scroll 0 0 #FFF;border:1px solid #900000;border-width:0 1px 1px}#main-preview .button,#main-preview .ui-button,#main-preview .button_dropdown_split{margin-top:0;margin-bottom:0}#main-preview #preview-toolbar{padding:3px 10px;text-align:center;position:absolute;bottom:0;right:0;left:0;z-index:200}#main-preview #frame-container{position:absolute;top:40px;bottom:40px;left:0;right:0;background-color:#eee;-webkit-box-shadow:inset 0 0 10px gray;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(1);transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;-webkit-transform:scale(.4);transform:scale(.4)}@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0){@media{#main-wysiwyg-area table:not(.img-wysiwyg),#main-wysiwyg-area .selected table:not(.img-wysiwyg):hover{position:relative}#main-wysiwyg-area table:not(.img-wysiwyg):hover,#main-wysiwyg-area .selected table:not(.img-wysiwyg){position:static}}}@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0){@media{#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper{visibility:hidden!important;z-index:-1!important;opacity:1!important;border-width:0!important;border-style:solid!important}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite;position:relative}#main-edit-area .sortable-blocks-edit.empty:after{content:attr(data-empty-content);font-size:21.76px;font-weight:400;text-decoration:none;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif}#main-edit-area .isdragging .sortable-blocks-edit.empty:after{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;height:auto;bottom:-14px}@-webkit-keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@-webkit-keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@-webkit-keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}@keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}#main-edit-area .sortable-placeholder{-webkit-animation:slidein .2s linear 0s 1;animation:slidein .2s linear 0s 1}#main-edit-area .sortable-placeholder:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:10px solid red;border-color:rgba(255,0,0,.1) red;z-index:50;opacity:.8}#main-edit-area .img-wysiwyg{position:relative;display:block;width:auto}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before{background-color:rgba(255,87,34,.8);-webkit-animation:none;animation:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder)+div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(255,87,34,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #ff5722;z-index:10;pointer-events:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{bottom:-20px;top:auto}#main-edit-area .editable.sortable-placeholder:hover .tools{visibility:hidden}#main-edit-area .editable:hover .tools{visibility:visible}#main-edit-area .ui-sortable-helper>*,#main-edit-area .ui-sortable-helper .tools>*{opacity:.3}#main-edit-area .ui-sortable-helper .tools,#main-edit-area .ui-sortable-helper .tools .handle{opacity:1}#main-edit-area .tool{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;background-color:#ff5722;border:1px solid transparent;color:#eee;border-radius:2px;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;font-weight:700;text-transform:uppercase;display:inline-block;text-align:center;width:25px;height:25px;font-size:20px;padding:3px;padding-bottom:2px;margin:0;min-height:25px;-webkit-box-shadow:0 0 5px #77deff;box-shadow:0 0 5px #77deff;cursor:pointer}li #main-edit-area .tool{color:#eee}#main-edit-area .tool img{vertical-align:middle;margin:0 .2em}#main-edit-area .tool:hover,#main-edit-area .tool.pressed,#main-edit-area .tool.selected{text-decoration:none;background-color:#ee3900}#main-edit-area .tool.disabled{color:#ffa588}#main-edit-area .tool.disabled a,#main-edit-area .tool.disabled .link{color:#ffa588}#main-edit-area .tool.disabled:hover{background-color:#ff5722;border:1px solid transparent;color:#ffa588}#main-edit-area .tool.inline{margin:0 7px 0 0}#main-edit-area .tool.primary{color:#eee;background-color:#ff5722;border-color:#ff5722}#main-edit-area .tool.primary:hover,#main-edit-area .tool.primary.pressed,#main-edit-area .tool.primary.selected{background-color:#ee3900}#main-edit-area .tool.big{font-size:1.5em;border-radius:2.8px;padding:7.5px 10.5px}#main-edit-area .tool.big .suffix_icon{font-size:55%;vertical-align:middle}#main-edit-area .tool.with_button_dropdown_split{padding-right:1.2em}#main-edit-area .tool.with_button_dropdown_split.big{padding-right:1.8em}#main-edit-area .tool.loading{opacity:.5;background-image:none}#main-edit-area .tool input.fileupload{padding-top:50px}#main-edit-area .tool:hover{background-color:#ee3900}#main-edit-area .tools .tool.handle{float:left;margin-left:16px;cursor:move}#main-edit-area .tools .tool.moveup,#main-edit-area .tools .tool.movedown{float:left;margin-left:3px}#main-edit-area .tools .tool.delete,#main-edit-area .tools .tool.clone{float:right;margin-left:3px}#main-edit-area .tools .tool.delete{margin-right:16px}#main-edit-area .midtools{visibility:hidden;z-index:30;position:absolute;bottom:16px;text-align:left}#main-edit-area .img-wysiwyg:hover .midtools{visibility:visible}#main-edit-area .uploading .midtools{visibility:hidden!important}#main-edit-area .uploading .fileuploadtext{visibility:hidden!important}#main-edit-area .uploading .fileupload.withfile{visibility:hidden}#main-edit-area .img-wysiwyg .img-size{visibility:hidden;position:absolute;top:0;right:0;padding:2px;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:12px;background-color:rgba(128,128,128,.5);color:white}#main-edit-area .img-wysiwyg:hover .img-size{visibility:visible}#main-edit-area .midtools{margin-left:4px}#main-edit-area .midtools .tool{margin-left:4px}#main-edit-area .tools{position:absolute;visibility:hidden;margin:0;top:-16px;left:0;right:0;height:1px;z-index:20;text-align:center}#main-wysiwyg-area{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:white}#main-edit-area,#main-toolbox,#main-preview{position:absolute;top:0;bottom:0}@-webkit-keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}@keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area .wysiwyg-loading{pointer-events:none;-webkit-animation:opacityAnimation 2s infinite;animation:opacityAnimation 2s infinite}#main-wysiwyg-area span[contenteditable],#main-wysiwyg-area a[contenteditable],#main-wysiwyg-area b[contenteditable],#main-wysiwyg-area i[contenteditable],#main-wysiwyg-area cite[contenteditable],#main-wysiwyg-area code[contenteditable],#main-wysiwyg-area em[contenteditable],#main-wysiwyg-area label[contenteditable],#main-wysiwyg-area small[contenteditable],#main-wysiwyg-area strong[contenteditable],#main-wysiwyg-area sub[contenteditable],#main-wysiwyg-area sup[contenteditable],#main-wysiwyg-area q[contenteditable]{display:inline-block}#main-wysiwyg-area [contenteditable]{min-width:1em}#main-wysiwyg-area [contenteditable]:empty:before{content:"\2063";display:inline-block;position:relative}#main-edit-area .mce-edit-focus{outline:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-12px;right:-12px;border:1px solid transparent;border-width:0;border-left-width:10px;border-right-width:10px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative;cursor:text}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after{outline-color:transparent;border-color:#ff5722;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover{z-index:11}#main-edit-area .textMiddle{text-shadow:none!important;font-weight:700;background-color:rgba(255,255,255,.2);padding:3px;position:absolute;top:2px;left:2px;right:2px}#main-wysiwyg-area replacedbody{position:relative;display:block;min-height:100%;max-width:700px;margin:0 auto!important;padding:16px 20px!important}@media(min-width:1400px){#main-wysiwyg-area replacedbody{max-width:800px}}@media(min-width:1600px){#main-wysiwyg-area replacedbody{max-width:900px}}@media(max-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:700px}}@media(min-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:800px}}@media(max-width:1400px){.withPreviewFrame #main-wysiwyg-area replacedbody:before,.withPreviewFrame #main-wysiwyg-area replacedbody:after{display:none}}@media(min-width:1100px){#main-wysiwyg-area replacedbody:before,#main-wysiwyg-area replacedbody:after{content:"";display:block;position:absolute;top:0;left:0;width:40px;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,0) 19%,white 21%,white 79%,rgba(255,255,255,0) 81%),linear-gradient(135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%);background-size:80px 20px;background-position:left -40px top 0;z-index:1}#main-wysiwyg-area replacedbody:after{left:auto;right:0;background-position:left 0 top 0}}.mce-toolbar-grp.mce-panel .mce-btn-group{-webkit-box-shadow:0 0 5px #77deff;box-shadow:0 0 5px #77deff}.moxman-container.moxman-window,.mce-window{border:none;border-top-left-radius:2.8px;border-top-right-radius:2.8px;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;overflow:hidden}.moxman-window .moxman-window-head,.mce-window .moxman-window-head,.moxman-window .mce-window-head,.mce-window .mce-window-head{background:none #900000;font-size:1.1em}.moxman-window .moxman-window-head .moxman-title,.mce-window .moxman-window-head .moxman-title,.moxman-window .mce-window-head .moxman-title,.mce-window .mce-window-head .moxman-title,.moxman-window .moxman-window-head .mce-title,.mce-window .moxman-window-head .mce-title,.moxman-window .mce-window-head .mce-title,.mce-window .mce-window-head .mce-title{color:#303030}.moxman-window .moxman-window-head button.moxman-close,.mce-window .moxman-window-head button.moxman-close,.moxman-window .mce-window-head button.moxman-close,.mce-window .mce-window-head button.moxman-close,.moxman-window .moxman-window-head button.mce-close,.mce-window .moxman-window-head button.mce-close,.moxman-window .mce-window-head button.mce-close,.mce-window .mce-window-head button.mce-close{font-size:1.6em;top:6px}.moxman-window .moxman-window-head button.moxman-close:hover,.mce-window .moxman-window-head button.moxman-close:hover,.moxman-window .mce-window-head button.moxman-close:hover,.mce-window .mce-window-head button.moxman-close:hover,.moxman-window .moxman-window-head button.mce-close:hover,.mce-window .moxman-window-head button.mce-close:hover,.moxman-window .mce-window-head button.mce-close:hover,.mce-window .mce-window-head button.mce-close:hover{color:#303030}.moxman-window .moxman-panel,.mce-window .moxman-panel,.moxman-window .mce-panel,.mce-window .mce-panel{background-color:#eee}.moxman-window .moxman-container-body .moxman-panel.moxman-first,.mce-window .moxman-container-body .moxman-panel.moxman-first,.moxman-window .mce-container-body .moxman-panel.moxman-first,.mce-window .mce-container-body .moxman-panel.moxman-first,.moxman-window .moxman-container-body .mce-panel.mce-first,.mce-window .moxman-container-body .mce-panel.mce-first,.moxman-window .mce-container-body .mce-panel.mce-first,.mce-window .mce-container-body .mce-panel.mce-first{border-bottom:none}.moxman-window div.moxman-filelist-head,.mce-window div.moxman-filelist-head{background-color:#eee;border-bottom:none}.moxman-window .moxman-filelist,.mce-window .moxman-filelist{border-top:2px solid #d5d5d5}.moxman-window .moxman-filelist .moxman-filelist-row td,.mce-window .moxman-filelist .moxman-filelist-row td{background-color:#d2a7a7;border-bottom:none}.moxman-window .moxman-filelist .moxman-filelist-odd td,.mce-window .moxman-filelist .moxman-filelist-odd td{background-color:#eee}.moxman-window .moxman-filelist tr.moxman-checked,.mce-window .moxman-filelist tr.moxman-checked,.moxman-window .moxman-filelist tr.moxman-checked td,.mce-window .moxman-filelist tr.moxman-checked td{background-color:#ffff90;color:#303030}.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico{color:#303030}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down{border-top-color:#303030}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up{border-bottom-color:#303030}.moxman-window .moxman-thumbnailview,.mce-window .moxman-thumbnailview{border-top:2px solid #d5d5d5}.moxman-window .moxman-thumbnailview .moxman-thumb,.mce-window .moxman-thumbnailview .moxman-thumb{border:1px solid #d2a7a7}.moxman-window .moxman-thumbnailview .moxman-thumb:hover,.mce-window .moxman-thumbnailview .moxman-thumb:hover,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked{outline:2px solid #ffff90}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info{background-color:#d2a7a7;color:#303030}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox{background-color:#eee;color:#303030;border:1px solid #303030}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before{color:#303030}.moxman-window i.moxman-i-checkbox,.mce-window i.moxman-i-checkbox,.moxman-window i.mce-i-checkbox,.mce-window i.mce-i-checkbox{background-color:transparent}.moxman-window .mce-listbox,.mce-window .mce-listbox,.moxman-window .mce-listbox:hover,.mce-window .mce-listbox:hover,.moxman-window .mce-listbox.mce-active,.mce-window .mce-listbox.mce-active,.moxman-window .mce-listbox.mce-active:hover,.mce-window .mce-listbox.mce-active:hover,.moxman-window .mce-listbox:focus,.mce-window .mce-listbox:focus{background-color:transparent;text-shadow:none;border:1px solid #c5c5c5}.moxman-window .mce-listbox span,.mce-window .mce-listbox span,.moxman-window .mce-listbox:hover span,.mce-window .mce-listbox:hover span,.moxman-window .mce-listbox.mce-active span,.mce-window .mce-listbox.mce-active span,.moxman-window .mce-listbox.mce-active:hover span,.mce-window .mce-listbox.mce-active:hover span,.moxman-window .mce-listbox:focus span,.mce-window .mce-listbox:focus span,.moxman-window .mce-listbox .mce-ico,.mce-window .mce-listbox .mce-ico,.moxman-window .mce-listbox:hover .mce-ico,.mce-window .mce-listbox:hover .mce-ico,.moxman-window .mce-listbox.mce-active .mce-ico,.mce-window .mce-listbox.mce-active .mce-ico,.moxman-window .mce-listbox.mce-active:hover .mce-ico,.mce-window .mce-listbox.mce-active:hover .mce-ico,.moxman-window .mce-listbox:focus .mce-ico,.mce-window .mce-listbox:focus .mce-ico{color:#303030}.moxman-window .mce-listbox i.mce-caret,.mce-window .mce-listbox i.mce-caret,.moxman-window .mce-listbox:hover i.mce-caret,.mce-window .mce-listbox:hover i.mce-caret,.moxman-window .mce-listbox.mce-active i.mce-caret,.mce-window .mce-listbox.mce-active i.mce-caret,.moxman-window .mce-listbox.mce-active:hover i.mce-caret,.mce-window .mce-listbox.mce-active:hover i.mce-caret,.moxman-window .mce-listbox:focus i.mce-caret,.mce-window .mce-listbox:focus i.mce-caret{border-top-color:#303030}.moxman-window .moxman-btn i,.mce-window .moxman-btn i,.moxman-window .mce-btn i,.mce-window .mce-btn i{text-shadow:none}.moxman-window input,.mce-window input,.moxman-window select,.mce-window select,.moxman-window textarea,.mce-window textarea,.moxman-window button,.mce-window button{max-width:none}.moxman-tooltip,.mce-tooltip{z-index:500000!important}.mce-toolbar-grp.mce-panel,.mce-tinymce-inline{background-color:transparent!important;border-color:transparent!important}.mce-menu,.moxman-menu{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden}body.moxman-v2 .moxman-btn{border:none;background-color:transparent}body.moxman-v2 .moxman-btn button{background-color:#ff5722;color:#eee;border:1px solid #ff5722;border-radius:2px}body.moxman-v2 .moxman-btn button i{color:#eee}body.moxman-v2 .moxman-btn button .moxman-caret{border-top-color:#eee}body.moxman-v2 .moxman-btn.moxman-active button{background-color:#ee3900}body.moxman-v2 .moxman-btn.moxman-primary button{color:#eee;background-color:#ff5722;border:1px solid #ff5722}body.moxman-v2 .moxman-btn.moxman-primary button i{color:#eee}body.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret{border-top-color:#eee}body.moxman-v2 .moxman-combobox .moxman-textbox{border-top-left-radius:2px;border-bottom-left-radius:2px}body.moxman-v2 .moxman-combobox .moxman-btn button{border-top-left-radius:0;border-bottom-left-radius:0}@-webkit-keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#ff5722}60%{border-color:#ff5722}100%{border-color:currentcolor}}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#ff5722}60%{border-color:#ff5722}100%{border-color:currentcolor}}@-webkit-keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}@keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}body{background-color:#900000;margin:0;overflow:hidden}input,select,textarea,button{font-family:inherit;font-size:inherit;max-width:100%}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable],[contenteditable] *,.evo-color span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}a[disabledhref]{color:#06C;color:-webkit-link;text-decoration:underline;cursor:auto}a[disabledhref]:-moz-read-write{text-decoration:underline -moz-anchor-decoration;color:-moz-hyperlinktext}#page{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#main-edit-area{left:0;right:0;overflow:hidden}#main-edit-area,#toolbar{min-width:600px}#toolbar{z-index:110!important;background-color:#900000;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;right:0;height:40px}#main-toolbox{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;left:0;width:400px;-webkit-box-shadow:0 0 10px gray,0 0 5px gray;box-shadow:0 0 10px gray,0 0 5px gray}.withToolbox #main-toolbox{display:block}.withToolbox #main-edit-area,.withToolbox #toolbar{left:400px}#main-preview{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;right:0;width:340px;overflow:hidden}.withPreviewFrame #main-preview{display:block}.withPreviewFrame #main-edit-area{right:345px}#main-edit-area:before,#main-edit-area:after,#frame-container:before,#frame-container:after{content:"";display:block;position:absolute;border:0;height:40px;-webkit-box-shadow:0 1px 10px gray,0 0 5px gray;box-shadow:0 1px 10px gray,0 0 5px gray;left:0;right:0;top:0;z-index:100}#main-edit-area:after{top:auto;bottom:-40px}#frame-container:before{top:-40px}#frame-container:after{top:auto;bottom:-40px}#main-wysiwyg-area{position:absolute;top:40px;left:0;right:0;bottom:0;overflow-y:auto;-webkit-transform:translate3d(0,0,0)}#main-toolbox .draggable.image{width:85px;height:85px;text-align:center;vertical-align:middle;padding:5px;border:0;background-size:contain;background-repeat:no-repeat;background-position:center;background-origin:content-box}#main-toolbox .draggable.image img{opacity:0}.ui-draggable-dragging{z-index:10000}.ui-draggable-dragging.sortable-placeholder{top:0!important;left:0!important}.uploading .fileuploadtext{display:none}.fileuploadtext{top:0!important;left:0!important;right:0!important;bottom:0!important;color:#000}.uploadzone .fileuploadtext{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700}.isdragging .uploadzone .fileuploadtext,.isdraggingimg .uploadzone .fileuploadtext{display:none!important}.uploadzone .progress{display:none}.uploadzone.uploading .progress{display:block}.mo-uploadzone{position:absolute;z-index:15;top:0;left:0;bottom:0;right:0;display:block}.toast-bottom-full-width{margin-left:25%;margin-right:25%;width:50%!important}body>.ui-tooltip{border-radius:2.8px;border:0 solid #727272;border-width:1px \9;border-color:rgba(114,114,114,0);-webkit-box-shadow:0 2px 20px #727272;box-shadow:0 2px 20px #727272;color:#303030;background-color:#fff;padding:0;overflow:hidden;font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,Nimbus Sans L,Liberation Sans,Arimo,sans-serif;font-size:16px;text-decoration:none!important;font-size:14px;border-width:0;padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #AAA;box-shadow:0 0 5px #AAA}.ui-helper-hidden-accessible{border:0 none;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}i.mce-i-newsletter-profile:before{content:'\e826';font-family:fontello}@-webkit-keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}@keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{-webkit-animation:loading 4s linear infinite;animation:loading 4s linear infinite}@-webkit-keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{-webkit-animation:broken 10s linear forwards;animation:broken 10s linear forwards;padding:1em;opacity:1}#carousel-dialog .carousel-buttons{position:absolute;right:5px;bottom:10px}#carousel-dialog .carousel-buttons .button{font-size:1.2em}#carousel-dialog .carousel-remember{font-size:1.2em;position:absolute;left:10px;bottom:17px}#carousel-dialog .carousel-remember input{vertical-align:middle;margin-right:.2em}#carousel-dialog .owl-carousel{height:550px}#carousel-dialog .owl-controls{position:absolute;left:0;right:0;bottom:7px}#carousel-dialog .owl-controls .owl-page.active span{background-color:#ff5722}#carousel-dialog .owl-controls .owl-page span{background-color:#900000}#carousel-dialog .carousel-help{margin-top:5px;font-size:1.2em}#carousel-dialog .carousel-help-text{line-height:1.5em}#carousel-dialog .carousel-help-text.large-width{width:80%;margin:0 auto}#carousel-dialog .carousel-help-text p{padding:.5em}#carousel-dialog .carousel-help .left{margin-right:20px}#carousel-dialog .carousel-help .top{margin-bottom:10px}#carousel-dialog .carousel-help-balloon{display:-webkit-box;display:flex;display:-ms-flexbox;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;overflow:auto;padding:0 .5em}#carousel-dialog .carousel-help-balloon>div{width:100%}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.evo-pop{z-index:10000;width:204px;padding:3px 3px 0}.evo-pop-ie{z-index:10000;width:212px;padding:3px}.evo-palette td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette tr.top>td{border-bottom:0}.evo-palette tr.in>td{border-top:0;border-bottom:0}.evo-palette tr.bottom>td{border-top:0}.evo-palette div.sep{height:3px}.evo-palette,.evo-palette-ie{border-collapse:separate;border-spacing:4px 0}.evo-palette th,.evo-palette-ie th{border:0;padding:5px 3px;text-align:left;font-weight:400;background:transparent!important}.evo-palette-ie td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette2,.evo-palette2-ie{margin:auto;border-collapse:collapse}.evo-palette2 td,.evo-palette2-ie td{font-size:1px;cursor:pointer}.evo-palette2 td{padding:6px 7px}.evo-palette2-ie td{padding:5px}.evo-palcenter{padding:5px;text-align:center}.evo-colorind,.evo-colorind-ie,.evo-colorind-ff{border:solid 1px #c3c3c3;width:18px;height:18px;float:right}.evo-colorind-ie{position:relative;top:-23px}.evo-colorbox-ie{font-size:8px;padding:3px 9px!important}.evo-pop:after,.evo-pop-ie:after,.evo-colorind:after,.evo-colorind-ie:after,.evo-colorind-ff:after,.evo-color span:after,.evo-cHist:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0}.evo-color{width:94px;padding:1px 3px 0 4px}.evo-color div{border:solid 1px gray;border-right:solid 1px silver;border-bottom:solid 1px silver;padding:3px;margin-bottom:5px;width:10px;height:10px;float:left}.evo-color span{font-size:15px;margin:1px 0 4px 3px;float:left}.evo-sep{height:10px;font-size:0}.evo-more{padding:4px 5px;font-size:smaller}.evo-cHist{padding:3px}.evo-cHist div{cursor:pointer;border:solid 1px silver;padding:3px;margin:5px;width:10px;height:10px;float:left}.evo-transparent{background-image:repeating-linear-gradient(135deg,black,black 1px,white 1px,white 3px)}.evo-tr-box{cursor:pointer;border:solid 1px silver;padding:3px;width:7px;height:7px;float:right;position:relative;right:-3px;top:2px}a.evo-hist{margin-left:6px}.evo-pointer{cursor:pointer}.evo-hidden-button{display:none}#main-preview #preview-toolbar{padding:1px 5px}#toolbar{padding:1px 5px}#main-edit-area .tool{border-radius:100%;padding:4px;padding-bottom:2px;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}#toolbar .ui-button,#preview-toolbar .ui-button{padding-top:7px;padding-bottom:7px;line-height:22px;background-color:#900000}#toolbar .ui-button:hover,#preview-toolbar .ui-button:hover,#toolbar .ui-button.pressed,#preview-toolbar .ui-button.pressed{background-color:#c30000}#toolbar .ui-button.selected,#preview-toolbar .ui-button.selected,#toolbar .ui-button.ui-state-active,#preview-toolbar .ui-button.ui-state-active{border-bottom:2px solid #eee;border-top:0}#toolbar .ui-button.ui-button-disabled,#preview-toolbar .ui-button.ui-button-disabled,#toolbar .ui-button.ui-button-disabled .ui-icon,#preview-toolbar .ui-button.ui-button-disabled .ui-icon,#toolbar .ui-button.ui-button-disabled .ui-button-text,#preview-toolbar .ui-button.ui-button-disabled .ui-button-text{color:#bf7777}#main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{-webkit-box-shadow:0 0 10px #727272;box-shadow:0 0 10px #727272;position:absolute;left:0;right:0;z-index:105}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:1px 1px 0 0;line-height:36px}.addblockbutton{-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{border-radius:50%;-webkit-box-shadow:1px 1px 2px #727272;box-shadow:1px 1px 2px #727272}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{border-radius:30px;background-color:#ffa588;color:#eee}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:15px;margin-left:-15px;border-color:transparent}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-right:15px;margin-right:-15px;border-color:transparent}#main-toolbox .objEdit .propInput input[type=checkbox]:checked+.checkbox-replacer:before{margin-left:20px;background-color:#ff5722}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:before{content:" ";display:block;-webkit-transition:margin-left .2s,background-color .2s;transition:margin-left .2s,background-color .2s}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:before{width:20px;height:20px;background-color:white;border-radius:50%;font-size:120%;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}#main-toolbox .objEdit .propInput input[type=checkbox]:checked+.checkbox-replacer:after{background-color:#ffa588}#main-toolbox .objEdit .propInput input[type=checkbox]+.checkbox-replacer:after{width:34px;height:14px;margin:-16px 2px 0;border-radius:7px;background-color:#7c7c7c}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{color:#ff5722}.mo .propInput .data-select select{border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .data-select:after{background-color:transparent;color:#7c7c7c}.mo .propInput .evo-pointer:before{background-color:white;color:#7c7c7c}.mo .propInput .data-integer .ui-spinner-button .ui-button-text{background-color:transparent;color:#7c7c7c}.mo .propInput .data-select:hover:after,.mo .propInput .evo-pointer:hover:before,.mo .ui-button.ui-spinner-button.ui-state-hover,.mo .propInput .data-integer .ui-button-text,.mo .propInput .data-integer .ui-spinner-button:hover .ui-button-text{color:#ff5722}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:0;border-bottom-right-radius:0}.mo .ui-button.ui-spinner-button{background-color:transparent}.mo .ui-button.ui-spinner-button .ui-button-text .ui-icon{color:#7c7c7c}#main-toolbox .objLabel.level1{font-weight:700;border-bottom-width:1px}.mo .objPreview{border-width:0;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}.mo .objLabel{border-bottom:0;font-weight:700;font-size:80%}.mo .objEdit.level1{border-top:2px solid #900000}#main-toolbox .objLabel.level1{font-size:1em;padding-top:.5em}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:70px}.mo .objLabel.level0{border-bottom:none}.mo a:link,.mo a:visited{color:white}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty{margin-left:-15px;padding-left:25px;padding-right:25px;width:calc(100% + 40px)}.mo .objEdit.level1{background-color:white;-webkit-box-shadow:1px 1px 3px #888;box-shadow:1px 1px 3px #888;border-top:0;padding:6px;padding-top:.5em}.mo #toolstyles .objEdit.level1,.mo #tooltheme .objEdit.level1{border-top-left-radius:30px}.mo #toolstyles .objEdit.level1 .objLabel.level1,.mo #tooltheme .objEdit.level1 .objLabel.level1{padding-bottom:0;padding-top:1em}.mo .objPreview{border-width:0;-webkit-box-shadow:inset 1px 1px 4px rgba(0,0,0,.3);box-shadow:inset 1px 1px 4px rgba(0,0,0,.3);top:4px;left:4px}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select,.mo .propInput .data-select select,.mo .propInput .ui-spinner .ui-spinner-input{border-width:0 0 2px;background-color:transparent}.mo .propInput input[type=text]:hover,.mo .propInput input[type=number]:hover,.mo .propInput input[type=url]:hover,.mo .propInput select:hover,.mo .propInput .data-select select:hover,.mo .propInput .ui-spinner .ui-spinner-input:hover,.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus,.mo .propInput .data-select select:focus,.mo .propInput .ui-spinner .ui-spinner-input:focus{border-color:#ff5722}.mo .propInput .data-color input[type=text]{margin-left:35px}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{margin-left:35px}.mo .propInput .evo-pointer{border-radius:50%;width:30px;border:0;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272}.mo .propInput .evo-pointer:before{content:none;display:none}.mo .evo-pop{min-width:250px}.mo .evo-pop:before{display:block;content:"";background-color:rgba(158,158,158,.19);position:absolute;left:0;right:0;height:43px;bottom:0}.mo .evo-pop th.ui-widget-content{text-align:center;font-weight:400}.mo .evo-pop .evo-more{text-align:right;padding:7px 5px}.mo .evo-pop .evo-more a{color:#ff5722;text-transform:uppercase;font-weight:700}.mo .evo-pop .evo-color{padding:6px 3px 2px 4px}.mo .propInput .ui-textbutton .ui-textbutton-button{border-radius:50%;-webkit-box-shadow:1px 1px 3px #727272;box-shadow:1px 1px 3px #727272} +/*# sourceMappingURL=mosaico-material.min.css.map */ \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico-material.min.css.map b/client/static/mosaico/rs/mosaico-material.min.css.map new file mode 100644 index 00000000..b26a6d5c --- /dev/null +++ b/client/static/mosaico/rs/mosaico-material.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../build/mosaico-material.css","../../node_modules/font-awesome/less/path.less","../../src/css/style_elements_jquery.less","../../node_modules/font-awesome/less/core.less","../../node_modules/font-awesome/less/larger.less","../../node_modules/font-awesome/less/fixed-width.less","../../node_modules/font-awesome/less/list.less","../../node_modules/font-awesome/less/bordered-pulled.less","../../node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/mixins.less","../../node_modules/font-awesome/less/rotated-flipped.less","../../node_modules/font-awesome/less/stacked.less","../../node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/screen-reader.less","../../node_modules/font-awesome/less/mixins.less","../../root/mosaico/node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/core.less","../../root/mosaico/node_modules/font-awesome/less/larger.less","../../root/mosaico/node_modules/font-awesome/less/fixed-width.less","../../root/mosaico/node_modules/font-awesome/less/list.less","../../root/mosaico/node_modules/font-awesome/less/bordered-pulled.less","../../root/mosaico/node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/rotated-flipped.less","../../root/mosaico/node_modules/font-awesome/less/stacked.less","../../root/mosaico/node_modules/font-awesome/less/icons.less","../../root/mosaico/node_modules/font-awesome/less/screen-reader.less","../../src/css/style_mosaico_tools.less","../../src/css/style_mosaico.less","../../src/css/style_elements.less","../../src/css/style_elements_mixins.less","../../src/css/app_standalone_material.less","../../src/css/safarihack.css","../../src/css/style_mosaico_content.less","../../src/css/style_elements_moxie.less","../../node_modules/toastr/toastr.less","../../node_modules/evol-colorpicker/css/evol-colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,CDMD,AEZA,ICIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CHWD,AEpBA,OEKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CJmBD,AE1BA,OESsB,aAAA,CJoBtB,AE7BA,OEUsB,aAAA,CJsBtB,AEhCA,OEWsB,aAAA,CJwBtB,AEnCA,OEYsB,aAAA,CJ0BtB,AEtCA,OGGC,mBAAA,AACA,iBAAA,CLsCD,AE1CA,OIIC,eAAA,AACA,yBAAA,AACA,oBAAA,CNyCD,AE/CA,UIOQ,iBAAA,CN2CR,AElDA,OIUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CN2CD,AEzDA,aIgBG,kBAAA,CN4CH,AE5DA,WKIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CP2DD,AEjEA,cKS6B,UAAA,CP2D7B,AEpEA,eKU8B,WAAA,CP6D9B,AEvEA,iBKagC,iBAAA,CP6DhC,AE1EA,kBKciC,gBAAA,CP+DjC,AO3DD,YAAc,WAAA,CP+Db,AO9DD,WAAa,UAAA,CPiEZ,AO9DC,cAAc,iBAAA,CPiEf,AOhEC,eAAe,gBAAA,CPmEhB,AE1FA,SMIC,6CAAA,AACQ,oCAAA,CRyFT,AE9FA,UMSC,+CAAA,AACQ,sCAAA,CRwFT,AQrFD,2BACE,GACE,+BAAA,AACQ,sBAAA,CRuFT,AQrFD,KACE,iCAAA,AACQ,wBAAA,CRuFT,CACF,AQpFD,mBACE,GACE,+BAAA,AACQ,sBAAA,CRsFT,AQpFD,KACE,iCAAA,AACQ,wBAAA,CRsFT,CACF,AEtHA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CT2GT,AE5HA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTiHT,AElIA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTuHT,AExIA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTsHT,AE9IA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CT4HT,AEpJA,gHQkBC,oBAAA,WAAA,CVyID,AE3JA,USIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CX0JD,AEnKA,0BSYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CX2JD,AE1KA,aSiB4B,mBAAA,CX4J5B,AE7KA,aSkB4B,aAAA,CX8J5B,AEhLA,YSmB2B,UAAA,CXgK3B,AEnLA,iBUGgC,eAAA,CZqLhC,AExLA,iBUIgC,eAAA,CZuLhC,AE3LA,kBUKiC,eAAA,CZyLjC,AE9LA,sBUMqC,eAAA,CZ2LrC,AEjMA,iBUOgC,eAAA,CZ6LhC,AEpMA,gBUQ+B,eAAA,CZ+L/B,AEvMA,kBUSiC,eAAA,CZiMjC,AE1MA,gBUU+B,eAAA,CZmM/B,AE7MA,gBUW+B,eAAA,CZqM/B,AEhNA,oBUYmC,eAAA,CZuMnC,AEnNA,cUa6B,eAAA,CZyM7B,AEtNA,mBUckC,eAAA,CZ2MlC,AEzNA,iBUegC,eAAA,CZ6MhC,AE5NA,oDUkBgC,eAAA,CZ+MhC,AEjOA,uBUmBsC,eAAA,CZiNtC,AEpOA,wBUoBuC,eAAA,CZmNvC,AEvOA,qBUqBoC,eAAA,CZqNpC,AE1OA,kBUsBiC,eAAA,CZuNjC,AE7OA,+BUwB8B,eAAA,CZyN9B,AEjPA,mBUyBkC,eAAA,CZ2NlC,AEpPA,gBU0B+B,eAAA,CZ6N/B,AEvPA,kBU2BiC,eAAA,CZ+NjC,AE1PA,mBU4BkC,eAAA,CZiOlC,AE7PA,gBU6B+B,eAAA,CZmO/B,AEhQA,oBU8BmC,eAAA,CZqOnC,AEnQA,+BU+B8C,eAAA,CZuO9C,AEtQA,6BUgC4C,eAAA,CZyO5C,AEzQA,iBUiCgC,eAAA,CZ2OhC,AE5QA,yBUkCwC,eAAA,CZ6OxC,AE/QA,0CUoCiC,eAAA,CZ+OjC,AEnRA,mBUqCkC,eAAA,CZiPlC,AEtRA,oBUsCmC,eAAA,CZmPnC,AEzRA,gBUuC+B,eAAA,CZqP/B,AE5RA,gBUwC+B,eAAA,CZuP/B,AE/RA,sBUyCqC,eAAA,CZyPrC,AElSA,sBU0CqC,eAAA,CZ2PrC,AErSA,uBU2CsC,eAAA,CZ6PtC,AExSA,qBU4CoC,eAAA,CZ+PpC,AE3SA,kBU6CiC,eAAA,CZiQjC,AE9SA,mBU8CkC,eAAA,CZmQlC,AEjTA,eU+C8B,eAAA,CZqQ9B,AEpTA,gBUgD+B,eAAA,CZuQ/B,AEvTA,gBUiD+B,eAAA,CZyQ/B,AE1TA,oBUkDmC,eAAA,CZ2QnC,AE7TA,iBUmDgC,eAAA,CZ6QhC,AEhUA,kBUoDiC,eAAA,CZ+QjC,AEnUA,gBUqD+B,eAAA,CZiR/B,AEtUA,gBUsD+B,eAAA,CZmR/B,AEzUA,kBUuDiC,eAAA,CZqRjC,AE5UA,uBUwDsC,eAAA,CZuRtC,AE/UA,sBUyDqC,eAAA,CZyRrC,AElVA,sBU0DqC,eAAA,CZ2RrC,AErVA,wBU2DuC,eAAA,CZ6RvC,AExVA,uBU4DsC,eAAA,CZ+RtC,AE3VA,yBU6DwC,eAAA,CZiSxC,AE9VA,gBU8D+B,eAAA,CZmS/B,AEjWA,qCUgEkC,eAAA,CZqSlC,AErWA,kBUiEiC,eAAA,CZuSjC,AExWA,wBUkEuC,eAAA,CZySvC,AE3WA,uDUqEoC,eAAA,CZ2SpC,AEhXA,kBUsEiC,eAAA,CZ6SjC,AEnXA,sBUuEqC,eAAA,CZ+SrC,AEtXA,kBUwEiC,eAAA,CZiTjC,AEzXA,gBUyE+B,eAAA,CZmT/B,AE5XA,2CU2E0C,eAAA,CZqT1C,AEhYA,0BU4EyC,eAAA,CZuTzC,AEnYA,0BU6EyC,eAAA,CZyTzC,AEtYA,kBU8EiC,eAAA,CZ2TjC,AEzYA,yBU+EwC,eAAA,CZ6TxC,AE5YA,yBUgFwC,eAAA,CZ+TxC,AE/YA,oBUiFmC,eAAA,CZiUnC,AElZA,gBUkF+B,eAAA,CZmU/B,AErZA,iBUmFgC,eAAA,CZqUhC,AExZA,gBUoF+B,eAAA,CZuU/B,AE3ZA,mBUqFkC,eAAA,CZyUlC,AE9ZA,wBUsFuC,eAAA,CZ2UvC,AEjaA,wBUuFuC,eAAA,CZ6UvC,AEpaA,iBUwFgC,eAAA,CZ+UhC,AEvaA,wBUyFuC,eAAA,CZiVvC,AE1aA,yBU0FwC,eAAA,CZmVxC,AE7aA,uBU2FsC,eAAA,CZqVtC,AEhbA,wBU4FuC,eAAA,CZuVvC,AEnbA,wBU6FuC,eAAA,CZyVvC,AEtbA,wBU8FuC,eAAA,CZ2VvC,AEzbA,2BU+F0C,eAAA,CZ6V1C,AE5bA,uBUgGsC,eAAA,CZ+VtC,AE/bA,sBUiGqC,eAAA,CZiWrC,AElcA,0BUkGyC,eAAA,CZmWzC,AErcA,0BUmGyC,eAAA,CZqWzC,AExcA,eUoG8B,eAAA,CZuW9B,AE3cA,sBUqGqC,eAAA,CZyWrC,AE9cA,uBUsGsC,eAAA,CZ2WtC,AEjdA,oBUuGmC,eAAA,CZ6WnC,AEpdA,sBUwGqC,eAAA,CZ+WrC,AEvdA,yCU0GgC,eAAA,CZiXhC,AE3dA,kBU2GiC,eAAA,CZmXjC,AE9dA,oBU4GmC,eAAA,CZqXnC,AEjeA,gBU6G+B,eAAA,CZuX/B,AEpeA,iBU8GgC,eAAA,CZyXhC,AEveA,oBU+GmC,eAAA,CZ2XnC,AE1eA,8BUgH6C,eAAA,CZ6X7C,AE7eA,gBUiH+B,eAAA,CZ+X/B,AEhfA,gBUkH+B,eAAA,CZiY/B,AEnfA,gBUmH+B,eAAA,CZmY/B,AEtfA,eUoH8B,eAAA,CZqY9B,AEzfA,qBUqHoC,eAAA,CZuYpC,AE5fA,mDUuH+C,eAAA,CZyY/C,AEhgBA,iBUwHgC,eAAA,CZ2YhC,AEngBA,oBUyHmC,eAAA,CZ6YnC,AEtgBA,kBU0HiC,eAAA,CZ+YjC,AEzgBA,mBU2HkC,eAAA,CZiZlC,AE5gBA,kBU4HiC,eAAA,CZmZjC,AE/gBA,sBU6HqC,eAAA,CZqZrC,AElhBA,wBU8HuC,eAAA,CZuZvC,AErhBA,mBU+HkC,eAAA,CZyZlC,AExhBA,yBUgIwC,eAAA,CZ2ZxC,AE3hBA,kBUiIiC,eAAA,CZ6ZjC,AE9hBA,uBUkIsC,eAAA,CZ+ZtC,AEjiBA,oBUmImC,eAAA,CZianC,AEpiBA,oBUoImC,eAAA,CZmanC,AEviBA,4CUsIoC,eAAA,CZqapC,AE3iBA,0BUuIyC,eAAA,CZuazC,AE9iBA,2BUwI0C,eAAA,CZya1C,AEjjBA,wBUyIuC,eAAA,CZ2avC,AEpjBA,eU0I8B,eAAA,CZ6a9B,AEvjBA,iCU4I+B,eAAA,CZ+a/B,AE3jBA,oBU6ImC,eAAA,CZibnC,AE9jBA,uBU8IsC,eAAA,CZmbtC,AEjkBA,yBU+IwC,eAAA,CZqbxC,AEpkBA,qBUgJoC,eAAA,CZubpC,AEvkBA,mBUiJkC,eAAA,CZyblC,AE1kBA,oBUkJmC,eAAA,CZ2bnC,AE7kBA,2BUmJ0C,eAAA,CZ6b1C,AEhlBA,sBUoJqC,eAAA,CZ+brC,AEnlBA,yBUqJwC,eAAA,CZicxC,AEtlBA,mBUsJkC,eAAA,CZmclC,AEzlBA,kBUuJiC,eAAA,CZqcjC,AE5lBA,yBUwJwC,eAAA,CZucxC,AE/lBA,kBUyJiC,eAAA,CZycjC,AElmBA,mBU0JkC,eAAA,CZ2clC,AErmBA,iBU2JgC,eAAA,CZ6chC,AExmBA,oBU4JmC,eAAA,CZ+cnC,AE3mBA,sBU6JqC,eAAA,CZidrC,AE9mBA,wBU8JuC,eAAA,CZmdvC,AEjnBA,mBU+JkC,eAAA,CZqdlC,AEpnBA,0CUiKmC,eAAA,CZudnC,AExnBA,kBUkKiC,eAAA,CZydjC,AE3nBA,kBUmKiC,eAAA,CZ2djC,AE9nBA,uBUoKsC,eAAA,CZ6dtC,AEjoBA,+BUsK8B,eAAA,CZ+d9B,AEroBA,iBUuKgC,eAAA,CZiehC,AExoBA,oBUwKmC,eAAA,CZmenC,AE3oBA,gBUyK+B,eAAA,CZqe/B,AE9oBA,uBU0KsC,eAAA,CZuetC,AEjpBA,wBU2KuC,eAAA,CZyevC,AEppBA,uBU4KsC,eAAA,CZ2etC,AEvpBA,qBU6KoC,eAAA,CZ6epC,AE1pBA,uBU8KsC,eAAA,CZ+etC,AE7pBA,6BU+K4C,eAAA,CZif5C,AEhqBA,8BUgL6C,eAAA,CZmf7C,AEnqBA,2BUiL0C,eAAA,CZqf1C,AEtqBA,6BUkL4C,eAAA,CZuf5C,AEzqBA,iBUmLgC,eAAA,CZyfhC,AE5qBA,kBUoLiC,eAAA,CZ2fjC,AE/qBA,iBUqLgC,eAAA,CZ6fhC,AElrBA,kBUsLiC,eAAA,CZ+fjC,AErrBA,qBUuLoC,eAAA,CZigBpC,AExrBA,sBUwLqC,eAAA,CZmgBrC,AE3rBA,kCU0LgC,eAAA,CZqgBhC,AE/rBA,iCU4L+B,eAAA,CZugB/B,AEnsBA,iBU6LgC,eAAA,CZygBhC,AEtsBA,iBU8LgC,eAAA,CZ2gBhC,AEzsBA,mCUgMmC,eAAA,CZ6gBnC,AE7sBA,mCUkMkC,eAAA,CZ+gBlC,AEjtBA,qBUmMoC,eAAA,CZihBpC,AEptBA,oCUqMmC,eAAA,CZmhBnC,AExtBA,kBUsMiC,eAAA,CZqhBjC,AE3tBA,sDUyM+B,eAAA,CZuhB/B,AEhuBA,mBU0MkC,eAAA,CZyhBlC,AEnuBA,mBU2MkC,eAAA,CZ2hBlC,AEtuBA,yBU4MwC,eAAA,CZ6hBxC,AEzuBA,qBU6MoC,eAAA,CZ+hBpC,AE5uBA,iBU8MgC,eAAA,CZiiBhC,AE/uBA,iBU+MgC,eAAA,CZmiBhC,AElvBA,iBUgNgC,eAAA,CZqiBhC,AErvBA,qBUiNoC,eAAA,CZuiBpC,AExvBA,4BUkN2C,eAAA,CZyiB3C,AE3vBA,8BUmN6C,eAAA,CZ2iB7C,AE9vBA,uBUoNsC,eAAA,CZ6iBtC,AEjwBA,iBUqNgC,eAAA,CZ+iBhC,AEpwBA,sBUsNqC,eAAA,CZijBrC,AEvwBA,oBUuNmC,eAAA,CZmjBnC,AE1wBA,sBUwNqC,eAAA,CZqjBrC,AE7wBA,uBUyNsC,eAAA,CZujBtC,AEhxBA,mBU0NkC,eAAA,CZyjBlC,AEnxBA,oCU4N+B,eAAA,CZ2jB/B,AEvxBA,0CU8NoC,eAAA,CZ6jBpC,AE3xBA,uCUgOmC,eAAA,CZ+jBnC,AE/xBA,oBUiOmC,eAAA,CZikBnC,AElyBA,oBUkOmC,eAAA,CZmkBnC,AEryBA,uCUoO+B,eAAA,CZqkB/B,AEzyBA,kCUsOgC,eAAA,CZukBhC,AE7yBA,2CUwOqC,eAAA,CZykBrC,AEjzBA,qBUyOoC,eAAA,CZ2kBpC,AEpzBA,sBU0OqC,eAAA,CZ6kBrC,AEvzBA,iCU4O+B,eAAA,CZ+kB/B,AE3zBA,mBU6OkC,eAAA,CZilBlC,AE9zBA,oBU8OmC,eAAA,CZmlBnC,AEj0BA,sCUgPoC,eAAA,CZqlBpC,AEr0BA,uBUiPsC,eAAA,CZulBtC,AEx0BA,oBUkPmC,eAAA,CZylBnC,AE30BA,0BUmPyC,eAAA,CZ2lBzC,AE90BA,wBUoPuC,eAAA,CZ6lBvC,AEj1BA,mBUqPkC,eAAA,CZ+lBlC,AEp1BA,uBUsPsC,eAAA,CZimBtC,AEv1BA,oBUuPmC,eAAA,CZmmBnC,AE11BA,kBUwPiC,eAAA,CZqmBjC,AE71BA,kBUyPiC,eAAA,CZumBjC,AEh2BA,mBU0PkC,eAAA,CZymBlC,AEn2BA,uBU2PsC,eAAA,CZ2mBtC,AEt2BA,sBU4PqC,eAAA,CZ6mBrC,AEz2BA,sBU6PqC,eAAA,CZ+mBrC,AE52BA,qBU8PoC,eAAA,CZinBpC,AE/2BA,kBU+PiC,eAAA,CZmnBjC,AEl3BA,uBUgQsC,eAAA,CZqnBtC,AEr3BA,gBUiQ+B,eAAA,CZunB/B,AEx3BA,oBUkQmC,eAAA,CZynBnC,AE33BA,uBUmQsC,eAAA,CZ2nBtC,AE93BA,6BUoQ4C,eAAA,CZ6nB5C,AEj4BA,8BUqQ6C,eAAA,CZ+nB7C,AEp4BA,2BUsQ0C,eAAA,CZioB1C,AEv4BA,6BUuQ4C,eAAA,CZmoB5C,AE14BA,sBUwQqC,eAAA,CZqoBrC,AE74BA,uBUyQsC,eAAA,CZuoBtC,AEh5BA,oBU0QmC,eAAA,CZyoBnC,AEn5BA,sBU2QqC,eAAA,CZ2oBrC,AEt5BA,mBU4QkC,eAAA,CZ6oBlC,AEz5BA,kBU6QiC,eAAA,CZ+oBjC,AE55BA,kBU8QiC,eAAA,CZipBjC,AE/5BA,0CUgRiC,eAAA,CZmpBjC,AEn6BA,oBUiRmC,eAAA,CZqpBnC,AEt6BA,sBUkRqC,eAAA,CZupBrC,AEz6BA,uBUmRsC,eAAA,CZypBtC,AE56BA,mBUoRkC,eAAA,CZ2pBlC,AE/6BA,kBUqRiC,eAAA,CZ6pBjC,AEl7BA,uCUuRgC,eAAA,CZ+pBhC,AEt7BA,sBUwRqC,eAAA,CZiqBrC,AEz7BA,oBUyRmC,eAAA,CZmqBnC,AE57BA,yBU0RwC,eAAA,CZqqBxC,AE/7BA,mBU2RkC,eAAA,CZuqBlC,AEl8BA,mBU4RkC,eAAA,CZyqBlC,AEr8BA,iBU6RgC,eAAA,CZ2qBhC,AEx8BA,mBU8RkC,eAAA,CZ6qBlC,AE38BA,sBU+RqC,eAAA,CZ+qBrC,AE98BA,kBUgSiC,eAAA,CZirBjC,AEj9BA,0BUiSyC,eAAA,CZmrBzC,AEp9BA,oBUkSmC,eAAA,CZqrBnC,AEv9BA,gBUmS+B,eAAA,CZurB/B,AE19BA,+CUqSoC,eAAA,CZyrBpC,AE99BA,4EUwSsC,eAAA,CZ2rBtC,AEn+BA,0BUySyC,eAAA,CZ6rBzC,AEt+BA,gBU0S+B,eAAA,CZ+rB/B,AEz+BA,qBU2SoC,eAAA,CZisBpC,AE5+BA,0CU6SuC,eAAA,CZmsBvC,AEh/BA,oBU8SmC,eAAA,CZqsBnC,AEn/BA,gBU+S+B,eAAA,CZusB/B,AEt/BA,uBUgTsC,eAAA,CZysBtC,AEz/BA,uBUiTsC,eAAA,CZ2sBtC,AE5/BA,qBUkToC,eAAA,CZ6sBpC,AE//BA,kBUmTiC,eAAA,CZ+sBjC,AElgCA,wBUoTuC,eAAA,CZitBvC,AErgCA,sBUqTqC,eAAA,CZmtBrC,AExgCA,4BUsT2C,eAAA,CZqtB3C,AE3gCA,kBUuTiC,eAAA,CZutBjC,AE9gCA,sBUwTqC,eAAA,CZytBrC,AEjhCA,6BUyT4C,eAAA,CZ2tB5C,AEphCA,kBU0TiC,eAAA,CZ6tBjC,AEvhCA,kBU2TiC,eAAA,CZ+tBjC,AE1hCA,+BU4T8C,eAAA,CZiuB9C,AE7hCA,gCU6T+C,eAAA,CZmuB/C,AEhiCA,6BU8T4C,eAAA,CZquB5C,AEniCA,+BU+T8C,eAAA,CZuuB9C,AEtiCA,iBUgUgC,eAAA,CZyuBhC,AEziCA,gBUiU+B,eAAA,CZ2uB/B,AE5iCA,kBUkUiC,eAAA,CZ6uBjC,AE/iCA,sBUmUqC,eAAA,CZ+uBrC,AEljCA,oBUoUmC,eAAA,CZivBnC,AErjCA,sBUqUqC,eAAA,CZmvBrC,AExjCA,sBUsUqC,eAAA,CZqvBrC,AE3jCA,sBUuUqC,eAAA,CZuvBrC,AE9jCA,uBUwUsC,eAAA,CZyvBtC,AEjkCA,kBUyUiC,eAAA,CZ2vBjC,AEpkCA,wBU0UuC,eAAA,CZ6vBvC,AEvkCA,0BU2UyC,eAAA,CZ+vBzC,AE1kCA,oBU4UmC,eAAA,CZiwBnC,AE7kCA,sBU6UqC,eAAA,CZmwBrC,AEhlCA,wBU8UuC,eAAA,CZqwBvC,AEnlCA,yBU+UwC,eAAA,CZuwBxC,AEtlCA,gCUgV+C,eAAA,CZywB/C,AEzlCA,wBUiVuC,eAAA,CZ2wBvC,AE5lCA,mBUkVkC,eAAA,CZ6wBlC,AE/lCA,sDUoV8C,eAAA,CZ+wB9C,AEnmCA,kDUsV4C,eAAA,CZixB5C,AEvmCA,wDUwV+C,eAAA,CZmxB/C,AE3mCA,+BU0V8B,eAAA,CZqxB9B,AE/mCA,eU2V8B,eAAA,CZuxB9B,AElnCA,iCU6V8B,eAAA,CZyxB9B,AEtnCA,gCU+V8B,eAAA,CZ2xB9B,AE1nCA,4DUmW8B,eAAA,CZ6xB9B,AEhoCA,kDUsW8B,eAAA,CZ+xB9B,AEroCA,8BUwW8B,eAAA,CZiyB9B,AEzoCA,kCU0W8B,eAAA,CZmyB9B,AE7oCA,gBU2W+B,eAAA,CZqyB/B,AEhpCA,qBU4WoC,eAAA,CZuyBpC,AEnpCA,0BU6WyC,eAAA,CZyyBzC,AEtpCA,2BU8W0C,eAAA,CZ2yB1C,AEzpCA,2BU+W0C,eAAA,CZ6yB1C,AE5pCA,4BUgX2C,eAAA,CZ+yB3C,AE/pCA,4BUiX2C,eAAA,CZizB3C,AElqCA,6BUkX4C,eAAA,CZmzB5C,AErqCA,qBUmXoC,eAAA,CZqzBpC,AExqCA,uBUoXsC,eAAA,CZuzBtC,AE3qCA,0BUqXyC,eAAA,CZyzBzC,AE9qCA,mBUsXkC,eAAA,CZ2zBlC,AEjrCA,gBUuX+B,eAAA,CZ6zB/B,AEprCA,uBUwXsC,eAAA,CZ+zBtC,AEvrCA,wBUyXuC,eAAA,CZi0BvC,AE1rCA,mBU0XkC,eAAA,CZm0BlC,AE7rCA,0BU2XyC,eAAA,CZq0BzC,AEhsCA,qBU4XoC,eAAA,CZu0BpC,AEnsCA,kBU6XiC,eAAA,CZy0BjC,AEtsCA,eU8X8B,eAAA,CZ20B9B,AEzsCA,qBU+XoC,eAAA,CZ60BpC,AE5sCA,4BUgY2C,eAAA,CZ+0B3C,AE/sCA,kBUiYiC,eAAA,CZi1BjC,AEltCA,yBUkYwC,eAAA,CZm1BxC,AErtCA,2BUmY0C,eAAA,CZq1B1C,AExtCA,yBUoYwC,eAAA,CZu1BxC,AE3tCA,2BUqY0C,eAAA,CZy1B1C,AE9tCA,4BUsY2C,eAAA,CZ21B3C,AEjuCA,iBUuYgC,eAAA,CZ61BhC,AEpuCA,mBUwYkC,eAAA,CZ+1BlC,AEvuCA,mBUyYkC,eAAA,CZi2BlC,AE1uCA,iBU0YgC,eAAA,CZm2BhC,AE7uCA,oBU2YmC,eAAA,CZq2BnC,AEhvCA,iBU4YgC,eAAA,CZu2BhC,AEnvCA,sBU6YqC,eAAA,CZy2BrC,AEtvCA,kBU8YiC,eAAA,CZ22BjC,AEzvCA,kBU+YiC,eAAA,CZ62BjC,AE5vCA,gBUgZ+B,eAAA,CZ+2B/B,AE/vCA,sCUkZmC,eAAA,CZi3BnC,AEnwCA,iBUmZgC,eAAA,CZm3BhC,AEtwCA,kBUoZiC,eAAA,CZq3BjC,AEzwCA,mBUqZkC,eAAA,CZu3BlC,AE5wCA,eUsZ8B,eAAA,CZy3B9B,AE/wCA,cUuZ6B,eAAA,CZ23B7B,AElxCA,iBUwZgC,eAAA,CZ63BhC,AErxCA,kBUyZiC,eAAA,CZ+3BjC,AExxCA,qBU0ZoC,eAAA,CZi4BpC,AE3xCA,0BU2ZyC,eAAA,CZm4BzC,AE9xCA,gCU4Z+C,eAAA,CZq4B/C,AEjyCA,+BU6Z8C,eAAA,CZu4B9C,AEpyCA,sDU+Z8C,eAAA,CZy4B9C,AExyCA,wBUgauC,eAAA,CZ24BvC,AE3yCA,sBUiaqC,eAAA,CZ64BrC,AE9yCA,wBUkauC,eAAA,CZ+4BvC,AEjzCA,uCUoa8B,eAAA,CZi5B9B,AErzCA,yBUqawC,eAAA,CZm5BxC,AExzCA,yBUsawC,eAAA,CZq5BxC,AE3zCA,iBUuagC,eAAA,CZu5BhC,AE9zCA,2BUwa0C,eAAA,CZy5B1C,AEj0CA,qBUyaoC,eAAA,CZ25BpC,AEp0CA,kBU0aiC,eAAA,CZ65BjC,AEv0CA,6DU6aqC,eAAA,CZ+5BrC,AE50CA,kDU+ayC,eAAA,CZi6BzC,AEh1CA,iBUgbgC,eAAA,CZm6BhC,AEn1CA,kBUibiC,eAAA,CZq6BjC,AEt1CA,kBUkbiC,eAAA,CZu6BjC,AEz1CA,yBUmbwC,eAAA,CZy6BxC,AE51CA,8BUob6C,eAAA,CZ26B7C,AE/1CA,uBUqbsC,eAAA,CZ66BtC,AEl2CA,qBUsboC,eAAA,CZ+6BpC,AEr2CA,gBUub+B,eAAA,CZi7B/B,AEx2CA,yBUwbwC,eAAA,CZm7BxC,AE32CA,0BUybyC,eAAA,CZq7BzC,AE92CA,kBU0biC,eAAA,CZu7BjC,AEj3CA,kBU2biC,eAAA,CZy7BjC,AEp3CA,oBU4bmC,eAAA,CZ27BnC,AEv3CA,eU6b8B,eAAA,CZ67B9B,AE13CA,oBU8bmC,eAAA,CZ+7BnC,AE73CA,iBU+bgC,eAAA,CZi8BhC,AEh4CA,eUgc8B,eAAA,CZm8B9B,AEn4CA,iBUicgC,eAAA,CZq8BhC,AEt4CA,gBUkc+B,eAAA,CZu8B/B,AEz4CA,iBUmcgC,eAAA,CZy8BhC,AE54CA,mBUockC,eAAA,CZ28BlC,AE/4CA,0BUqcyC,eAAA,CZ68BzC,AEl5CA,iBUscgC,eAAA,CZ+8BhC,AEr5CA,wBUucuC,eAAA,CZi9BvC,AEx5CA,mBUwckC,eAAA,CZm9BlC,AE35CA,qCU0c8B,eAAA,CZq9B9B,AE/5CA,+BU4c+B,eAAA,CZu9B/B,AEn6CA,gBU6c+B,eAAA,CZy9B/B,AEt6CA,mBU8ckC,eAAA,CZ29BlC,AEz6CA,sBU+cqC,eAAA,CZ69BrC,AE56CA,sBUgdqC,eAAA,CZ+9BrC,AE/6CA,oBUidmC,eAAA,CZi+BnC,AEl7CA,sBUkdqC,eAAA,CZm+BrC,AEr7CA,uBUmdsC,eAAA,CZq+BtC,AEx7CA,wBUoduC,eAAA,CZu+BvC,AE37CA,6BUqd4C,eAAA,CZy+B5C,AE97CA,0EUwduC,eAAA,CZ2+BvC,AEn8CA,gDU0dyC,eAAA,CZ6+BzC,AEv8CA,gDU4duC,eAAA,CZ++BvC,AE38CA,gDU8duC,eAAA,CZi/BvC,AE/8CA,uBU+dsC,eAAA,CZm/BtC,AEl9CA,gBUge+B,eAAA,CZq/B/B,AEr9CA,mBUiekC,eAAA,CZu/BlC,AEx9CA,oBUkemC,eAAA,CZy/BnC,AE39CA,wGUueoC,eAAA,CZ2/BpC,AEl+CA,0BUweyC,eAAA,CZ6/BzC,AEr+CA,qDU2egC,eAAA,CZ+/BhC,AE1+CA,gCU6eiC,eAAA,CZigCjC,AE9+CA,sBU8eqC,eAAA,CZmgCrC,AEj/CA,eU+e8B,eAAA,CZqgC9B,AEp/CA,2EUkfsC,eAAA,CZugCtC,AEz/CA,yBUmfwC,eAAA,CZygCxC,AE5/CA,cUof6B,eAAA,CZ2gC7B,AE//CA,oCUsfiC,eAAA,CZ6gCjC,AEngDA,uCUwfsC,eAAA,CZ+gCtC,AEvgDA,2CU0fwC,eAAA,CZihCxC,AE3gDA,mBU2fkC,eAAA,CZmhClC,AE9gDA,uBU4fsC,eAAA,CZqhCtC,AEjhDA,kBU6fiC,eAAA,CZuhCjC,AEphDA,qBU8foC,eAAA,CZyhCpC,AEvhDA,mBU+fkC,eAAA,CZ2hClC,AE1hDA,qBUggBoC,eAAA,CZ6hCpC,AE7hDA,4BUigB2C,eAAA,CZ+hC3C,AEhiDA,gBUkgB+B,eAAA,CZiiC/B,AEniDA,6CUogBmC,eAAA,CZmiCnC,AEviDA,eUqgB8B,eAAA,CZqiC9B,AE1iDA,sBUsgBqC,eAAA,CZuiCrC,AE7iDA,gBUugB+B,eAAA,CZyiC/B,AEhjDA,sBUwgBqC,eAAA,CZ2iCrC,AEnjDA,kBUygBiC,eAAA,CZ6iCjC,AEtjDA,gBU0gB+B,eAAA,CZ+iC/B,AEzjDA,uBU2gBsC,eAAA,CZijCtC,AE5jDA,gBU4gB+B,eAAA,CZmjC/B,AE/jDA,sBU6gBqC,eAAA,CZqjCrC,AElkDA,kBU8gBiC,eAAA,CZujCjC,AErkDA,yBU+gBwC,eAAA,CZyjCxC,AExkDA,mBUghBkC,eAAA,CZ2jClC,AE3kDA,yBUihBwC,eAAA,CZ6jCxC,AE9kDA,uBUkhBsC,eAAA,CZ+jCtC,AEjlDA,mBUmhBkC,eAAA,CZikClC,AEplDA,qBUohBoC,eAAA,CZmkCpC,AEvlDA,qBUqhBoC,eAAA,CZqkCpC,AE1lDA,sBUshBqC,eAAA,CZukCrC,AE7lDA,wBUuhBuC,eAAA,CZykCvC,AEhmDA,iBUwhBgC,eAAA,CZ2kChC,AEnmDA,qBUyhBoC,eAAA,CZ6kCpC,AEtmDA,cU0hB6B,eAAA,CZ+kC7B,AEzmDA,sBU2hBqC,eAAA,CZilCrC,AE5mDA,uBU4hBsC,eAAA,CZmlCtC,AE/mDA,yBU6hBwC,eAAA,CZqlCxC,AElnDA,sBU8hBqC,eAAA,CZulCrC,AErnDA,qBU+hBoC,eAAA,CZylCpC,AExnDA,sBUgiBqC,eAAA,CZ2lCrC,AE3nDA,kBUiiBiC,eAAA,CZ6lCjC,AE9nDA,yBUkiBwC,eAAA,CZ+lCxC,AEjoDA,sBUmiBqC,eAAA,CZimCrC,AEpoDA,qBUoiBoC,eAAA,CZmmCpC,AEvoDA,mBUqiBkC,eAAA,CZqmClC,AE1oDA,eUsiB8B,eAAA,CZumC9B,AE7oDA,mBUuiBkC,eAAA,CZymClC,AEhpDA,qBUwiBoC,eAAA,CZ2mCpC,AEnpDA,cUyiB6B,eAAA,CZ6mC7B,AEtpDA,mDU4iB8B,eAAA,CZ+mC9B,AE3pDA,oBU6iBmC,eAAA,CZinCnC,AE9pDA,sBU8iBqC,eAAA,CZmnCrC,AEjqDA,0BU+iByC,eAAA,CZqnCzC,AEpqDA,oBUgjBmC,eAAA,CZunCnC,AEvqDA,oBUijBmC,eAAA,CZynCnC,AE1qDA,mBUkjBkC,eAAA,CZ2nClC,AE7qDA,kBUmjBiC,eAAA,CZ6nCjC,AEhrDA,wBUojBuC,eAAA,CZ+nCvC,AEnrDA,uBUqjBsC,eAAA,CZioCtC,AEtrDA,oBUsjBmC,eAAA,CZmoCnC,AEzrDA,qBUujBoC,eAAA,CZqoCpC,AE5rDA,2BUwjB0C,eAAA,CZuoC1C,AE/rDA,mBUyjBkC,eAAA,CZyoClC,AElsDA,gBU0jB+B,eAAA,CZ2oC/B,AErsDA,uBU2jBsC,eAAA,CZ6oCtC,AExsDA,sBU4jBqC,eAAA,CZ+oCrC,AE3sDA,uBU6jBsC,eAAA,CZipCtC,AE9sDA,qBU8jBoC,eAAA,CZmpCpC,AEjtDA,iBU+jBgC,eAAA,CZqpChC,AEptDA,gBUgkB+B,eAAA,CZupC/B,AEvtDA,mBUikBkC,eAAA,CZypClC,AE1tDA,2CUmkBsC,eAAA,CZ2pCtC,AE9tDA,2BUokB0C,eAAA,CZ6pC1C,AEjuDA,wBUqkBuC,eAAA,CZ+pCvC,AEpuDA,uBUskBsC,eAAA,CZiqCtC,AEvuDA,sBUukBqC,eAAA,CZmqCrC,AE1uDA,uBUwkBsC,eAAA,CZqqCtC,AE7uDA,yBUykBwC,eAAA,CZuqCxC,AEhvDA,yBU0kBwC,eAAA,CZyqCxC,AEnvDA,kBU2kBiC,eAAA,CZ2qCjC,AEtvDA,sBU4kBqC,eAAA,CZ6qCrC,AEzvDA,6BU6kB4C,eAAA,CZ+qC5C,AE5vDA,uBU8kBsC,eAAA,CZirCtC,AE/vDA,oBU+kBmC,eAAA,CZmrCnC,AElwDA,kBUglBiC,eAAA,CZqrCjC,AErwDA,qBUilBoC,eAAA,CZurCpC,AExwDA,sBUklBqC,eAAA,CZyrCrC,AE3wDA,gCUolB8B,eAAA,CZ2rC9B,AE/wDA,mBUqlBkC,eAAA,CZ6rClC,AElxDA,iBUslBgC,eAAA,CZ+rChC,AErxDA,kBUulBiC,eAAA,CZisCjC,AExxDA,kBUwlBiC,eAAA,CZmsCjC,AE3xDA,sCU0lBuC,eAAA,CZqsCvC,AE/xDA,yBU2lBwC,eAAA,CZusCxC,AElyDA,oBU4lBmC,eAAA,CZysCnC,AEryDA,wBU6lBuC,eAAA,CZ2sCvC,AExyDA,gEUgmBuC,eAAA,CZ6sCvC,AE7yDA,uDUkmBiD,eAAA,CZ+sCjD,AEjzDA,6CUomBuC,eAAA,CZitCvC,AErzDA,gDUsmB0C,eAAA,CZmtC1C,AEzzDA,8CUwmBwC,eAAA,CZqtCxC,AE7zDA,yBUymBwC,eAAA,CZutCxC,AEh0DA,oBU0mBmC,eAAA,CZytCnC,AEn0DA,wBU2mBuC,eAAA,CZ2tCvC,AEt0DA,0BU4mByC,eAAA,CZ6tCzC,AEz0DA,uBU6mBsC,eAAA,CZ+tCtC,AE50DA,yBU8mBwC,eAAA,CZiuCxC,AE/0DA,kBU+mBiC,eAAA,CZmuCjC,AEl1DA,0BUgnByC,eAAA,CZquCzC,AEr1DA,iBUinBgC,eAAA,CZuuChC,AEx1DA,yBUknBwC,eAAA,CZyuCxC,AE31DA,uBUmnBsC,eAAA,CZ2uCtC,AE91DA,kDUqnB0C,eAAA,CZ6uC1C,AEl2DA,iDUunByC,eAAA,CZ+uCzC,AEt2DA,gDUynBwC,eAAA,CZivCxC,AE12DA,qBU0nBoC,eAAA,CZmvCpC,AE72DA,8CU4nBsC,eAAA,CZqvCtC,AEj3DA,+CU8nBuC,eAAA,CZuvCvC,AEr3DA,2BU+nB0C,eAAA,CZyvC1C,AEx3DA,yBUgoBwC,eAAA,CZ2vCxC,AE33DA,wBUioBuC,eAAA,CZ6vCvC,AE93DA,0BUkoByC,eAAA,CZ+vCzC,AEj4DA,wBUmoBuC,eAAA,CZiwCvC,AEp4DA,qBUooBoC,eAAA,CZmwCpC,AEv4DA,sBUqoBqC,eAAA,CZqwCrC,AE14DA,4BUsoB2C,eAAA,CZuwC3C,AE74DA,cUuoB6B,eAAA,CZywC7B,AEh5DA,qBUwoBoC,eAAA,CZ2wCpC,AEn5DA,uBUyoBsC,eAAA,CZ6wCtC,AEt5DA,yBU0oBwC,eAAA,CZ+wCxC,AEz5DA,gCU2oB+C,eAAA,CZixC/C,AE55DA,sBU4oBqC,eAAA,CZmxCrC,AE/5DA,uBU6oBsC,eAAA,CZqxCtC,AEl6DA,kBU8oBiC,eAAA,CZuxCjC,AEr6DA,kBU+oBiC,eAAA,CZyxCjC,AEx6DA,mBUgpBkC,eAAA,CZ2xClC,AE36DA,iBUipBgC,eAAA,CZ6xChC,AE96DA,6BUkpB4C,eAAA,CZ+xC5C,AEj7DA,oCUopBqC,eAAA,CZiyCrC,AEr7DA,kBUqpBiC,eAAA,CZmyCjC,AEx7DA,iBUspBgC,eAAA,CZqyChC,AE37DA,kBUupBiC,eAAA,CZuyCjC,AE97DA,2BUwpB0C,eAAA,CZyyC1C,AEj8DA,4BUypB2C,eAAA,CZ2yC3C,AEp8DA,4BU0pB2C,eAAA,CZ6yC3C,AEv8DA,4BU2pB2C,eAAA,CZ+yC3C,AE18DA,oBU4pBmC,eAAA,CZizCnC,AE78DA,mBU6pBkC,eAAA,CZmzClC,AEh9DA,qBU8pBoC,eAAA,CZqzCpC,AEn9DA,iBU+pBgC,eAAA,CZuzChC,AEt9DA,eUgqB8B,eAAA,CZyzC9B,AEz9DA,sBUiqBqC,eAAA,CZ2zCrC,AE59DA,wBUkqBuC,eAAA,CZ6zCvC,AE/9DA,iBUmqBgC,eAAA,CZ+zChC,AEl+DA,iBUoqBgC,eAAA,CZi0ChC,AEr+DA,qBUqqBoC,eAAA,CZm0CpC,AEx+DA,qBUsqBoC,eAAA,CZq0CpC,AE3+DA,wBUuqBuC,eAAA,CZu0CvC,AE9+DA,gBUwqB+B,eAAA,CZy0C/B,AEj/DA,2BUyqB0C,eAAA,CZ20C1C,AEp/DA,oBU0qBmC,eAAA,CZ60CnC,AEv/DA,gBU2qB+B,eAAA,CZ+0C/B,AE1/DA,wBU4qBuC,eAAA,CZi1CvC,AE7/DA,eU6qB8B,eAAA,CZm1C9B,AEhgEA,wBU8qBuC,eAAA,CZq1CvC,AEngEA,oBU+qBmC,eAAA,CZu1CnC,AEtgEA,kBUgrBiC,eAAA,CZy1CjC,AEzgEA,wBUirBuC,eAAA,CZ21CvC,AE5gEA,0BUkrByC,eAAA,CZ61CzC,AE/gEA,uBUmrBsC,eAAA,CZ+1CtC,AElhEA,yBUorBwC,eAAA,CZi2CxC,AErhEA,wBUqrBuC,eAAA,CZm2CvC,AExhEA,2BUsrB0C,eAAA,CZq2C1C,AE3hEA,mBUurBkC,eAAA,CZu2ClC,AE9hEA,qBUwrBoC,eAAA,CZy2CpC,AEjiEA,uBUyrBsC,eAAA,CZ22CtC,AEpiEA,mBU0rBkC,eAAA,CZ62ClC,AEviEA,kBU2rBiC,eAAA,CZ+2CjC,AE1iEA,sBU4rBqC,eAAA,CZi3CrC,AE7iEA,mBU6rBkC,eAAA,CZm3ClC,AEhjEA,kBU8rBiC,eAAA,CZq3CjC,AEnjEA,4BU+rB2C,eAAA,CZu3C3C,AEtjEA,0BUgsByC,eAAA,CZy3CzC,AEzjEA,6BUisB4C,eAAA,CZ23C5C,AE5jEA,iBUksBgC,eAAA,CZ63ChC,AE/jEA,6BUmsB4C,eAAA,CZ+3C5C,AElkEA,gCUosB+C,eAAA,CZi4C/C,AErkEA,mBUqsBkC,eAAA,CZm4ClC,AExkEA,uCUssBsD,eAAA,CZq4CtD,AE3kEA,2EUwsB8D,eAAA,CZu4C9D,AE/kEA,+DU2sB+B,eAAA,CZy4C/B,AEplEA,iBU4sBgC,eAAA,CZ24ChC,AEvlEA,mBU6sBkC,eAAA,CZ64ClC,AE1lEA,4CU+sBwC,eAAA,CZ+4CxC,AE9lEA,sBUgtBqC,eAAA,CZi5CrC,AEjmEA,kBUitBiC,eAAA,CZm5CjC,AEpmEA,yBUktBwC,eAAA,CZq5CxC,AEvmEA,oBUmtBmC,eAAA,CZu5CnC,AE1mEA,0BUotByC,eAAA,CZy5CzC,AE7mEA,2BUqtB0C,eAAA,CZ25C1C,AEhnEA,sBUstBqC,eAAA,CZ65CrC,AEnnEA,uBUutBsC,eAAA,CZ+5CtC,AEtnEA,iBUwtBgC,eAAA,CZi6ChC,AEznEA,qBUytBoC,eAAA,CZm6CpC,AE5nEA,8DU2tB+C,eAAA,CZq6C/C,AEhoEA,sCU6tBuC,eAAA,CZu6CvC,AEpoEA,uBU8tBsC,eAAA,CZy6CtC,AEvoEA,yBU+tBwC,eAAA,CZ26CxC,AE1oEA,2BUguB0C,eAAA,CZ66C1C,AE7oEA,kBUiuBiC,eAAA,CZ+6CjC,AEhpEA,wBUkuBuC,eAAA,CZi7CvC,AEnpEA,0BUmuByC,eAAA,CZm7CzC,AEtpEA,yCUquBuC,eAAA,CZq7CvC,AE1pEA,6CUuuByC,eAAA,CZu7CzC,AE9pEA,uBUwuBsC,eAAA,CZy7CtC,AEjqEA,yBUyuBwC,eAAA,CZ27CxC,AEpqEA,kBU0uBiC,eAAA,CZ67CjC,AEvqEA,oBU2uBmC,eAAA,CZ+7CnC,AE1qEA,8CU6uBkC,eAAA,CZi8ClC,AE9qEA,kDU+uBoC,eAAA,CZm8CpC,AElrEA,iBUgvBgC,eAAA,CZq8ChC,AErrEA,0BUivByC,eAAA,CZu8CzC,AExrEA,oBUkvBmC,eAAA,CZy8CnC,AE3rEA,4EUqvB2C,eAAA,CZ28C3C,AEhsEA,+DUuvBqD,eAAA,CZ68CrD,AEpsEA,qDUyvB2C,eAAA,CZ+8C3C,AExsEA,wDU2vB8C,eAAA,CZi9C9C,AE5sEA,sDU6vB4C,eAAA,CZm9C5C,AEhtEA,kBU8vBiC,eAAA,CZq9CjC,AEntEA,kDUiwB+B,eAAA,CZu9C/B,AExtEA,mBUkwBkC,eAAA,CZy9ClC,AE3tEA,2BUmwB0C,eAAA,CZ29C1C,AE9tEA,2BUowB0C,eAAA,CZ69C1C,AEjuEA,0BUqwByC,eAAA,CZ+9CzC,AEpuEA,mDUuwBuC,eAAA,CZi+CvC,AExuEA,uDUywByC,eAAA,CZm+CzC,AE5uEA,oBU0wBmC,eAAA,CZq+CnC,AE/uEA,gBU2wB+B,eAAA,CZu+C/B,AElvEA,gBU4wB+B,eAAA,CZy+C/B,AErvEA,gBU6wB+B,eAAA,CZ2+C/B,AExvEA,mBU8wBkC,eAAA,CZ6+ClC,AE3vEA,mBU+wBkC,eAAA,CZ++ClC,AE9vEA,qBUgxBoC,eAAA,CZi/CpC,AEjwEA,uBUixBsC,eAAA,CZm/CtC,AEpwEA,uBUkxBsC,eAAA,CZq/CtC,AEvwEA,sBUmxBqC,eAAA,CZu/CrC,AE1wEA,kBUoxBiC,eAAA,CZy/CjC,Aa1wED,SJ8BE,kBAAA,AACA,UAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AACA,gBAAA,AACA,mBAAA,AACA,QAAA,CT+uED,AcruEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CduuEH,AS9uEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CTgvEH,AcvvEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CdyvEH,AShwEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CTkwEH,AAiDD;;;GAGG,Ae52EH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,Cfk3ED,AEx3EA,IcIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,ChBu3ED,AEh4EA,OeKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CjB+3ED,AEt4EA,OeSsB,aAAA,CjBg4EtB,AEz4EA,OeUsB,aAAA,CjBk4EtB,AE54EA,OeWsB,aAAA,CjBo4EtB,AE/4EA,OeYsB,aAAA,CjBs4EtB,AEl5EA,OgBGC,mBAAA,AACA,iBAAA,ClBk5ED,AEt5EA,OiBIC,eAAA,AACA,yBAAA,AACA,oBAAA,CnBq5ED,AE35EA,UiBOQ,iBAAA,CnBu5ER,AE95EA,OiBUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CnBu5ED,AEr6EA,aiBgBG,kBAAA,CnBw5EH,AEx6EA,WkBIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CpBu6ED,AE76EA,ckBS6B,UAAA,CpBu6E7B,AEh7EA,ekBU8B,WAAA,CpBy6E9B,AEn7EA,iBkBagC,iBAAA,CpBy6EhC,AEt7EA,kBkBciC,gBAAA,CpB26EjC,AoBv6ED,YAAc,WAAA,CpB26Eb,AoB16ED,WAAa,UAAA,CpB66EZ,AoB16EC,cAAc,iBAAA,CpB66Ef,AoB56EC,eAAe,gBAAA,CpB+6EhB,AEt8EA,SmBIC,6CAAA,AACQ,oCAAA,CrBq8ET,AE18EA,UmBSC,+CAAA,AACQ,sCAAA,CrBo8ET,AqBj8ED,2BACE,GACE,+BAAA,AACQ,sBAAA,CrBm8ET,AqBj8ED,KACE,iCAAA,AACQ,wBAAA,CrBm8ET,CACF,AqBh8ED,mBACE,GACE,+BAAA,AACQ,sBAAA,CrBk8ET,AqBh8ED,KACE,iCAAA,AACQ,wBAAA,CrBk8ET,CACF,AEl+EA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CTu9ET,AEx+EA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CT69ET,AE9+EA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTm+ET,AEp/EA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTk+ET,AE1/EA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTw+ET,AEhgFA,gHoBkBC,oBAAA,WAAA,CtBq/ED,AEvgFA,UqBIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CvBsgFD,AE/gFA,0BqBYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CvBugFD,AEthFA,aqBiB4B,mBAAA,CvBwgF5B,AEzhFA,aqBkB4B,aAAA,CvB0gF5B,AE5hFA,YqBmB2B,UAAA,CvB4gF3B,AE/hFA,iBsBGgC,eAAA,CxBiiFhC,AEpiFA,iBsBIgC,eAAA,CxBmiFhC,AEviFA,kBsBKiC,eAAA,CxBqiFjC,AE1iFA,sBsBMqC,eAAA,CxBuiFrC,AE7iFA,iBsBOgC,eAAA,CxByiFhC,AEhjFA,gBsBQ+B,eAAA,CxB2iF/B,AEnjFA,kBsBSiC,eAAA,CxB6iFjC,AEtjFA,gBsBU+B,eAAA,CxB+iF/B,AEzjFA,gBsBW+B,eAAA,CxBijF/B,AE5jFA,oBsBYmC,eAAA,CxBmjFnC,AE/jFA,csBa6B,eAAA,CxBqjF7B,AElkFA,mBsBckC,eAAA,CxBujFlC,AErkFA,iBsBegC,eAAA,CxByjFhC,AExkFA,oDsBkBgC,eAAA,CxB2jFhC,AE7kFA,uBsBmBsC,eAAA,CxB6jFtC,AEhlFA,wBsBoBuC,eAAA,CxB+jFvC,AEnlFA,qBsBqBoC,eAAA,CxBikFpC,AEtlFA,kBsBsBiC,eAAA,CxBmkFjC,AEzlFA,+BsBwB8B,eAAA,CxBqkF9B,AE7lFA,mBsByBkC,eAAA,CxBukFlC,AEhmFA,gBsB0B+B,eAAA,CxBykF/B,AEnmFA,kBsB2BiC,eAAA,CxB2kFjC,AEtmFA,mBsB4BkC,eAAA,CxB6kFlC,AEzmFA,gBsB6B+B,eAAA,CxB+kF/B,AE5mFA,oBsB8BmC,eAAA,CxBilFnC,AE/mFA,+BsB+B8C,eAAA,CxBmlF9C,AElnFA,6BsBgC4C,eAAA,CxBqlF5C,AErnFA,iBsBiCgC,eAAA,CxBulFhC,AExnFA,yBsBkCwC,eAAA,CxBylFxC,AE3nFA,0CsBoCiC,eAAA,CxB2lFjC,AE/nFA,mBsBqCkC,eAAA,CxB6lFlC,AEloFA,oBsBsCmC,eAAA,CxB+lFnC,AEroFA,gBsBuC+B,eAAA,CxBimF/B,AExoFA,gBsBwC+B,eAAA,CxBmmF/B,AE3oFA,sBsByCqC,eAAA,CxBqmFrC,AE9oFA,sBsB0CqC,eAAA,CxBumFrC,AEjpFA,uBsB2CsC,eAAA,CxBymFtC,AEppFA,qBsB4CoC,eAAA,CxB2mFpC,AEvpFA,kBsB6CiC,eAAA,CxB6mFjC,AE1pFA,mBsB8CkC,eAAA,CxB+mFlC,AE7pFA,esB+C8B,eAAA,CxBinF9B,AEhqFA,gBsBgD+B,eAAA,CxBmnF/B,AEnqFA,gBsBiD+B,eAAA,CxBqnF/B,AEtqFA,oBsBkDmC,eAAA,CxBunFnC,AEzqFA,iBsBmDgC,eAAA,CxBynFhC,AE5qFA,kBsBoDiC,eAAA,CxB2nFjC,AE/qFA,gBsBqD+B,eAAA,CxB6nF/B,AElrFA,gBsBsD+B,eAAA,CxB+nF/B,AErrFA,kBsBuDiC,eAAA,CxBioFjC,AExrFA,uBsBwDsC,eAAA,CxBmoFtC,AE3rFA,sBsByDqC,eAAA,CxBqoFrC,AE9rFA,sBsB0DqC,eAAA,CxBuoFrC,AEjsFA,wBsB2DuC,eAAA,CxByoFvC,AEpsFA,uBsB4DsC,eAAA,CxB2oFtC,AEvsFA,yBsB6DwC,eAAA,CxB6oFxC,AE1sFA,gBsB8D+B,eAAA,CxB+oF/B,AE7sFA,qCsBgEkC,eAAA,CxBipFlC,AEjtFA,kBsBiEiC,eAAA,CxBmpFjC,AEptFA,wBsBkEuC,eAAA,CxBqpFvC,AEvtFA,uDsBqEoC,eAAA,CxBupFpC,AE5tFA,kBsBsEiC,eAAA,CxBypFjC,AE/tFA,sBsBuEqC,eAAA,CxB2pFrC,AEluFA,kBsBwEiC,eAAA,CxB6pFjC,AEruFA,gBsByE+B,eAAA,CxB+pF/B,AExuFA,2CsB2E0C,eAAA,CxBiqF1C,AE5uFA,0BsB4EyC,eAAA,CxBmqFzC,AE/uFA,0BsB6EyC,eAAA,CxBqqFzC,AElvFA,kBsB8EiC,eAAA,CxBuqFjC,AErvFA,yBsB+EwC,eAAA,CxByqFxC,AExvFA,yBsBgFwC,eAAA,CxB2qFxC,AE3vFA,oBsBiFmC,eAAA,CxB6qFnC,AE9vFA,gBsBkF+B,eAAA,CxB+qF/B,AEjwFA,iBsBmFgC,eAAA,CxBirFhC,AEpwFA,gBsBoF+B,eAAA,CxBmrF/B,AEvwFA,mBsBqFkC,eAAA,CxBqrFlC,AE1wFA,wBsBsFuC,eAAA,CxBurFvC,AE7wFA,wBsBuFuC,eAAA,CxByrFvC,AEhxFA,iBsBwFgC,eAAA,CxB2rFhC,AEnxFA,wBsByFuC,eAAA,CxB6rFvC,AEtxFA,yBsB0FwC,eAAA,CxB+rFxC,AEzxFA,uBsB2FsC,eAAA,CxBisFtC,AE5xFA,wBsB4FuC,eAAA,CxBmsFvC,AE/xFA,wBsB6FuC,eAAA,CxBqsFvC,AElyFA,wBsB8FuC,eAAA,CxBusFvC,AEryFA,2BsB+F0C,eAAA,CxBysF1C,AExyFA,uBsBgGsC,eAAA,CxB2sFtC,AE3yFA,sBsBiGqC,eAAA,CxB6sFrC,AE9yFA,0BsBkGyC,eAAA,CxB+sFzC,AEjzFA,0BsBmGyC,eAAA,CxBitFzC,AEpzFA,esBoG8B,eAAA,CxBmtF9B,AEvzFA,sBsBqGqC,eAAA,CxBqtFrC,AE1zFA,uBsBsGsC,eAAA,CxButFtC,AE7zFA,oBsBuGmC,eAAA,CxBytFnC,AEh0FA,sBsBwGqC,eAAA,CxB2tFrC,AEn0FA,yCsB0GgC,eAAA,CxB6tFhC,AEv0FA,kBsB2GiC,eAAA,CxB+tFjC,AE10FA,oBsB4GmC,eAAA,CxBiuFnC,AE70FA,gBsB6G+B,eAAA,CxBmuF/B,AEh1FA,iBsB8GgC,eAAA,CxBquFhC,AEn1FA,oBsB+GmC,eAAA,CxBuuFnC,AEt1FA,8BsBgH6C,eAAA,CxByuF7C,AEz1FA,gBsBiH+B,eAAA,CxB2uF/B,AE51FA,gBsBkH+B,eAAA,CxB6uF/B,AE/1FA,gBsBmH+B,eAAA,CxB+uF/B,AEl2FA,esBoH8B,eAAA,CxBivF9B,AEr2FA,qBsBqHoC,eAAA,CxBmvFpC,AEx2FA,mDsBuH+C,eAAA,CxBqvF/C,AE52FA,iBsBwHgC,eAAA,CxBuvFhC,AE/2FA,oBsByHmC,eAAA,CxByvFnC,AEl3FA,kBsB0HiC,eAAA,CxB2vFjC,AEr3FA,mBsB2HkC,eAAA,CxB6vFlC,AEx3FA,kBsB4HiC,eAAA,CxB+vFjC,AE33FA,sBsB6HqC,eAAA,CxBiwFrC,AE93FA,wBsB8HuC,eAAA,CxBmwFvC,AEj4FA,mBsB+HkC,eAAA,CxBqwFlC,AEp4FA,yBsBgIwC,eAAA,CxBuwFxC,AEv4FA,kBsBiIiC,eAAA,CxBywFjC,AE14FA,uBsBkIsC,eAAA,CxB2wFtC,AE74FA,oBsBmImC,eAAA,CxB6wFnC,AEh5FA,oBsBoImC,eAAA,CxB+wFnC,AEn5FA,4CsBsIoC,eAAA,CxBixFpC,AEv5FA,0BsBuIyC,eAAA,CxBmxFzC,AE15FA,2BsBwI0C,eAAA,CxBqxF1C,AE75FA,wBsByIuC,eAAA,CxBuxFvC,AEh6FA,esB0I8B,eAAA,CxByxF9B,AEn6FA,iCsB4I+B,eAAA,CxB2xF/B,AEv6FA,oBsB6ImC,eAAA,CxB6xFnC,AE16FA,uBsB8IsC,eAAA,CxB+xFtC,AE76FA,yBsB+IwC,eAAA,CxBiyFxC,AEh7FA,qBsBgJoC,eAAA,CxBmyFpC,AEn7FA,mBsBiJkC,eAAA,CxBqyFlC,AEt7FA,oBsBkJmC,eAAA,CxBuyFnC,AEz7FA,2BsBmJ0C,eAAA,CxByyF1C,AE57FA,sBsBoJqC,eAAA,CxB2yFrC,AE/7FA,yBsBqJwC,eAAA,CxB6yFxC,AEl8FA,mBsBsJkC,eAAA,CxB+yFlC,AEr8FA,kBsBuJiC,eAAA,CxBizFjC,AEx8FA,yBsBwJwC,eAAA,CxBmzFxC,AE38FA,kBsByJiC,eAAA,CxBqzFjC,AE98FA,mBsB0JkC,eAAA,CxBuzFlC,AEj9FA,iBsB2JgC,eAAA,CxByzFhC,AEp9FA,oBsB4JmC,eAAA,CxB2zFnC,AEv9FA,sBsB6JqC,eAAA,CxB6zFrC,AE19FA,wBsB8JuC,eAAA,CxB+zFvC,AE79FA,mBsB+JkC,eAAA,CxBi0FlC,AEh+FA,0CsBiKmC,eAAA,CxBm0FnC,AEp+FA,kBsBkKiC,eAAA,CxBq0FjC,AEv+FA,kBsBmKiC,eAAA,CxBu0FjC,AE1+FA,uBsBoKsC,eAAA,CxBy0FtC,AE7+FA,+BsBsK8B,eAAA,CxB20F9B,AEj/FA,iBsBuKgC,eAAA,CxB60FhC,AEp/FA,oBsBwKmC,eAAA,CxB+0FnC,AEv/FA,gBsByK+B,eAAA,CxBi1F/B,AE1/FA,uBsB0KsC,eAAA,CxBm1FtC,AE7/FA,wBsB2KuC,eAAA,CxBq1FvC,AEhgGA,uBsB4KsC,eAAA,CxBu1FtC,AEngGA,qBsB6KoC,eAAA,CxBy1FpC,AEtgGA,uBsB8KsC,eAAA,CxB21FtC,AEzgGA,6BsB+K4C,eAAA,CxB61F5C,AE5gGA,8BsBgL6C,eAAA,CxB+1F7C,AE/gGA,2BsBiL0C,eAAA,CxBi2F1C,AElhGA,6BsBkL4C,eAAA,CxBm2F5C,AErhGA,iBsBmLgC,eAAA,CxBq2FhC,AExhGA,kBsBoLiC,eAAA,CxBu2FjC,AE3hGA,iBsBqLgC,eAAA,CxBy2FhC,AE9hGA,kBsBsLiC,eAAA,CxB22FjC,AEjiGA,qBsBuLoC,eAAA,CxB62FpC,AEpiGA,sBsBwLqC,eAAA,CxB+2FrC,AEviGA,kCsB0LgC,eAAA,CxBi3FhC,AE3iGA,iCsB4L+B,eAAA,CxBm3F/B,AE/iGA,iBsB6LgC,eAAA,CxBq3FhC,AEljGA,iBsB8LgC,eAAA,CxBu3FhC,AErjGA,mCsBgMmC,eAAA,CxBy3FnC,AEzjGA,mCsBkMkC,eAAA,CxB23FlC,AE7jGA,qBsBmMoC,eAAA,CxB63FpC,AEhkGA,oCsBqMmC,eAAA,CxB+3FnC,AEpkGA,kBsBsMiC,eAAA,CxBi4FjC,AEvkGA,sDsByM+B,eAAA,CxBm4F/B,AE5kGA,mBsB0MkC,eAAA,CxBq4FlC,AE/kGA,mBsB2MkC,eAAA,CxBu4FlC,AEllGA,yBsB4MwC,eAAA,CxBy4FxC,AErlGA,qBsB6MoC,eAAA,CxB24FpC,AExlGA,iBsB8MgC,eAAA,CxB64FhC,AE3lGA,iBsB+MgC,eAAA,CxB+4FhC,AE9lGA,iBsBgNgC,eAAA,CxBi5FhC,AEjmGA,qBsBiNoC,eAAA,CxBm5FpC,AEpmGA,4BsBkN2C,eAAA,CxBq5F3C,AEvmGA,8BsBmN6C,eAAA,CxBu5F7C,AE1mGA,uBsBoNsC,eAAA,CxBy5FtC,AE7mGA,iBsBqNgC,eAAA,CxB25FhC,AEhnGA,sBsBsNqC,eAAA,CxB65FrC,AEnnGA,oBsBuNmC,eAAA,CxB+5FnC,AEtnGA,sBsBwNqC,eAAA,CxBi6FrC,AEznGA,uBsByNsC,eAAA,CxBm6FtC,AE5nGA,mBsB0NkC,eAAA,CxBq6FlC,AE/nGA,oCsB4N+B,eAAA,CxBu6F/B,AEnoGA,0CsB8NoC,eAAA,CxBy6FpC,AEvoGA,uCsBgOmC,eAAA,CxB26FnC,AE3oGA,oBsBiOmC,eAAA,CxB66FnC,AE9oGA,oBsBkOmC,eAAA,CxB+6FnC,AEjpGA,uCsBoO+B,eAAA,CxBi7F/B,AErpGA,kCsBsOgC,eAAA,CxBm7FhC,AEzpGA,2CsBwOqC,eAAA,CxBq7FrC,AE7pGA,qBsByOoC,eAAA,CxBu7FpC,AEhqGA,sBsB0OqC,eAAA,CxBy7FrC,AEnqGA,iCsB4O+B,eAAA,CxB27F/B,AEvqGA,mBsB6OkC,eAAA,CxB67FlC,AE1qGA,oBsB8OmC,eAAA,CxB+7FnC,AE7qGA,sCsBgPoC,eAAA,CxBi8FpC,AEjrGA,uBsBiPsC,eAAA,CxBm8FtC,AEprGA,oBsBkPmC,eAAA,CxBq8FnC,AEvrGA,0BsBmPyC,eAAA,CxBu8FzC,AE1rGA,wBsBoPuC,eAAA,CxBy8FvC,AE7rGA,mBsBqPkC,eAAA,CxB28FlC,AEhsGA,uBsBsPsC,eAAA,CxB68FtC,AEnsGA,oBsBuPmC,eAAA,CxB+8FnC,AEtsGA,kBsBwPiC,eAAA,CxBi9FjC,AEzsGA,kBsByPiC,eAAA,CxBm9FjC,AE5sGA,mBsB0PkC,eAAA,CxBq9FlC,AE/sGA,uBsB2PsC,eAAA,CxBu9FtC,AEltGA,sBsB4PqC,eAAA,CxBy9FrC,AErtGA,sBsB6PqC,eAAA,CxB29FrC,AExtGA,qBsB8PoC,eAAA,CxB69FpC,AE3tGA,kBsB+PiC,eAAA,CxB+9FjC,AE9tGA,uBsBgQsC,eAAA,CxBi+FtC,AEjuGA,gBsBiQ+B,eAAA,CxBm+F/B,AEpuGA,oBsBkQmC,eAAA,CxBq+FnC,AEvuGA,uBsBmQsC,eAAA,CxBu+FtC,AE1uGA,6BsBoQ4C,eAAA,CxBy+F5C,AE7uGA,8BsBqQ6C,eAAA,CxB2+F7C,AEhvGA,2BsBsQ0C,eAAA,CxB6+F1C,AEnvGA,6BsBuQ4C,eAAA,CxB++F5C,AEtvGA,sBsBwQqC,eAAA,CxBi/FrC,AEzvGA,uBsByQsC,eAAA,CxBm/FtC,AE5vGA,oBsB0QmC,eAAA,CxBq/FnC,AE/vGA,sBsB2QqC,eAAA,CxBu/FrC,AElwGA,mBsB4QkC,eAAA,CxBy/FlC,AErwGA,kBsB6QiC,eAAA,CxB2/FjC,AExwGA,kBsB8QiC,eAAA,CxB6/FjC,AE3wGA,0CsBgRiC,eAAA,CxB+/FjC,AE/wGA,oBsBiRmC,eAAA,CxBigGnC,AElxGA,sBsBkRqC,eAAA,CxBmgGrC,AErxGA,uBsBmRsC,eAAA,CxBqgGtC,AExxGA,mBsBoRkC,eAAA,CxBugGlC,AE3xGA,kBsBqRiC,eAAA,CxBygGjC,AE9xGA,uCsBuRgC,eAAA,CxB2gGhC,AElyGA,sBsBwRqC,eAAA,CxB6gGrC,AEryGA,oBsByRmC,eAAA,CxB+gGnC,AExyGA,yBsB0RwC,eAAA,CxBihGxC,AE3yGA,mBsB2RkC,eAAA,CxBmhGlC,AE9yGA,mBsB4RkC,eAAA,CxBqhGlC,AEjzGA,iBsB6RgC,eAAA,CxBuhGhC,AEpzGA,mBsB8RkC,eAAA,CxByhGlC,AEvzGA,sBsB+RqC,eAAA,CxB2hGrC,AE1zGA,kBsBgSiC,eAAA,CxB6hGjC,AE7zGA,0BsBiSyC,eAAA,CxB+hGzC,AEh0GA,oBsBkSmC,eAAA,CxBiiGnC,AEn0GA,gBsBmS+B,eAAA,CxBmiG/B,AEt0GA,+CsBqSoC,eAAA,CxBqiGpC,AE10GA,4EsBwSsC,eAAA,CxBuiGtC,AE/0GA,0BsBySyC,eAAA,CxByiGzC,AEl1GA,gBsB0S+B,eAAA,CxB2iG/B,AEr1GA,qBsB2SoC,eAAA,CxB6iGpC,AEx1GA,0CsB6SuC,eAAA,CxB+iGvC,AE51GA,oBsB8SmC,eAAA,CxBijGnC,AE/1GA,gBsB+S+B,eAAA,CxBmjG/B,AEl2GA,uBsBgTsC,eAAA,CxBqjGtC,AEr2GA,uBsBiTsC,eAAA,CxBujGtC,AEx2GA,qBsBkToC,eAAA,CxByjGpC,AE32GA,kBsBmTiC,eAAA,CxB2jGjC,AE92GA,wBsBoTuC,eAAA,CxB6jGvC,AEj3GA,sBsBqTqC,eAAA,CxB+jGrC,AEp3GA,4BsBsT2C,eAAA,CxBikG3C,AEv3GA,kBsBuTiC,eAAA,CxBmkGjC,AE13GA,sBsBwTqC,eAAA,CxBqkGrC,AE73GA,6BsByT4C,eAAA,CxBukG5C,AEh4GA,kBsB0TiC,eAAA,CxBykGjC,AEn4GA,kBsB2TiC,eAAA,CxB2kGjC,AEt4GA,+BsB4T8C,eAAA,CxB6kG9C,AEz4GA,gCsB6T+C,eAAA,CxB+kG/C,AE54GA,6BsB8T4C,eAAA,CxBilG5C,AE/4GA,+BsB+T8C,eAAA,CxBmlG9C,AEl5GA,iBsBgUgC,eAAA,CxBqlGhC,AEr5GA,gBsBiU+B,eAAA,CxBulG/B,AEx5GA,kBsBkUiC,eAAA,CxBylGjC,AE35GA,sBsBmUqC,eAAA,CxB2lGrC,AE95GA,oBsBoUmC,eAAA,CxB6lGnC,AEj6GA,sBsBqUqC,eAAA,CxB+lGrC,AEp6GA,sBsBsUqC,eAAA,CxBimGrC,AEv6GA,sBsBuUqC,eAAA,CxBmmGrC,AE16GA,uBsBwUsC,eAAA,CxBqmGtC,AE76GA,kBsByUiC,eAAA,CxBumGjC,AEh7GA,wBsB0UuC,eAAA,CxBymGvC,AEn7GA,0BsB2UyC,eAAA,CxB2mGzC,AEt7GA,oBsB4UmC,eAAA,CxB6mGnC,AEz7GA,sBsB6UqC,eAAA,CxB+mGrC,AE57GA,wBsB8UuC,eAAA,CxBinGvC,AE/7GA,yBsB+UwC,eAAA,CxBmnGxC,AEl8GA,gCsBgV+C,eAAA,CxBqnG/C,AEr8GA,wBsBiVuC,eAAA,CxBunGvC,AEx8GA,mBsBkVkC,eAAA,CxBynGlC,AE38GA,sDsBoV8C,eAAA,CxB2nG9C,AE/8GA,kDsBsV4C,eAAA,CxB6nG5C,AEn9GA,wDsBwV+C,eAAA,CxB+nG/C,AEv9GA,+BsB0V8B,eAAA,CxBioG9B,AE39GA,esB2V8B,eAAA,CxBmoG9B,AE99GA,iCsB6V8B,eAAA,CxBqoG9B,AEl+GA,gCsB+V8B,eAAA,CxBuoG9B,AEt+GA,4DsBmW8B,eAAA,CxByoG9B,AE5+GA,kDsBsW8B,eAAA,CxB2oG9B,AEj/GA,8BsBwW8B,eAAA,CxB6oG9B,AEr/GA,kCsB0W8B,eAAA,CxB+oG9B,AEz/GA,gBsB2W+B,eAAA,CxBipG/B,AE5/GA,qBsB4WoC,eAAA,CxBmpGpC,AE//GA,0BsB6WyC,eAAA,CxBqpGzC,AElgHA,2BsB8W0C,eAAA,CxBupG1C,AErgHA,2BsB+W0C,eAAA,CxBypG1C,AExgHA,4BsBgX2C,eAAA,CxB2pG3C,AE3gHA,4BsBiX2C,eAAA,CxB6pG3C,AE9gHA,6BsBkX4C,eAAA,CxB+pG5C,AEjhHA,qBsBmXoC,eAAA,CxBiqGpC,AEphHA,uBsBoXsC,eAAA,CxBmqGtC,AEvhHA,0BsBqXyC,eAAA,CxBqqGzC,AE1hHA,mBsBsXkC,eAAA,CxBuqGlC,AE7hHA,gBsBuX+B,eAAA,CxByqG/B,AEhiHA,uBsBwXsC,eAAA,CxB2qGtC,AEniHA,wBsByXuC,eAAA,CxB6qGvC,AEtiHA,mBsB0XkC,eAAA,CxB+qGlC,AEziHA,0BsB2XyC,eAAA,CxBirGzC,AE5iHA,qBsB4XoC,eAAA,CxBmrGpC,AE/iHA,kBsB6XiC,eAAA,CxBqrGjC,AEljHA,esB8X8B,eAAA,CxBurG9B,AErjHA,qBsB+XoC,eAAA,CxByrGpC,AExjHA,4BsBgY2C,eAAA,CxB2rG3C,AE3jHA,kBsBiYiC,eAAA,CxB6rGjC,AE9jHA,yBsBkYwC,eAAA,CxB+rGxC,AEjkHA,2BsBmY0C,eAAA,CxBisG1C,AEpkHA,yBsBoYwC,eAAA,CxBmsGxC,AEvkHA,2BsBqY0C,eAAA,CxBqsG1C,AE1kHA,4BsBsY2C,eAAA,CxBusG3C,AE7kHA,iBsBuYgC,eAAA,CxBysGhC,AEhlHA,mBsBwYkC,eAAA,CxB2sGlC,AEnlHA,mBsByYkC,eAAA,CxB6sGlC,AEtlHA,iBsB0YgC,eAAA,CxB+sGhC,AEzlHA,oBsB2YmC,eAAA,CxBitGnC,AE5lHA,iBsB4YgC,eAAA,CxBmtGhC,AE/lHA,sBsB6YqC,eAAA,CxBqtGrC,AElmHA,kBsB8YiC,eAAA,CxButGjC,AErmHA,kBsB+YiC,eAAA,CxBytGjC,AExmHA,gBsBgZ+B,eAAA,CxB2tG/B,AE3mHA,sCsBkZmC,eAAA,CxB6tGnC,AE/mHA,iBsBmZgC,eAAA,CxB+tGhC,AElnHA,kBsBoZiC,eAAA,CxBiuGjC,AErnHA,mBsBqZkC,eAAA,CxBmuGlC,AExnHA,esBsZ8B,eAAA,CxBquG9B,AE3nHA,csBuZ6B,eAAA,CxBuuG7B,AE9nHA,iBsBwZgC,eAAA,CxByuGhC,AEjoHA,kBsByZiC,eAAA,CxB2uGjC,AEpoHA,qBsB0ZoC,eAAA,CxB6uGpC,AEvoHA,0BsB2ZyC,eAAA,CxB+uGzC,AE1oHA,gCsB4Z+C,eAAA,CxBivG/C,AE7oHA,+BsB6Z8C,eAAA,CxBmvG9C,AEhpHA,sDsB+Z8C,eAAA,CxBqvG9C,AEppHA,wBsBgauC,eAAA,CxBuvGvC,AEvpHA,sBsBiaqC,eAAA,CxByvGrC,AE1pHA,wBsBkauC,eAAA,CxB2vGvC,AE7pHA,uCsBoa8B,eAAA,CxB6vG9B,AEjqHA,yBsBqawC,eAAA,CxB+vGxC,AEpqHA,yBsBsawC,eAAA,CxBiwGxC,AEvqHA,iBsBuagC,eAAA,CxBmwGhC,AE1qHA,2BsBwa0C,eAAA,CxBqwG1C,AE7qHA,qBsByaoC,eAAA,CxBuwGpC,AEhrHA,kBsB0aiC,eAAA,CxBywGjC,AEnrHA,6DsB6aqC,eAAA,CxB2wGrC,AExrHA,kDsB+ayC,eAAA,CxB6wGzC,AE5rHA,iBsBgbgC,eAAA,CxB+wGhC,AE/rHA,kBsBibiC,eAAA,CxBixGjC,AElsHA,kBsBkbiC,eAAA,CxBmxGjC,AErsHA,yBsBmbwC,eAAA,CxBqxGxC,AExsHA,8BsBob6C,eAAA,CxBuxG7C,AE3sHA,uBsBqbsC,eAAA,CxByxGtC,AE9sHA,qBsBsboC,eAAA,CxB2xGpC,AEjtHA,gBsBub+B,eAAA,CxB6xG/B,AEptHA,yBsBwbwC,eAAA,CxB+xGxC,AEvtHA,0BsBybyC,eAAA,CxBiyGzC,AE1tHA,kBsB0biC,eAAA,CxBmyGjC,AE7tHA,kBsB2biC,eAAA,CxBqyGjC,AEhuHA,oBsB4bmC,eAAA,CxBuyGnC,AEnuHA,esB6b8B,eAAA,CxByyG9B,AEtuHA,oBsB8bmC,eAAA,CxB2yGnC,AEzuHA,iBsB+bgC,eAAA,CxB6yGhC,AE5uHA,esBgc8B,eAAA,CxB+yG9B,AE/uHA,iBsBicgC,eAAA,CxBizGhC,AElvHA,gBsBkc+B,eAAA,CxBmzG/B,AErvHA,iBsBmcgC,eAAA,CxBqzGhC,AExvHA,mBsBockC,eAAA,CxBuzGlC,AE3vHA,0BsBqcyC,eAAA,CxByzGzC,AE9vHA,iBsBscgC,eAAA,CxB2zGhC,AEjwHA,wBsBucuC,eAAA,CxB6zGvC,AEpwHA,mBsBwckC,eAAA,CxB+zGlC,AEvwHA,qCsB0c8B,eAAA,CxBi0G9B,AE3wHA,+BsB4c+B,eAAA,CxBm0G/B,AE/wHA,gBsB6c+B,eAAA,CxBq0G/B,AElxHA,mBsB8ckC,eAAA,CxBu0GlC,AErxHA,sBsB+cqC,eAAA,CxBy0GrC,AExxHA,sBsBgdqC,eAAA,CxB20GrC,AE3xHA,oBsBidmC,eAAA,CxB60GnC,AE9xHA,sBsBkdqC,eAAA,CxB+0GrC,AEjyHA,uBsBmdsC,eAAA,CxBi1GtC,AEpyHA,wBsBoduC,eAAA,CxBm1GvC,AEvyHA,6BsBqd4C,eAAA,CxBq1G5C,AE1yHA,0EsBwduC,eAAA,CxBu1GvC,AE/yHA,gDsB0dyC,eAAA,CxBy1GzC,AEnzHA,gDsB4duC,eAAA,CxB21GvC,AEvzHA,gDsB8duC,eAAA,CxB61GvC,AE3zHA,uBsB+dsC,eAAA,CxB+1GtC,AE9zHA,gBsBge+B,eAAA,CxBi2G/B,AEj0HA,mBsBiekC,eAAA,CxBm2GlC,AEp0HA,oBsBkemC,eAAA,CxBq2GnC,AEv0HA,wGsBueoC,eAAA,CxBu2GpC,AE90HA,0BsBweyC,eAAA,CxBy2GzC,AEj1HA,qDsB2egC,eAAA,CxB22GhC,AEt1HA,gCsB6eiC,eAAA,CxB62GjC,AE11HA,sBsB8eqC,eAAA,CxB+2GrC,AE71HA,esB+e8B,eAAA,CxBi3G9B,AEh2HA,2EsBkfsC,eAAA,CxBm3GtC,AEr2HA,yBsBmfwC,eAAA,CxBq3GxC,AEx2HA,csBof6B,eAAA,CxBu3G7B,AE32HA,oCsBsfiC,eAAA,CxBy3GjC,AE/2HA,uCsBwfsC,eAAA,CxB23GtC,AEn3HA,2CsB0fwC,eAAA,CxB63GxC,AEv3HA,mBsB2fkC,eAAA,CxB+3GlC,AE13HA,uBsB4fsC,eAAA,CxBi4GtC,AE73HA,kBsB6fiC,eAAA,CxBm4GjC,AEh4HA,qBsB8foC,eAAA,CxBq4GpC,AEn4HA,mBsB+fkC,eAAA,CxBu4GlC,AEt4HA,qBsBggBoC,eAAA,CxBy4GpC,AEz4HA,4BsBigB2C,eAAA,CxB24G3C,AE54HA,gBsBkgB+B,eAAA,CxB64G/B,AE/4HA,6CsBogBmC,eAAA,CxB+4GnC,AEn5HA,esBqgB8B,eAAA,CxBi5G9B,AEt5HA,sBsBsgBqC,eAAA,CxBm5GrC,AEz5HA,gBsBugB+B,eAAA,CxBq5G/B,AE55HA,sBsBwgBqC,eAAA,CxBu5GrC,AE/5HA,kBsBygBiC,eAAA,CxBy5GjC,AEl6HA,gBsB0gB+B,eAAA,CxB25G/B,AEr6HA,uBsB2gBsC,eAAA,CxB65GtC,AEx6HA,gBsB4gB+B,eAAA,CxB+5G/B,AE36HA,sBsB6gBqC,eAAA,CxBi6GrC,AE96HA,kBsB8gBiC,eAAA,CxBm6GjC,AEj7HA,yBsB+gBwC,eAAA,CxBq6GxC,AEp7HA,mBsBghBkC,eAAA,CxBu6GlC,AEv7HA,yBsBihBwC,eAAA,CxBy6GxC,AE17HA,uBsBkhBsC,eAAA,CxB26GtC,AE77HA,mBsBmhBkC,eAAA,CxB66GlC,AEh8HA,qBsBohBoC,eAAA,CxB+6GpC,AEn8HA,qBsBqhBoC,eAAA,CxBi7GpC,AEt8HA,sBsBshBqC,eAAA,CxBm7GrC,AEz8HA,wBsBuhBuC,eAAA,CxBq7GvC,AE58HA,iBsBwhBgC,eAAA,CxBu7GhC,AE/8HA,qBsByhBoC,eAAA,CxBy7GpC,AEl9HA,csB0hB6B,eAAA,CxB27G7B,AEr9HA,sBsB2hBqC,eAAA,CxB67GrC,AEx9HA,uBsB4hBsC,eAAA,CxB+7GtC,AE39HA,yBsB6hBwC,eAAA,CxBi8GxC,AE99HA,sBsB8hBqC,eAAA,CxBm8GrC,AEj+HA,qBsB+hBoC,eAAA,CxBq8GpC,AEp+HA,sBsBgiBqC,eAAA,CxBu8GrC,AEv+HA,kBsBiiBiC,eAAA,CxBy8GjC,AE1+HA,yBsBkiBwC,eAAA,CxB28GxC,AE7+HA,sBsBmiBqC,eAAA,CxB68GrC,AEh/HA,qBsBoiBoC,eAAA,CxB+8GpC,AEn/HA,mBsBqiBkC,eAAA,CxBi9GlC,AEt/HA,esBsiB8B,eAAA,CxBm9G9B,AEz/HA,mBsBuiBkC,eAAA,CxBq9GlC,AE5/HA,qBsBwiBoC,eAAA,CxBu9GpC,AE//HA,csByiB6B,eAAA,CxBy9G7B,AElgIA,mDsB4iB8B,eAAA,CxB29G9B,AEvgIA,oBsB6iBmC,eAAA,CxB69GnC,AE1gIA,sBsB8iBqC,eAAA,CxB+9GrC,AE7gIA,0BsB+iByC,eAAA,CxBi+GzC,AEhhIA,oBsBgjBmC,eAAA,CxBm+GnC,AEnhIA,oBsBijBmC,eAAA,CxBq+GnC,AEthIA,mBsBkjBkC,eAAA,CxBu+GlC,AEzhIA,kBsBmjBiC,eAAA,CxBy+GjC,AE5hIA,wBsBojBuC,eAAA,CxB2+GvC,AE/hIA,uBsBqjBsC,eAAA,CxB6+GtC,AEliIA,oBsBsjBmC,eAAA,CxB++GnC,AEriIA,qBsBujBoC,eAAA,CxBi/GpC,AExiIA,2BsBwjB0C,eAAA,CxBm/G1C,AE3iIA,mBsByjBkC,eAAA,CxBq/GlC,AE9iIA,gBsB0jB+B,eAAA,CxBu/G/B,AEjjIA,uBsB2jBsC,eAAA,CxBy/GtC,AEpjIA,sBsB4jBqC,eAAA,CxB2/GrC,AEvjIA,uBsB6jBsC,eAAA,CxB6/GtC,AE1jIA,qBsB8jBoC,eAAA,CxB+/GpC,AE7jIA,iBsB+jBgC,eAAA,CxBigHhC,AEhkIA,gBsBgkB+B,eAAA,CxBmgH/B,AEnkIA,mBsBikBkC,eAAA,CxBqgHlC,AEtkIA,2CsBmkBsC,eAAA,CxBugHtC,AE1kIA,2BsBokB0C,eAAA,CxBygH1C,AE7kIA,wBsBqkBuC,eAAA,CxB2gHvC,AEhlIA,uBsBskBsC,eAAA,CxB6gHtC,AEnlIA,sBsBukBqC,eAAA,CxB+gHrC,AEtlIA,uBsBwkBsC,eAAA,CxBihHtC,AEzlIA,yBsBykBwC,eAAA,CxBmhHxC,AE5lIA,yBsB0kBwC,eAAA,CxBqhHxC,AE/lIA,kBsB2kBiC,eAAA,CxBuhHjC,AElmIA,sBsB4kBqC,eAAA,CxByhHrC,AErmIA,6BsB6kB4C,eAAA,CxB2hH5C,AExmIA,uBsB8kBsC,eAAA,CxB6hHtC,AE3mIA,oBsB+kBmC,eAAA,CxB+hHnC,AE9mIA,kBsBglBiC,eAAA,CxBiiHjC,AEjnIA,qBsBilBoC,eAAA,CxBmiHpC,AEpnIA,sBsBklBqC,eAAA,CxBqiHrC,AEvnIA,gCsBolB8B,eAAA,CxBuiH9B,AE3nIA,mBsBqlBkC,eAAA,CxByiHlC,AE9nIA,iBsBslBgC,eAAA,CxB2iHhC,AEjoIA,kBsBulBiC,eAAA,CxB6iHjC,AEpoIA,kBsBwlBiC,eAAA,CxB+iHjC,AEvoIA,sCsB0lBuC,eAAA,CxBijHvC,AE3oIA,yBsB2lBwC,eAAA,CxBmjHxC,AE9oIA,oBsB4lBmC,eAAA,CxBqjHnC,AEjpIA,wBsB6lBuC,eAAA,CxBujHvC,AEppIA,gEsBgmBuC,eAAA,CxByjHvC,AEzpIA,uDsBkmBiD,eAAA,CxB2jHjD,AE7pIA,6CsBomBuC,eAAA,CxB6jHvC,AEjqIA,gDsBsmB0C,eAAA,CxB+jH1C,AErqIA,8CsBwmBwC,eAAA,CxBikHxC,AEzqIA,yBsBymBwC,eAAA,CxBmkHxC,AE5qIA,oBsB0mBmC,eAAA,CxBqkHnC,AE/qIA,wBsB2mBuC,eAAA,CxBukHvC,AElrIA,0BsB4mByC,eAAA,CxBykHzC,AErrIA,uBsB6mBsC,eAAA,CxB2kHtC,AExrIA,yBsB8mBwC,eAAA,CxB6kHxC,AE3rIA,kBsB+mBiC,eAAA,CxB+kHjC,AE9rIA,0BsBgnByC,eAAA,CxBilHzC,AEjsIA,iBsBinBgC,eAAA,CxBmlHhC,AEpsIA,yBsBknBwC,eAAA,CxBqlHxC,AEvsIA,uBsBmnBsC,eAAA,CxBulHtC,AE1sIA,kDsBqnB0C,eAAA,CxBylH1C,AE9sIA,iDsBunByC,eAAA,CxB2lHzC,AEltIA,gDsBynBwC,eAAA,CxB6lHxC,AEttIA,qBsB0nBoC,eAAA,CxB+lHpC,AEztIA,8CsB4nBsC,eAAA,CxBimHtC,AE7tIA,+CsB8nBuC,eAAA,CxBmmHvC,AEjuIA,2BsB+nB0C,eAAA,CxBqmH1C,AEpuIA,yBsBgoBwC,eAAA,CxBumHxC,AEvuIA,wBsBioBuC,eAAA,CxBymHvC,AE1uIA,0BsBkoByC,eAAA,CxB2mHzC,AE7uIA,wBsBmoBuC,eAAA,CxB6mHvC,AEhvIA,qBsBooBoC,eAAA,CxB+mHpC,AEnvIA,sBsBqoBqC,eAAA,CxBinHrC,AEtvIA,4BsBsoB2C,eAAA,CxBmnH3C,AEzvIA,csBuoB6B,eAAA,CxBqnH7B,AE5vIA,qBsBwoBoC,eAAA,CxBunHpC,AE/vIA,uBsByoBsC,eAAA,CxBynHtC,AElwIA,yBsB0oBwC,eAAA,CxB2nHxC,AErwIA,gCsB2oB+C,eAAA,CxB6nH/C,AExwIA,sBsB4oBqC,eAAA,CxB+nHrC,AE3wIA,uBsB6oBsC,eAAA,CxBioHtC,AE9wIA,kBsB8oBiC,eAAA,CxBmoHjC,AEjxIA,kBsB+oBiC,eAAA,CxBqoHjC,AEpxIA,mBsBgpBkC,eAAA,CxBuoHlC,AEvxIA,iBsBipBgC,eAAA,CxByoHhC,AE1xIA,6BsBkpB4C,eAAA,CxB2oH5C,AE7xIA,oCsBopBqC,eAAA,CxB6oHrC,AEjyIA,kBsBqpBiC,eAAA,CxB+oHjC,AEpyIA,iBsBspBgC,eAAA,CxBipHhC,AEvyIA,kBsBupBiC,eAAA,CxBmpHjC,AE1yIA,2BsBwpB0C,eAAA,CxBqpH1C,AE7yIA,4BsBypB2C,eAAA,CxBupH3C,AEhzIA,4BsB0pB2C,eAAA,CxBypH3C,AEnzIA,4BsB2pB2C,eAAA,CxB2pH3C,AEtzIA,oBsB4pBmC,eAAA,CxB6pHnC,AEzzIA,mBsB6pBkC,eAAA,CxB+pHlC,AE5zIA,qBsB8pBoC,eAAA,CxBiqHpC,AE/zIA,iBsB+pBgC,eAAA,CxBmqHhC,AEl0IA,esBgqB8B,eAAA,CxBqqH9B,AEr0IA,sBsBiqBqC,eAAA,CxBuqHrC,AEx0IA,wBsBkqBuC,eAAA,CxByqHvC,AE30IA,iBsBmqBgC,eAAA,CxB2qHhC,AE90IA,iBsBoqBgC,eAAA,CxB6qHhC,AEj1IA,qBsBqqBoC,eAAA,CxB+qHpC,AEp1IA,qBsBsqBoC,eAAA,CxBirHpC,AEv1IA,wBsBuqBuC,eAAA,CxBmrHvC,AE11IA,gBsBwqB+B,eAAA,CxBqrH/B,AE71IA,2BsByqB0C,eAAA,CxBurH1C,AEh2IA,oBsB0qBmC,eAAA,CxByrHnC,AEn2IA,gBsB2qB+B,eAAA,CxB2rH/B,AEt2IA,wBsB4qBuC,eAAA,CxB6rHvC,AEz2IA,esB6qB8B,eAAA,CxB+rH9B,AE52IA,wBsB8qBuC,eAAA,CxBisHvC,AE/2IA,oBsB+qBmC,eAAA,CxBmsHnC,AEl3IA,kBsBgrBiC,eAAA,CxBqsHjC,AEr3IA,wBsBirBuC,eAAA,CxBusHvC,AEx3IA,0BsBkrByC,eAAA,CxBysHzC,AE33IA,uBsBmrBsC,eAAA,CxB2sHtC,AE93IA,yBsBorBwC,eAAA,CxB6sHxC,AEj4IA,wBsBqrBuC,eAAA,CxB+sHvC,AEp4IA,2BsBsrB0C,eAAA,CxBitH1C,AEv4IA,mBsBurBkC,eAAA,CxBmtHlC,AE14IA,qBsBwrBoC,eAAA,CxBqtHpC,AE74IA,uBsByrBsC,eAAA,CxButHtC,AEh5IA,mBsB0rBkC,eAAA,CxBytHlC,AEn5IA,kBsB2rBiC,eAAA,CxB2tHjC,AEt5IA,sBsB4rBqC,eAAA,CxB6tHrC,AEz5IA,mBsB6rBkC,eAAA,CxB+tHlC,AE55IA,kBsB8rBiC,eAAA,CxBiuHjC,AE/5IA,4BsB+rB2C,eAAA,CxBmuH3C,AEl6IA,0BsBgsByC,eAAA,CxBquHzC,AEr6IA,6BsBisB4C,eAAA,CxBuuH5C,AEx6IA,iBsBksBgC,eAAA,CxByuHhC,AE36IA,6BsBmsB4C,eAAA,CxB2uH5C,AE96IA,gCsBosB+C,eAAA,CxB6uH/C,AEj7IA,mBsBqsBkC,eAAA,CxB+uHlC,AEp7IA,uCsBssBsD,eAAA,CxBivHtD,AEv7IA,2EsBwsB8D,eAAA,CxBmvH9D,AE37IA,+DsB2sB+B,eAAA,CxBqvH/B,AEh8IA,iBsB4sBgC,eAAA,CxBuvHhC,AEn8IA,mBsB6sBkC,eAAA,CxByvHlC,AEt8IA,4CsB+sBwC,eAAA,CxB2vHxC,AE18IA,sBsBgtBqC,eAAA,CxB6vHrC,AE78IA,kBsBitBiC,eAAA,CxB+vHjC,AEh9IA,yBsBktBwC,eAAA,CxBiwHxC,AEn9IA,oBsBmtBmC,eAAA,CxBmwHnC,AEt9IA,0BsBotByC,eAAA,CxBqwHzC,AEz9IA,2BsBqtB0C,eAAA,CxBuwH1C,AE59IA,sBsBstBqC,eAAA,CxBywHrC,AE/9IA,uBsButBsC,eAAA,CxB2wHtC,AEl+IA,iBsBwtBgC,eAAA,CxB6wHhC,AEr+IA,qBsBytBoC,eAAA,CxB+wHpC,AEx+IA,8DsB2tB+C,eAAA,CxBixH/C,AE5+IA,sCsB6tBuC,eAAA,CxBmxHvC,AEh/IA,uBsB8tBsC,eAAA,CxBqxHtC,AEn/IA,yBsB+tBwC,eAAA,CxBuxHxC,AEt/IA,2BsBguB0C,eAAA,CxByxH1C,AEz/IA,kBsBiuBiC,eAAA,CxB2xHjC,AE5/IA,wBsBkuBuC,eAAA,CxB6xHvC,AE//IA,0BsBmuByC,eAAA,CxB+xHzC,AElgJA,yCsBquBuC,eAAA,CxBiyHvC,AEtgJA,6CsBuuByC,eAAA,CxBmyHzC,AE1gJA,uBsBwuBsC,eAAA,CxBqyHtC,AE7gJA,yBsByuBwC,eAAA,CxBuyHxC,AEhhJA,kBsB0uBiC,eAAA,CxByyHjC,AEnhJA,oBsB2uBmC,eAAA,CxB2yHnC,AEthJA,8CsB6uBkC,eAAA,CxB6yHlC,AE1hJA,kDsB+uBoC,eAAA,CxB+yHpC,AE9hJA,iBsBgvBgC,eAAA,CxBizHhC,AEjiJA,0BsBivByC,eAAA,CxBmzHzC,AEpiJA,oBsBkvBmC,eAAA,CxBqzHnC,AEviJA,4EsBqvB2C,eAAA,CxBuzH3C,AE5iJA,+DsBuvBqD,eAAA,CxByzHrD,AEhjJA,qDsByvB2C,eAAA,CxB2zH3C,AEpjJA,wDsB2vB8C,eAAA,CxB6zH9C,AE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","file":"mosaico-material.min.css","sourcesContent":["/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * MOSAICO\n ***************************************************************************************************************************/\n/**\n * Page html structure:\n * \n * #page\n * #main-edit-area\n * #main-wysiwyg-area\n * #toolbar .mo\n * #main-toolbox .mo\n * #tooltabs\n * #toolimages\n * #tooldebug\n * #tooltheme\n * #main-preview .mo\n * #preview-toolbar\n * #frame-container\n * #incompatible-browser\n * #fake-image-editor\n * #loading (usato solo da standalone)\n * #moxman-loading\n * #toast-container\n * #contextmenu-help.mo\n * #carousel-container.mo\n * \n * CSS selector used, beyond the #ids before:\n * - .mo e .mo-*\n * - .ui-* (ui-helper-hidden-accessible, ui-tooltip)\n * - .moxman-* e .mce-*\n * - .fa-* (font-awesome, configurable via @fa-css-prefix)\n * - .icon-* (fontello: TODO remove me, we currently refer 2 icons from fontello)\n * - .evo-* (evo.colorpicker)\n * - .toast-* #toast-* (toastr)\n */\n/**************************************************************************************************************************\n * BASIC CONFIGURATION\n *************************************************************************************************************************/\n/* 20140929: Previously 0.85em, but we don't want user selected sizes because it breaks around */\n/**************************************************************************************************************************\n * COMPUTED CONFIUGRATION\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * SERVICE COLORS\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * COMPUTED VARIABLES\n *************************************************************************************************************************/\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * GENERIC TOOLS STYLES\n ***************************************************************************************************************************/\n.mo {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 13.6px;\n line-height: 1.5em;\n}\n#main-toolbox {\n line-height: normal;\n}\n#main-toolbox .propEditor .propInput .checkbox-replacer {\n padding: 4px 2px;\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level0,\n#main-toolbox .pane-title {\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1.2em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1.2em;\n}\n#main-toolbox .propInput .data-select::after,\n#main-toolbox .propInput .evo-pointer::before {\n width: 31px;\n padding: 0 10px;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n width: 30px;\n padding: 0;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon {\n margin: 0;\n}\n#main-toolbox .propInput .ui-spinner-button {\n width: 30px;\n}\n#main-toolbox .propInput .ui-spinner-button .ui-icon {\n left: 6px;\n top: 8px;\n}\n#main-toolbox .evo-pop .evo-more {\n font-size: 1em;\n}\n#toolimages .img-dropzone {\n position: relative;\n}\n#toolimages .img-dropzone.ui-state-highlight:before {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#toolimages .img-dropzone.ui-state-draghover:before {\n background-color: rgba(255, 87, 34, 0.8);\n animation: none;\n}\n#toolimages .uploadzone {\n font-size: 1.2em;\n}\n.mo {\n /**************************************************************************************************************************\n * COMMON USE, BASIC ELEMENTS\n * Primitive html tags, common base classes, buttons, base forms, dropdown...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * BASIC HTML ELEMENTS\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * HTML HELPERS\n * Additional generic elements\n *************************************************************************************************************************/\n /**\n * ICONS FIX\n */\n /**************************************************************************************************************************\n * BUTTONS\n *************************************************************************************************************************/\n /*\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner {\n border: none;\n}\n*/\n /*#main */\n /**************************************************************************************************************************\n * FORM\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * TOOLTIPS, WINDOWS...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * JQUERY UI\n * \n * Needs style_elements.less. Uses .button() .win()\n *************************************************************************************************************************/\n /**\n * JQUERY HORIZONTAL UI TABS\n */\n /**\n * JQUERY VERTICAL UI TABS\n */\n /* questo renderebbe grigini i dati default\n .propInput.default input,\n .propInput.default select {\n color: #CCC;\n }\n */\n /*\n .propInput.local.default, .propInput.local.default * { display: none; }\n .propInput.global.overridden, .propInput.global.overridden * { display: none; }\n */\n /***************\n * COLOR PICKER\n ***************/\n}\n.mo a,\n.mo a:link,\n.mo a:visited,\n.mo a:active,\n.mo #site-slogan {\n color: #ff5722;\n text-decoration: none;\n}\nli .mo a,\nli .mo a:link,\nli .mo a:visited,\nli .mo a:active,\nli .mo #site-slogan {\n color: #ff5722;\n}\n.mo a:hover {\n color: #bb2d00;\n}\nli .mo a:hover {\n color: #bb2d00;\n}\n.mo a.disabled,\n.mo a.disabled:link,\n.mo a.disabled:visited {\n color: #220800;\n}\n.mo b,\n.mo strong {\n font-weight: bold;\n}\n.mo i,\n.mo em {\n font-style: italic;\n}\n.mo ul,\n.mo ol {\n margin: 0.5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: 0.5em 0;\n}\n.mo ul li a,\n.mo ol li a,\n.mo ul li a:active,\n.mo ol li a:active,\n.mo ul li a:link,\n.mo ol li a:link,\n.mo ul li a:visited,\n.mo ol li a:visited {\n white-space: nowrap;\n}\n.mo p {\n margin: 1em 0;\n}\n.mo p .grey {\n color: #969696;\n}\n.mo small {\n font-size: smaller;\n}\n.mo big {\n font-size: larger;\n}\n.mo h1 {\n font-size: 2em;\n margin: 0.5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: 0.5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: 0.5em 0;\n}\n.mo dl {\n margin-bottom: 1.5em;\n}\n.mo dl dt {\n font-weight: bold;\n}\n.mo dl dd {\n margin-left: 10px;\n font-style: italic;\n}\n.mo hr {\n border: 0;\n border-top: 2px solid #d5d5d5;\n margin: 1em 0;\n}\n.mo blockquote {\n font-style: italic;\n border-left: 2px solid #d5d5d5;\n padding: 0.5em;\n}\n.mo code {\n display: inline-block;\n border-left: 2px solid #d5d5d5;\n padding: 0.5em;\n}\n.mo table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n margin: 1.5em 0 1.5em 0;\n border-bottom: 2px solid #d5d5d5;\n /*&.thead-fixed {\n //margin: -@body-padding-top 0;\n margin: 0;\n }*/\n}\n.mo table tr.even,\n.mo table tr.odd {\n border: none;\n padding: 0;\n background-color: transparent;\n}\n.mo table th {\n padding: 0.5em 0.7em;\n font-weight: bold;\n border-top: 0 none;\n border-bottom: 2px solid #d5d5d5;\n vertical-align: middle;\n background-color: #900000;\n}\n.mo table td {\n padding: 0.1em 0.7em;\n height: 3.3em;\n background-color: #eeeeee;\n border-top: 0 none;\n vertical-align: middle;\n}\n.mo table td.active {\n background-color: #eeeeee;\n}\n.mo table > tr.even > td,\n.mo table > tbody > tr.even > td {\n background-color: #d2a7a7;\n}\n.mo table > tr.even > td.active,\n.mo table > tbody > tr.even > td.active {\n background-color: #d2a7a7;\n}\n.mo table tr:first-child th:first-child {\n border-top-left-radius: 2.8px;\n}\n.mo table tr:first-child th:last-child {\n border-top-right-radius: 2.8px;\n}\n.mo table .checkbox_cell {\n width: 3em;\n}\n.mo table tr.selected td,\n.mo table tr.selected td.active {\n background-color: #FFFF90 !important;\n}\n.mo table tr.odd.selected td,\n.mo table tr.odd.selected td.active,\n.mo table tr:nth-child(odd).selected td,\n.mo table tr:nth-child(odd).selected td.active {\n background-color: #fafaac !important;\n}\n.mo .table-wrapper-scroll {\n width: 100%;\n overflow-x: auto;\n}\n.mo caption {\n color: #ff5722;\n font-weight: bold;\n text-align: left;\n padding: 0.5em 0.7em;\n}\n.mo div.showall {\n padding: 0 0.7em 0.5em 0.7em;\n vertical-align: middle;\n clear: both;\n}\n.mo ul.links {\n margin: 0;\n padding: 0;\n}\n.mo ul.links.inline {\n display: inline;\n}\n.mo ul.links li {\n display: inline;\n list-style-type: none;\n padding: 0 0.5em;\n}\n.mo .small {\n font-size: 80%;\n}\n.mo .big {\n font-size: 120%;\n}\n.mo .clear-block {\n clear: both;\n}\n.mo .margin-top {\n margin-top: 0.5em;\n}\n.mo .overflow-hidden {\n overflow: hidden;\n}\n.mo .quarter-width {\n width: 25% !important;\n}\n.mo .half-width {\n width: 50% !important;\n}\n.mo .three-quarter-width {\n width: 75% !important;\n}\n.mo .full-width {\n width: 100% !important;\n}\n.mo .normal-width {\n width: auto !important;\n}\n.mo .clickable {\n cursor: pointer;\n}\n.mo .help {\n background-color: #b65f5f;\n margin: 1em 0;\n padding: 0.8em;\n}\n.mo .help p:first-child {\n margin-top: 0;\n}\n.mo .help p:last-child {\n margin-bottom: 0;\n}\n.mo .dropdown {\n position: absolute;\n z-index: 1003;\n margin: 0;\n padding: 0.5em 1em;\n border-radius: 2px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 4px 10px #727272;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n}\n.mo .dropdown.dropdown-right {\n right: 0;\n}\n.mo .dropdown.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .dropdown,\n.button_links .mo .dropdown,\n.links.inline .mo .dropdown {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .dropdown,\n.top_links .mo .dropdown,\n.box_top_links .mo .dropdown,\n.slide_links .mo .dropdown {\n margin: 0.2em 0 0 0;\n}\n.mo .dropdown hr {\n margin: 0.5em -1em;\n border-top: 1px solid #fff2ee;\n box-shadow: none;\n}\n.container-inline .mo .dropdown {\n display: block;\n}\n.mo .dropdown .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .dropdown-container {\n position: relative;\n white-space: nowrap;\n display: inline-block;\n}\n.container-inline .mo .dropdown-container {\n display: inline-block;\n}\n.form-item .mo .dropdown-container {\n margin: 0 0.5em 0 0;\n}\n.mo [class^=\"icon-\"]:before,\n.mo [class*=\" icon-\"]:before {\n margin-right: 0;\n margin-left: 0;\n}\n.mo i.icon {\n cursor: default;\n}\n.mo a:link i.icon {\n cursor: pointer;\n}\n.mo .icon_red {\n color: #BD362F;\n}\n.mo .icon_green {\n color: #51A351;\n}\n.mo img.icon {\n vertical-align: text-top;\n}\n.mo a.hint,\n.mo a.info {\n color: #636363;\n font-size: 80%;\n vertical-align: top;\n margin: 0 0.2em;\n}\n.mo a.hint:hover,\n.mo a.info:hover {\n color: #ff5722;\n}\nh1 .mo a.hint,\nh1 .mo a.info,\nh2 .mo a.hint,\nh2 .mo a.info,\nh3 .mo a.hint,\nh3 .mo a.info {\n font-size: 60%;\n}\nli .mo a.hint,\nli .mo a.info {\n color: #636363;\n}\n.mo a.hint {\n cursor: help;\n}\n.mo .suffix_icon {\n font-size: 80%;\n}\n.mo div.info {\n padding: 0.5em;\n background-color: #b65f5f;\n margin: 0.5em 0;\n}\n.mo .menu_step_circle {\n display: inline-block;\n background-color: #DDDDDD;\n color: #303030;\n padding: 0.3em 0.6em;\n margin: 0px 0.2em 0 0;\n border-radius: 1em;\n}\n.mo .menu_step_circle.current {\n background-color: #900000;\n}\n.mo .menu_step_circle.disabled {\n color: #969696;\n}\n.mo a.button_dropdown_split {\n border-left: 1px solid #303030;\n padding-left: 0.5em;\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo .button_links a.button_dropdown_split,\nli .mo .links.inline a.button_dropdown_split,\nli .mo .cell_links a.button_dropdown_split {\n color: #eeeeee;\n}\n.mo .button_links a.button_dropdown_split img,\n.mo .links.inline a.button_dropdown_split img,\n.mo .cell_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .button_links a.button_dropdown_split:hover,\n.mo .links.inline a.button_dropdown_split:hover,\n.mo .cell_links a.button_dropdown_split:hover,\n.mo .button_links a.button_dropdown_split.pressed,\n.mo .links.inline a.button_dropdown_split.pressed,\n.mo .cell_links a.button_dropdown_split.pressed,\n.mo .button_links a.button_dropdown_split.selected,\n.mo .links.inline a.button_dropdown_split.selected,\n.mo .cell_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .button_links a.button_dropdown_split.disabled,\n.mo .links.inline a.button_dropdown_split.disabled,\n.mo .cell_links a.button_dropdown_split.disabled {\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.disabled a,\n.mo .links.inline a.button_dropdown_split.disabled a,\n.mo .cell_links a.button_dropdown_split.disabled a,\n.mo .button_links a.button_dropdown_split.disabled .link,\n.mo .links.inline a.button_dropdown_split.disabled .link,\n.mo .cell_links a.button_dropdown_split.disabled .link {\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.disabled:hover,\n.mo .links.inline a.button_dropdown_split.disabled:hover,\n.mo .cell_links a.button_dropdown_split.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .button_links a.button_dropdown_split.inline,\n.mo .links.inline a.button_dropdown_split.inline,\n.mo .cell_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo .button_links a.button_dropdown_split.primary,\n.mo .links.inline a.button_dropdown_split.primary,\n.mo .cell_links a.button_dropdown_split.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .button_links a.button_dropdown_split.primary:hover,\n.mo .links.inline a.button_dropdown_split.primary:hover,\n.mo .cell_links a.button_dropdown_split.primary:hover,\n.mo .button_links a.button_dropdown_split.primary.pressed,\n.mo .links.inline a.button_dropdown_split.primary.pressed,\n.mo .cell_links a.button_dropdown_split.primary.pressed,\n.mo .button_links a.button_dropdown_split.primary.selected,\n.mo .links.inline a.button_dropdown_split.primary.selected,\n.mo .cell_links a.button_dropdown_split.primary.selected {\n background-color: #ee3900;\n}\n.mo .button_links a.button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .button_links a.button_dropdown_split.big .suffix_icon,\n.mo .links.inline a.button_dropdown_split.big .suffix_icon,\n.mo .cell_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .button_links a.button_dropdown_split.loading,\n.mo .links.inline a.button_dropdown_split.loading,\n.mo .cell_links a.button_dropdown_split.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split,\n.mo .top_links a.button_dropdown_split {\n margin-left: -1.5em;\n border-left: 1px solid transparent !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n z-index: 2;\n}\n.mo a.button,\n.mo input.form-submit {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo a.button,\nli .mo input.form-submit {\n color: #eeeeee;\n}\n.mo a.button img,\n.mo input.form-submit img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo a.button:hover,\n.mo input.form-submit:hover,\n.mo a.button.pressed,\n.mo input.form-submit.pressed,\n.mo a.button.selected,\n.mo input.form-submit.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo a.button.disabled,\n.mo input.form-submit.disabled {\n color: #ffa588;\n}\n.mo a.button.disabled a,\n.mo input.form-submit.disabled a,\n.mo a.button.disabled .link,\n.mo input.form-submit.disabled .link {\n color: #ffa588;\n}\n.mo a.button.disabled:hover,\n.mo input.form-submit.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo a.button.inline,\n.mo input.form-submit.inline {\n margin: 0 7px 0 0;\n}\n.mo a.button.primary,\n.mo input.form-submit.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo a.button.primary:hover,\n.mo input.form-submit.primary:hover,\n.mo a.button.primary.pressed,\n.mo input.form-submit.primary.pressed,\n.mo a.button.primary.selected,\n.mo input.form-submit.primary.selected {\n background-color: #ee3900;\n}\n.mo a.button.big,\n.mo input.form-submit.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo a.button.big .suffix_icon,\n.mo input.form-submit.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo a.button.with_button_dropdown_split,\n.mo input.form-submit.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo a.button.with_button_dropdown_split.big,\n.mo input.form-submit.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo a.button.loading,\n.mo input.form-submit.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.links a {\n font-weight: bold;\n}\n.mo ul.button_links li,\n.mo ul.inline li {\n padding: 0;\n}\n.mo ul.button_links li a,\n.mo ul.inline li a {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo ul.button_links li a,\nli .mo ul.inline li a {\n color: #eeeeee;\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.button_links li a:hover,\n.mo ul.inline li a:hover,\n.mo ul.button_links li a.pressed,\n.mo ul.inline li a.pressed,\n.mo ul.button_links li a.selected,\n.mo ul.inline li a.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.button_links li a.disabled,\n.mo ul.inline li a.disabled {\n color: #ffa588;\n}\n.mo ul.button_links li a.disabled a,\n.mo ul.inline li a.disabled a,\n.mo ul.button_links li a.disabled .link,\n.mo ul.inline li a.disabled .link {\n color: #ffa588;\n}\n.mo ul.button_links li a.disabled:hover,\n.mo ul.inline li a.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.button_links li a.inline,\n.mo ul.inline li a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.button_links li a.primary,\n.mo ul.inline li a.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.button_links li a.primary:hover,\n.mo ul.inline li a.primary:hover,\n.mo ul.button_links li a.primary.pressed,\n.mo ul.inline li a.primary.pressed,\n.mo ul.button_links li a.primary.selected,\n.mo ul.inline li a.primary.selected {\n background-color: #ee3900;\n}\n.mo ul.button_links li a.big,\n.mo ul.inline li a.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.button_links li a.big .suffix_icon,\n.mo ul.inline li a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.button_links li a.with_button_dropdown_split,\n.mo ul.inline li a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.button_links li a.with_button_dropdown_split.big,\n.mo ul.inline li a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.button_links li a.loading,\n.mo ul.inline li a.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: text-top;\n margin: 0 0.5em 0 0;\n}\n.mo ul.buttonbar {\n white-space: nowrap;\n}\n.mo ul.buttonbar > li,\n.mo ul.buttonbar > .dropdown-container > li {\n margin: 0 1px 0 0;\n float: left;\n}\n.mo ul.buttonbar > li a,\n.mo ul.buttonbar > .dropdown-container > li a,\n.mo ul.buttonbar > li a.big,\n.mo ul.buttonbar > .dropdown-container > li a.big {\n margin-left: 0;\n margin-right: 0;\n border-radius: 0;\n}\n.mo ul.buttonbar > li a.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.with_button_dropdown_split,\n.mo ul.buttonbar > li a.big.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.big.with_button_dropdown_split {\n margin-right: 7px;\n}\n.mo ul.buttonbar > li.first a,\n.mo ul.buttonbar > .dropdown-container > li.first a {\n border-radius: 2px 0 0 2px;\n}\n.mo ul.buttonbar > li.first a.big,\n.mo ul.buttonbar > .dropdown-container > li.first a.big {\n border-radius: 2.8px 0 0 2.8px;\n}\n.mo ul.buttonbar > li.last a,\n.mo ul.buttonbar > .dropdown-container > li.last a {\n border-radius: 0 2px 2px 0;\n}\n.mo ul.buttonbar > li.last a.big,\n.mo ul.buttonbar > .dropdown-container > li.last a.big {\n border-radius: 0 2.8px 2.8px 0;\n}\n.mo ul.buttonbar.top_links {\n margin-left: 0.5em;\n}\n.mo ul.buttonbar:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo ul.cell_links > li,\n.mo ul.cell_links > .dropdown-container > li {\n padding: 0;\n}\n.mo ul.cell_links > li > a,\n.mo ul.cell_links > .dropdown-container > li > a {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n margin: 0 0.5em 0 0;\n}\nli .mo ul.cell_links > li > a,\nli .mo ul.cell_links > .dropdown-container > li > a {\n color: #eeeeee;\n}\n.mo ul.cell_links > li > a img,\n.mo ul.cell_links > .dropdown-container > li > a img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.cell_links > li > a:hover,\n.mo ul.cell_links > .dropdown-container > li > a:hover,\n.mo ul.cell_links > li > a.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.pressed,\n.mo ul.cell_links > li > a.selected,\n.mo ul.cell_links > .dropdown-container > li > a.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.cell_links > li > a.disabled,\n.mo ul.cell_links > .dropdown-container > li > a.disabled {\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.disabled a,\n.mo ul.cell_links > .dropdown-container > li > a.disabled a,\n.mo ul.cell_links > li > a.disabled .link,\n.mo ul.cell_links > .dropdown-container > li > a.disabled .link {\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.disabled:hover,\n.mo ul.cell_links > .dropdown-container > li > a.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.cell_links > li > a.inline,\n.mo ul.cell_links > .dropdown-container > li > a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.cell_links > li > a.primary,\n.mo ul.cell_links > .dropdown-container > li > a.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.cell_links > li > a.primary:hover,\n.mo ul.cell_links > .dropdown-container > li > a.primary:hover,\n.mo ul.cell_links > li > a.primary.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.primary.pressed,\n.mo ul.cell_links > li > a.primary.selected,\n.mo ul.cell_links > .dropdown-container > li > a.primary.selected {\n background-color: #ee3900;\n}\n.mo ul.cell_links > li > a.big,\n.mo ul.cell_links > .dropdown-container > li > a.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.cell_links > li > a.big .suffix_icon,\n.mo ul.cell_links > .dropdown-container > li > a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split.big,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.cell_links > li > a.loading,\n.mo ul.cell_links > .dropdown-container > li > a.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.cell_links a.button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\ntd .mo ul.cell_links {\n text-align: right;\n}\n.mo .td_cell_links {\n text-align: right;\n white-space: nowrap;\n}\n.mo ul.top_links,\n.mo ul.box_top_links {\n float: right;\n text-align: right;\n}\n.mo ul.top_links > *,\n.mo ul.box_top_links > * {\n line-height: normal;\n text-align: left;\n margin-bottom: 0.4em;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a,\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n border-radius: 2.8px;\n padding: 0.25em 0.4em;\n font-size: 1.3em;\n}\nli .mo ul.top_links li a,\nli .mo ul.box_top_links li a,\nli .mo ul.top_links a.button_dropdown_split,\nli .mo ul.box_top_links a.button_dropdown_split {\n color: #eeeeee;\n}\n.mo ul.top_links li a img,\n.mo ul.box_top_links li a img,\n.mo ul.top_links a.button_dropdown_split img,\n.mo ul.box_top_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.top_links li a:hover,\n.mo ul.box_top_links li a:hover,\n.mo ul.top_links a.button_dropdown_split:hover,\n.mo ul.box_top_links a.button_dropdown_split:hover,\n.mo ul.top_links li a.pressed,\n.mo ul.box_top_links li a.pressed,\n.mo ul.top_links a.button_dropdown_split.pressed,\n.mo ul.box_top_links a.button_dropdown_split.pressed,\n.mo ul.top_links li a.selected,\n.mo ul.box_top_links li a.selected,\n.mo ul.top_links a.button_dropdown_split.selected,\n.mo ul.box_top_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo ul.top_links li a.disabled,\n.mo ul.box_top_links li a.disabled,\n.mo ul.top_links a.button_dropdown_split.disabled,\n.mo ul.box_top_links a.button_dropdown_split.disabled {\n color: #ffa588;\n}\n.mo ul.top_links li a.disabled a,\n.mo ul.box_top_links li a.disabled a,\n.mo ul.top_links a.button_dropdown_split.disabled a,\n.mo ul.box_top_links a.button_dropdown_split.disabled a,\n.mo ul.top_links li a.disabled .link,\n.mo ul.box_top_links li a.disabled .link,\n.mo ul.top_links a.button_dropdown_split.disabled .link,\n.mo ul.box_top_links a.button_dropdown_split.disabled .link {\n color: #ffa588;\n}\n.mo ul.top_links li a.disabled:hover,\n.mo ul.box_top_links li a.disabled:hover,\n.mo ul.top_links a.button_dropdown_split.disabled:hover,\n.mo ul.box_top_links a.button_dropdown_split.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo ul.top_links li a.inline,\n.mo ul.box_top_links li a.inline,\n.mo ul.top_links a.button_dropdown_split.inline,\n.mo ul.box_top_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.top_links li a.primary,\n.mo ul.box_top_links li a.primary,\n.mo ul.top_links a.button_dropdown_split.primary,\n.mo ul.box_top_links a.button_dropdown_split.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo ul.top_links li a.primary:hover,\n.mo ul.box_top_links li a.primary:hover,\n.mo ul.top_links a.button_dropdown_split.primary:hover,\n.mo ul.box_top_links a.button_dropdown_split.primary:hover,\n.mo ul.top_links li a.primary.pressed,\n.mo ul.box_top_links li a.primary.pressed,\n.mo ul.top_links a.button_dropdown_split.primary.pressed,\n.mo ul.box_top_links a.button_dropdown_split.primary.pressed,\n.mo ul.top_links li a.primary.selected,\n.mo ul.box_top_links li a.primary.selected,\n.mo ul.top_links a.button_dropdown_split.primary.selected,\n.mo ul.box_top_links a.button_dropdown_split.primary.selected {\n background-color: #ee3900;\n}\n.mo ul.top_links li a.big,\n.mo ul.box_top_links li a.big,\n.mo ul.top_links a.button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo ul.top_links li a.big .suffix_icon,\n.mo ul.box_top_links li a.big .suffix_icon,\n.mo ul.top_links a.button_dropdown_split.big .suffix_icon,\n.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.top_links li a.with_button_dropdown_split,\n.mo ul.box_top_links li a.with_button_dropdown_split,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.top_links li a.with_button_dropdown_split.big,\n.mo ul.box_top_links li a.with_button_dropdown_split.big,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.top_links li a.loading,\n.mo ul.box_top_links li a.loading,\n.mo ul.top_links a.button_dropdown_split.loading,\n.mo ul.box_top_links a.button_dropdown_split.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.top_links li,\n.mo ul.box_top_links li {\n padding: 0;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a {\n margin: 0px 0px 0px 0.5em;\n}\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n margin: 0 0 0 -1em;\n}\n.mo ul.top_links .dropdown,\n.mo ul.box_top_links .dropdown {\n margin-left: 0.5em;\n}\n.mo ul.popup_links > li,\n.mo ul.popup_links > .dropdown-container > li {\n display: block;\n padding: 0;\n margin: 0;\n}\n.mo ul.popup_links > li > a,\n.mo ul.popup_links > .dropdown-container > li > a {\n display: block;\n border: none;\n padding: 0.5em;\n margin: 0;\n border-radius: 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n background-color: transparent;\n color: #303030;\n}\n.mo ul.popup_links > li > a img,\n.mo ul.popup_links > .dropdown-container > li > a img {\n vertical-align: text-top;\n margin: 0 0.5em 0 0;\n}\n.mo ul.popup_links > li > a.disabled,\n.mo ul.popup_links > .dropdown-container > li > a.disabled {\n color: #969696 !important;\n}\n.mo ul.popup_links > li > a.disabled:hover,\n.mo ul.popup_links > .dropdown-container > li > a.disabled:hover {\n border: none;\n}\n.mo ul.popup_links > li > a .badge,\n.mo ul.popup_links > .dropdown-container > li > a .badge {\n position: absolute;\n right: 0;\n margin-left: 1em;\n top: 0.6em;\n}\n.mo ul.popup_links > li:hover,\n.mo ul.popup_links > .dropdown-container > li:hover {\n background-color: #ff5722;\n color: #eeeeee;\n}\n.mo ul.popup_links > li:hover a,\n.mo ul.popup_links > .dropdown-container > li:hover a {\n color: #eeeeee;\n}\n.mo ul.popup_links > li .cell_links > li > a,\n.mo ul.popup_links > .dropdown-container > li .cell_links > li > a {\n border-color: #979797;\n}\n.mo ul.popup_links > li.separator,\n.mo ul.popup_links > .dropdown-container > li.separator {\n border-top: 1px solid #ff5722;\n margin: 0.5em 0;\n}\n.mo ul.popup_links.table_columns > li > a,\n.mo ul.popup_links.table_columns > .dropdown-container > li > a {\n display: table-cell;\n vertical-align: middle;\n width: 100%;\n}\n.mo ul.popup_links.table_columns > li > .table_column,\n.mo ul.popup_links.table_columns > .dropdown-container > li > .table_column {\n display: table-cell;\n vertical-align: middle;\n width: auto;\n /*.button {\n margin: 0 .5em;\n color: @button-text-color;\n }*/\n}\n.mo .dropdown ul.popup_links {\n margin: -0.5em -1em;\n}\n.mo .dropdown ul.popup_links > li > a,\n.mo .dropdown ul.popup_links > .dropdown-container > li > a {\n text-align: left;\n width: 100%;\n}\n.mo select,\n.mo textarea {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n}\n.mo select:focus,\n.mo textarea:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo select.inline,\n.mo textarea.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo input:disabled,\n.mo select:disabled,\n.mo textarea:disabled {\n opacity: 0.5 !important;\n}\n.mo ::placeholder {\n color: #7c7c7c;\n opacity: 1;\n}\n.mo .async_loading {\n color: transparent;\n text-align: center;\n background: url(../../../../misc/others/loading.gif) no-repeat 50% 50% transparent;\n opacity: 0.5;\n}\n.mo .async_loading_iframe {\n background: url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent;\n}\n.mo .ui-helper-hidden {\n display: none;\n}\n.mo .ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: 1px;\n}\n.mo .ui-helper-reset {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n line-height: 1.3;\n text-decoration: none;\n font-size: 100%;\n list-style: none;\n}\n.mo .ui-helper-clearfix:before,\n.mo .ui-helper-clearfix:after {\n content: \"\";\n display: table;\n border-collapse: collapse;\n}\n.mo .ui-helper-clearfix:after {\n clear: both;\n}\n.mo .ui-helper-clearfix {\n min-height: 0;\n /* support: IE7 */\n}\n.mo .ui-helper-zfix {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n position: absolute;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.mo .ui-front {\n z-index: 1004;\n}\n.mo .ui-state-disabled {\n cursor: default !important;\n}\n.mo .ui-icon {\n display: block;\n text-indent: -99999px;\n overflow: hidden;\n background-repeat: no-repeat;\n}\n.mo .ui-widget-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mo .ui-widget-overlay {\n background: #aaaaaa none;\n opacity: 0.6;\n filter: alpha(opacity=60);\n}\n.mo .ui-widget-shadow {\n margin: -8px 0 0 -8px;\n padding: 8px;\n background: #aaaaaa none;\n opacity: 0.3;\n filter: alpha(opacity=30);\n border-radius: 8px;\n}\n.mo .ui-corner-all {\n border-radius: 2px;\n}\n.mo .ui-button {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n}\nli .mo .ui-button {\n color: #eeeeee;\n}\n.mo .ui-button img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .ui-button:hover,\n.mo .ui-button.pressed,\n.mo .ui-button.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .ui-button.disabled {\n color: #ffa588;\n}\n.mo .ui-button.disabled a,\n.mo .ui-button.disabled .link {\n color: #ffa588;\n}\n.mo .ui-button.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .ui-button.inline {\n margin: 0 7px 0 0;\n}\n.mo .ui-button.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .ui-button.primary:hover,\n.mo .ui-button.primary.pressed,\n.mo .ui-button.primary.selected {\n background-color: #ee3900;\n}\n.mo .ui-button.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .ui-button.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .ui-button.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .ui-button.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .ui-button.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .ui-button .ui-button-text,\n.mo .ui-button .ui-icon {\n color: #eeeeee;\n}\n.mo .ui-button.ui-button-icon-only .ui-icon {\n margin: 0 0.1em;\n}\n.mo .ui-button.ui-button-icon-only .ui-button-text {\n display: none;\n}\n.mo .ui-button.ui-button-disabled {\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled a,\n.mo .ui-button.ui-button-disabled .link {\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .ui-button.ui-button-disabled .ui-button-text,\n.mo .ui-button.ui-button-disabled .ui-icon {\n color: #ffa588;\n}\n.mo .ui-button.ui-state-active {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .ui-buttonset {\n margin-right: 7px;\n vertical-align: middle;\n font-size: 0;\n}\n.mo .ui-buttonset > .ui-button {\n font-size: 13.6px;\n margin-right: 1px;\n border-radius: 0;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-left {\n border-radius: 2px 0 0 2px;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-right {\n border-radius: 0 2px 2px 0;\n}\n.mo .ui-dialog {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n position: absolute;\n overflow: hidden;\n width: 300px;\n padding: 0;\n font-size: 1em;\n z-index: 1005;\n}\n.mo .ui-dialog .ui-dialog-titlebar {\n position: relative;\n padding: 0.5em 1em 0.3em;\n color: #303030;\n background: none #900000;\n border: none;\n font-weight: bold;\n border-radius: 0;\n color: #eeeeee;\n font-size: 1.1em;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #303030;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #eeeeee;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title {\n float: left;\n margin: 0.1em 16px 0.2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: 0.3em;\n top: 35%;\n width: 21px;\n margin: -10px 0 0 0;\n padding: 1px;\n height: 20px;\n cursor: pointer;\n border: 0 none;\n background: none transparent;\n box-shadow: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner {\n border: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon {\n position: absolute;\n top: 50%;\n margin-top: -8px;\n left: 50%;\n margin-left: -8px;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text {\n display: block;\n line-height: normal;\n padding: 0.4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: 0.5em 1em;\n background: none;\n zoom: 1;\n max-height: 600px;\n position: relative;\n}\n.mo .ui-dialog .ui-dialog-content .async_loading_iframe {\n margin: -0.5em 0 0 0;\n}\n.mo .ui-dialog .async_loading_iframe {\n width: 100%;\n height: 100%;\n min-height: 100px;\n}\n.mo .ui-dialog .async_loading_iframe.with_bg {\n width: 10%;\n height: 6%;\n min-height: 50px;\n position: absolute;\n left: 45%;\n top: 47%;\n}\n.mo .ui-dialog .async_loading_iframe.over {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: 0.5em 0 0 0;\n border: none;\n padding: 0.3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #604b5a;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #a71b18;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #715229;\n}\n.mo .ui-dialog.dialog_standard_href .ui-dialog-content {\n padding: 0;\n min-height: 600px;\n}\n.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_content .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_rel .ui-dialog-content {\n overflow: auto;\n}\n.mo .ui-dialog.no-close .ui-dialog-titlebar-close {\n display: none;\n}\n.mo .ui-dialog:focus,\n.mo .ui-dialog:-moz-focusring {\n outline: 0 none !important;\n}\n.mo .ui-menu {\n list-style: outside none none;\n padding: 0px;\n margin: 0px;\n display: block;\n outline: medium none;\n}\n.mo .ui-menu .ui-menu-item {\n position: relative;\n margin: 0px;\n padding: 3px 1em 3px 0.4em;\n cursor: pointer;\n min-height: 0px;\n}\n.mo .ui-autocomplete {\n top: 0px;\n left: 0px;\n cursor: default;\n position: absolute;\n z-index: 1003;\n padding: 0.5em 1em;\n border-radius: 2px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 4px 10px #727272;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n min-width: auto;\n max-width: none;\n margin: 0;\n padding: 0;\n}\n.mo .ui-autocomplete.dropdown-right {\n right: 0;\n}\n.mo .ui-autocomplete.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .ui-autocomplete,\n.button_links .mo .ui-autocomplete,\n.links.inline .mo .ui-autocomplete {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .ui-autocomplete,\n.top_links .mo .ui-autocomplete,\n.box_top_links .mo .ui-autocomplete,\n.slide_links .mo .ui-autocomplete {\n margin: 0.2em 0 0 0;\n}\n.mo .ui-autocomplete hr {\n margin: 0.5em -1em;\n border-top: 1px solid #fff2ee;\n box-shadow: none;\n}\n.container-inline .mo .ui-autocomplete {\n display: block;\n}\n.mo .ui-autocomplete .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .ui-autocomplete .ui-menu-item {\n display: block;\n padding: 0.5em;\n margin: 0;\n font-weight: bold;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active {\n background-color: #ff5722;\n color: #eeeeee;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active a {\n color: #eeeeee;\n}\n.mo .ui-tabs .ui-tabs-nav {\n border-radius: 0;\n}\n.mo .ui-tabs.tabs_horizontal > ul {\n margin: 0;\n border-bottom: 1px solid #900000;\n text-transform: uppercase;\n padding: 0px 0px 0px 0.5em;\n}\n.mo .ui-tabs.tabs_horizontal > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal > ul li > a {\n display: block;\n padding: 0.5em 1em;\n margin: 0 0.5em 0 0;\n border-radius: 2px 2px 0 0;\n background-color: #900000;\n border: 1px solid #900000;\n}\n.mo .ui-tabs.tabs_horizontal > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal > ul li.ui-state-active a {\n border-bottom: 1px solid #eeeeee;\n background: transparent;\n font-weight: bold;\n background-color: transparent;\n color: #303030;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel {\n margin-top: 0.5em;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul {\n background-color: #900000;\n margin: 0;\n border-bottom: 1px solid #900000;\n text-transform: uppercase;\n border-bottom: 0;\n background-color: transparent;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n display: block;\n padding: 0.5em 1em;\n margin: 0 0.5em 0 0;\n border-radius: 2px 2px 0 0;\n background-color: #ff5722;\n color: #eeeeee;\n border: none;\n font-weight: bold;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #ee3900;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n border-bottom: 1px solid #eeeeee;\n background: transparent;\n font-weight: bold;\n background-color: #eeeeee;\n color: #303030;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n background-color: transparent;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #c30000;\n border-bottom: 3px solid #c30000;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n background-color: transparent;\n color: #eeeeee;\n border-bottom: 3px solid #eeeeee;\n}\n.mo .ui-tabs.tabs_vertical {\n position: relative;\n margin: 1em 0;\n}\n.mo .ui-tabs.tabs_vertical > ul {\n margin: 0;\n padding: 0;\n text-align: left;\n float: left;\n}\n.mo .ui-tabs.tabs_vertical > ul li {\n width: 11em;\n list-style-type: none;\n padding: 0.5em 1em;\n margin: 0;\n text-align: right;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active {\n background-color: #900000;\n font-weight: bold;\n border-radius: 2px 0 0 2px;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active a {\n color: #303030;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel {\n background: #eeeeee;\n border: 1px solid #900000;\n padding: 0.5em 1em;\n margin: 0.5em 0;\n overflow: auto;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tooltip {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n max-width: 300px;\n padding: 0.5em;\n z-index: 1004;\n}\n.mo .ui-spinner {\n display: block;\n margin: 10px 0 10px 0;\n padding: 0;\n position: relative;\n}\n.mo .ui-spinner input[type=number] {\n -moz-appearance: textfield;\n}\n.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,\n.mo .ui-spinner input[type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.mo .ui-spinner input[type=number]::-ms-clear {\n width: 0;\n height: 0;\n}\n.mo .ui-spinner .ui-spinner-input {\n margin: 0;\n margin-right: 2em;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .ui-spinner .ui-spinner-button {\n width: 2.5em;\n height: 50%;\n min-height: inherit;\n padding: 0;\n margin: 0;\n position: absolute;\n right: 0;\n line-height: 1em;\n cursor: pointer;\n}\n.mo .ui-spinner .ui-spinner-button .ui-icon {\n display: none;\n}\n.mo .ui-spinner .ui-spinner-up {\n top: 0;\n border-bottom: none;\n border-radius: 0 2px 0 0;\n}\n.mo .ui-spinner .ui-spinner-up .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d8\";\n}\n.mo .ui-spinner .ui-spinner-down {\n bottom: 0;\n border-top: none;\n border-radius: 0 0 2px 0;\n}\n.mo .ui-spinner .ui-spinner-down .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d7\";\n}\n.mo .ui-icon {\n font-family: FontAwesome;\n background: none repeat scroll 0 0 transparent;\n text-indent: 0;\n width: auto;\n height: auto;\n min-width: 16px;\n vertical-align: middle;\n margin-top: 0;\n margin-right: 0.5em;\n}\n.mo .ui-icon-closethick:before {\n content: \"\\f00d\";\n}\n.mo .ui-draggable .ui-dialog-titlebar {\n cursor: move;\n}\n.mo .ui-draggable-handle,\n.mo .ui-sortable-handle {\n -ms-touch-action: none;\n touch-action: none;\n}\n.mo *,\n.mo *:before,\n.mo *:after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n.mo .ui-icon {\n overflow: visible;\n}\n.mo .fa {\n display: inline-block;\n font-style: normal;\n}\n.mo .buttons {\n text-align: center;\n padding-top: 3px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n margin: 0;\n}\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput input[type=text].inline,\n.mo .propInput input[type=number].inline,\n.mo .propInput input[type=url].inline,\n.mo .propInput select.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput input[type=text].invalid,\n.mo .propInput input[type=number].invalid,\n.mo .propInput input[type=url].invalid,\n.mo .propInput select.invalid,\n.mo .propInput input[type=text].error,\n.mo .propInput input[type=number].error,\n.mo .propInput input[type=url].error,\n.mo .propInput select.error {\n border: 2px solid #BD362F;\n}\n.mo .propInput .data-select {\n display: block;\n}\n@media (-ms-high-contrast: active), (-ms-high-contrast: none), not screen\\0 {\n .mo .propInput .data-select {\n position: relative;\n }\n .mo .propInput .data-select select {\n -webkit-appearance: none;\n -moz-appearance: none;\n padding-right: 30px;\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n }\n .mo .propInput .data-select select::-ms-expand {\n display: none;\n }\n .mo .propInput .data-select:after {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n line-height: 30px;\n width: 28px;\n margin-right: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n /*\n content: \"â–¼\";\n font-size: 60%;\n */\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n pointer-events: none;\n }\n li .mo .propInput .data-select:after {\n color: #eeeeee;\n }\n .mo .propInput .data-select:after img {\n vertical-align: middle;\n margin: 0 0.2em;\n }\n .mo .propInput .data-select:after:hover,\n .mo .propInput .data-select:after.pressed,\n .mo .propInput .data-select:after.selected {\n text-decoration: none;\n background-color: #ee3900;\n }\n .mo .propInput .data-select:after.disabled {\n color: #ffa588;\n }\n .mo .propInput .data-select:after.disabled a,\n .mo .propInput .data-select:after.disabled .link {\n color: #ffa588;\n }\n .mo .propInput .data-select:after.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n }\n .mo .propInput .data-select:after.inline {\n margin: 0 7px 0 0;\n }\n .mo .propInput .data-select:after.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n }\n .mo .propInput .data-select:after.primary:hover,\n .mo .propInput .data-select:after.primary.pressed,\n .mo .propInput .data-select:after.primary.selected {\n background-color: #ee3900;\n }\n .mo .propInput .data-select:after.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n }\n .mo .propInput .data-select:after.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split {\n padding-right: 1.2em;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split.big {\n padding-right: 1.8em;\n }\n .mo .propInput .data-select:after.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n }\n}\n.mo .propInput .ui-textbutton {\n width: 100%;\n display: inline-table;\n table-layout: fixed;\n margin-right: 0;\n vertical-align: middle;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-input.withButton {\n display: table-cell;\n margin: 0;\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n display: table-cell;\n margin-right: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text {\n line-height: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n width: 1.6em;\n}\n.mo .propEditor {\n display: table;\n width: 100%;\n}\n.mo .propLabel {\n padding: 8px 8px;\n padding-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 45%;\n float: left;\n text-align: right;\n}\n.mo .propLabel[title]:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n float: right;\n position: initial;\n color: #636363;\n content: \"\\f059\";\n font-size: 80%;\n line-height: 1.5em;\n margin-left: 0.5em;\n}\n.mo .propInput {\n width: 55%;\n float: left;\n}\n.mo .propInput input,\n.mo .propInput select {\n width: 100%;\n}\n.mo .notnull.propEditor.checkboxes .propInput {\n width: 50%;\n}\n.mo .propCheck {\n width: 5%;\n float: left;\n padding: 5px;\n display: none;\n}\n.mo .notnull .propCheck {\n display: block;\n}\n.mo .propLabel:after,\n.mo .propInput:after,\n.mo .objEdit:after {\n content: \"\";\n display: table;\n}\n.mo .objEdit {\n display: block;\n width: 100%;\n /* background-color: rgba(0,0,0,0.02); */\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #f1eee6; */\n background-color: #eeeeee;\n padding: 2px;\n}\n.mo .label.notused {\n display: none;\n font-size: 50%;\n color: #808080;\n}\n.mo .label.notused:before {\n content: \"[[[\";\n}\n.mo .label.notused:after {\n content: \"]]]\";\n}\n.mo .objLabel.level2 {\n color: rgba(255, 255, 255, 0.7);\n float: left;\n position: absolute;\n display: none;\n}\n.mo .objLabel.level3 {\n color: rgba(255, 255, 255, 0.4);\n float: left;\n position: absolute;\n top: 1em;\n display: none;\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #CCC; */\n padding-top: 4px;\n padding-bottom: 2px;\n margin-bottom: 3px;\n /* padding: 2px; */\n}\n.mo .objLabel.level1 {\n color: black;\n display: block;\n /* display: none; */\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .objLabel {\n text-transform: uppercase;\n border-bottom: 3px solid #900000;\n color: #303030;\n display: block;\n margin: -4px -2px 6px;\n padding: 5px;\n border-radius: 6px 6px 0 0;\n}\n.mo .objEdit.level0 {\n padding: 0px 1px;\n margin-top: 12px;\n}\n.mo .objLabel.level0 {\n display: block;\n color: #303030;\n background-color: #eeeeee;\n font-weight: bold;\n font-size: 90%;\n border-bottom: 3px solid #303030;\n border-radius: 0;\n padding: 3px 10px;\n margin: 0px -7px 8px -7px;\n}\n.mo .supportsCustomStyles .objLabel.level0 {\n margin-right: 70px;\n}\n.mo .objEdit.level-1 {\n padding: 0 15px;\n overflow: auto;\n height: 95%;\n background-color: #eeeeee;\n border-radius: 6px;\n}\n.mo .objEdit {\n position: relative;\n}\n.mo .objEdit.level1 {\n margin-top: 15px;\n}\n.mo .objPreview {\n width: 50px;\n height: 50px;\n border-radius: 100%;\n position: absolute;\n overflow: hidden;\n border: 2px solid #900000;\n top: -11px;\n left: 5px;\n}\n.mo .objPreview > div {\n position: absolute;\n bottom: 20%;\n left: 20%;\n}\n.mo .propEditor {\n /* border-bottom: 2px solid #CCC; */\n padding: 2px;\n}\n.mo .objEdit .propEditor {\n padding: 2px 0;\n border: 0;\n}\n.mo .propEditor.notnull {\n font-weight: bold;\n /* background-color: #FFFF80; */\n}\n.mo .propEditor.notnull input,\n.mo .propEditor.notnull select {\n font-weight: bold;\n}\n.mo .propEditor.notnull input[type=checkbox] {\n font-weight: normal;\n}\n.mo .propInput {\n position: relative;\n}\n.mo .propInput .colorPicker {\n padding-right: 30px;\n}\n.mo .propInput .data-color input[type=text] {\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n background-color: transparent;\n border-color: rgba(0, 0, 0, 0.2);\n box-shadow: none;\n border-style: dashed;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n /*\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: @mosaico-button-border-color;\n border-style: solid;\n */\n}\n.mo .propInput .data-color input[type=text]:hover:focus,\n.mo .propInput .data-color input[type=text]:focus:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .data-color input[type=text]:hover.inline,\n.mo .propInput .data-color input[type=text]:focus.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n margin: 0;\n z-index: 5;\n left: 0px;\n top: 0px;\n width: 80px;\n height: 30px;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .evo-pointer:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .evo-pointer.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n border-left: 1px solid rgba(0, 0, 0, 0.5) !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n line-height: 30px;\n width: 28px;\n padding: 0 8px;\n margin: 0;\n}\nli .mo .propInput .evo-pointer:before {\n color: #eeeeee;\n}\n.mo .propInput .evo-pointer:before img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .propInput .evo-pointer:before:hover,\n.mo .propInput .evo-pointer:before.pressed,\n.mo .propInput .evo-pointer:before.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n.mo .propInput .evo-pointer:before.disabled {\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.disabled a,\n.mo .propInput .evo-pointer:before.disabled .link {\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n.mo .propInput .evo-pointer:before.inline {\n margin: 0 7px 0 0;\n}\n.mo .propInput .evo-pointer:before.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n.mo .propInput .evo-pointer:before.primary:hover,\n.mo .propInput .evo-pointer:before.primary.pressed,\n.mo .propInput .evo-pointer:before.primary.selected {\n background-color: #ee3900;\n}\n.mo .propInput .evo-pointer:before.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n.mo .propInput .evo-pointer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .propInput .evo-pointer:before.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .objEdit input[type=checkbox] {\n display: none;\n /* , &:checked + .checkbox-replacer:before */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer {\n width: 1.28571429em;\n display: block;\n text-align: center;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n.mo .objEdit input[type=checkbox]:checked + .checkbox-replacer:before {\n content: '\\f205';\n /* '\\f096'; */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n font-size: 150%;\n text-align: center;\n content: '\\f204';\n /* '\\f14a'; */\n}\n.mo .propCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f041\";\n /* tondo con punto '\\f192';*/\n /* '\\f140'; */\n /* '\\f14a'; */\n content: \"\\f1b2\";\n /* cubo */\n font-size: 14px;\n opacity: 1;\n}\n.mo .propCheck input[type=checkbox] + .checkbox-replacer:before {\n content: '\\f0ac';\n /* asterisco \"\\f069\"; */\n /* '\\f096'; */\n content: \"\\f1b3\";\n /* cubi */\n font-size: 14px;\n opacity: 0.8;\n}\n.mo .propInput .ui-spinner {\n width: 100%;\n margin: 0;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,\n.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa {\n background-image: none;\n font-size: 10px;\n top: 9px;\n}\n.mo .propLabel[title] {\n text-decoration: underline;\n cursor: help;\n}\n.mo .noSelectedBlock,\n.mo .customStyleHelp,\n.mo .objEmpty,\n.mo .galleryEmpty,\n.mo .blockDescription {\n padding: 1em;\n margin-bottom: 0.5em;\n background-color: #DDDDDD;\n border-radius: 2.8px;\n box-shadow: none;\n color: #4F4F4F;\n}\n.mo .customStyleHelp,\n.mo .objEmpty {\n margin-bottom: 1em;\n}\n.mo .evo-pop {\n right: 0;\n width: auto;\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n border-width: 0;\n padding: 3px;\n}\n.mo .evo-pop .evo-palette td {\n padding: 12px;\n border: none;\n}\n.mo .evo-pop .evo-palette th,\n.mo .evo-pop .evo-palette-ie th,\n.mo .evo-pop .evo-palette2 th {\n border: none;\n}\n.mo .evo-pop .evo-palette,\n.mo .evo-pop .evo-palette-ie,\n.mo .evo-pop .evo-palette2 {\n border-spacing: 0px 0px;\n margin: 0 auto;\n width: auto;\n border: none;\n}\n.mo .evo-pop .evo-palette2 td {\n padding: 8px 9px;\n}\n.mo .evo-pop .evo-cHist div {\n padding: 12px;\n margin: 2px;\n}\n.mo .evo-pop .evo-color div {\n padding: 12px;\n margin: 2px;\n border-color: #c0c0c0;\n}\n.mo .evo-pop .evo-color {\n width: 120px;\n padding: 1px 3px 2px 4px;\n}\n.mo .evo-pop .evo-color span {\n font-size: 17px;\n margin: 5px 0 4px 4px;\n}\n.mo .evo-pop .evo-more {\n padding: 4px 5px;\n}\n.mo .evo-pop .evo-more a {\n margin-right: 1em;\n}\n/****************************************************************************************************************************\n * TOOLBAR\n ***************************************************************************************************************************/\n#toolbar {\n padding: 5px 10px;\n}\n#toolbar .button,\n#toolbar .ui-button,\n#toolbar .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#toolbar ul.top_right_links {\n float: right;\n}\n#toolbar ul.top_right_links .dropdown {\n margin: 0.2em 0 0 0;\n}\n@media (max-width: 1460px) {\n #toolbar label[for=previewFrameToggle] {\n display: none;\n }\n #toolbar .ui-button[for=showGallery] .ui-icon {\n margin-right: 0;\n }\n #toolbar .ui-button[for=showGallery] .ui-button-text {\n display: none;\n }\n}\n#toolbar .leftButtons {\n float: left;\n}\n#toolbar .rightButtons {\n float: right;\n}\n#toolbar #downloadForm {\n display: inline-block;\n}\n/****************************************************************************************************************************\n * TOOLBOX\n ***************************************************************************************************************************/\n#main-toolbox {\n /* while local-editing we always show the local editor */\n /* while global-editing show the global editor unless it is overwritten (not null) */\n}\n#main-toolbox > div,\n#main-toolbox > div > div {\n height: 100%;\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs {\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n top: 40px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 100;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1.2em;\n padding: 0px 0px 0px 4px;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 4px 4px 0 0;\n line-height: 37px;\n /*\n a {\n background-color: @mosaico-button-background-color;\n color: @mosaico-button-text-color;\n text-decoration: none;\n font-weight: bold;\n &:hover {\n background-color: @mosaico-button-background-color-hover;\n }\n }\n &.ui-tabs-active a {\n background-color: @mosaico-background-color;\n color: @mosaico-text-color;\n font-weight: bold;\n }\n */\n /*a:focus, a:-moz-focusring {\n outline: 0 none !important;\n }*/\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a {\n width: 100%;\n padding: 0 0.5em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n margin: 0;\n padding: 0.7em;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n background-color: #eeeeee;\n}\n#main-toolbox .draggable-item {\n display: inline-block;\n}\n#main-toolbox .draggable {\n width: 100px;\n height: 100px;\n overflow: hidden;\n border: 2px solid black;\n z-index: 100;\n display: inline-block;\n}\n#main-toolbox .draggable-item .block .handle {\n cursor: move;\n z-index: 120;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 20px;\n right: 20px;\n}\n#main-toolbox .draggable-item {\n position: relative;\n}\n#main-toolbox .draggable-item .addblockbutton {\n z-index: 1000;\n position: absolute;\n bottom: 10px;\n right: 5px;\n display: none;\n}\n#main-toolbox .draggable-item .image,\n#main-toolbox .draggable-item .block img {\n box-shadow: 0 0 1px #808080;\n margin: 3px 0;\n}\n#main-toolbox .draggable-item:hover {\n transform: scale(1.05, 1.05);\n z-index: 10;\n position: relative;\n}\n#main-toolbox .draggable-item:hover .addblockbutton {\n display: block;\n}\n#main-toolbox .draggable-item:hover .image {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .draggable-item:hover .block img {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .blockType {\n display: none;\n}\n#main-toolbox .block-list {\n max-width: 346px;\n}\n#main-toolbox .block-list .draggable-item,\n#main-toolbox .block-list .draggable-item img {\n width: 100%;\n}\n#main-toolbox .objEdit.level1.selectable {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n outline-color: transparent;\n border-color: #ff5722;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n z-index: 10;\n}\n#main-toolbox .objEdit.level1.selectable:hover {\n z-index: 11;\n}\n#main-toolbox .blockCheck {\n float: right;\n margin-top: -34px;\n /*\n border-radius: 5px;\n border: 1px solid @mosaico-input-border-color;\n .reverse & {\n background-color: @mosaico-button-background-color;\n }\n */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer {\n width: 56px;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n padding: 1px;\n display: block;\n float: left;\n font-size: 14px;\n line-height: 18px;\n width: 22px;\n opacity: 1;\n height: 18px;\n top: 0;\n left: 0;\n box-sizing: content-box;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n content: \"\\f1b2\";\n /* cubo */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f1b3\";\n /* cubi */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #303030;\n background: none white;\n border-radius: 2px;\n border-color: #636363;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n box-shadow: none;\n width: 22px;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n color: rgba(48, 48, 48, 0.5);\n padding: 2px;\n margin: -1px -2px;\n z-index: 0;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after:focus,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before.inline {\n margin-right: 0.5em;\n width: auto;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 4px;\n padding-right: 2px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-left: 2px;\n padding-right: 4px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n text-transform: uppercase;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n padding: 4px;\n margin: -3px -2px;\n opacity: 1;\n z-index: 1;\n}\nli #main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\nli #main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n color: #eeeeee;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after img,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled {\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled a,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled a,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled .link,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled .link {\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.inline {\n margin: 0 7px 0 0;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.selected {\n background-color: #ee3900;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big .suffix_icon,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.loading,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-toolbox .workLocal .propInput.global,\n#main-toolbox .workLocal .propInput.global * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.local.default,\n#main-toolbox .workGlobal .propInput.local.default * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.global.overridden,\n#main-toolbox .workGlobal .propInput.global.overridden * {\n display: none;\n}\n#main-toolbox .workGlobalContent .propInput.local,\n#main-toolbox .workGlobalContent .propInput.local * {\n display: none;\n}\n#main-toolbox .workGlobalContent .blockCheck {\n display: none;\n}\n#main-toolbox .workGlobalContent .objLabel.level0 {\n margin-right: 0;\n}\n#main-toolbox .customStyled span {\n display: none;\n}\n#main-toolbox .customStyled:before {\n content: \" \";\n}\n#main-toolbox .customStyled:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n content: \"\\f1b2\";\n font-size: 14px;\n opacity: 1;\n}\n#main-toolbox #tooldebug {\n overflow: auto;\n}\n.mo-standalone #main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n padding-left: 40px;\n}\n/****************************************************************************************************************************\n * IMAGES GALLERY\n ***************************************************************************************************************************/\n#toolimagesgallery {\n padding: 10px;\n}\n@keyframes slideright {\n 0% {\n left: -450px;\n }\n 100% {\n left: 0;\n }\n}\n@keyframes slideleft {\n 0% {\n left: 0;\n }\n 100% {\n left: -450px;\n }\n}\n#toolimages .pane {\n text-align: center;\n}\n#toolimages .loadbutton,\n#toolimages .galleryPager {\n margin: 0.5em;\n}\n.slidebar {\n z-index: 200;\n position: absolute;\n top: 0;\n width: 397px;\n left: 0;\n animation: slideright 0.2s ease-out 0s 1;\n border-radius: 0;\n background-color: #eeeeee;\n box-shadow: 1px 0px 3px #808080;\n}\n.slidebar .close {\n float: right;\n visibility: hidden;\n cursor: pointer;\n width: 24px;\n display: block;\n}\n.slidebar .close:before {\n visibility: visible;\n font-size: 24px;\n font-family: FontAwesome;\n content: '\\f00d';\n position: relative;\n top: 0px;\n right: 0px;\n width: 24px;\n height: 24px;\n}\n.slidebar .pane {\n background-color: #eeeeee;\n border-radius: 5px;\n margin: 5px;\n padding: 5px;\n}\n.slidebar .pane-title {\n padding: 5px;\n display: block;\n}\n.slidebar.hidden {\n left: -450px;\n animation: slideleft 0.2s ease-out 0s 1;\n}\n#toolimagestab {\n padding: 0.2em;\n}\n#toolimagestab ul.ui-tabs-nav {\n padding: 0;\n}\n#toolimagestab li.ui-state-active a {\n background: none repeat scroll 0% 0% #FFF;\n}\n#toolimagestab .ui-tabs-panel {\n display: block;\n margin-top: 0;\n padding: 15px 18px;\n background: none repeat scroll 0% 0% #FFF;\n border: 1px solid #900000;\n border-width: 0px 1px 1px;\n}\n/****************************************************************************************************************************\n * PREVIEW\n ***************************************************************************************************************************/\n#main-preview .button,\n#main-preview .ui-button,\n#main-preview .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#main-preview #preview-toolbar {\n padding: 3px 10px;\n text-align: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 200;\n}\n#main-preview #frame-container {\n position: absolute;\n top: 40px;\n bottom: 40px;\n left: 0;\n right: 0;\n background-color: #eeeeee;\n box-shadow: inset 0px 0px 10px #808080;\n}\n#frame-container > iframe {\n border: 0;\n box-sizing: border-box;\n padding: 0 6px;\n width: 100%;\n height: 100%;\n overflow: auto;\n transform-origin: 0 0;\n transform: scale(1);\n}\n#frame-container.desktop > iframe {\n padding: 12px;\n width: 200%;\n height: 200%;\n transform: scale(0.5);\n}\n#frame-container.large > iframe {\n padding: 15px;\n width: 250%;\n height: 250%;\n transform: scale(0.4);\n}\n/*\nSafari Hack: Safari create reflow glitches due to a webkit bug with border-spacing (cellspacing)\nwhen the template being edited makes use of horizontal border spacing.\n See: https://github.com/voidlabs/mosaico/issues/53\nThe following are terrible hacks to make this happens less often.\n\nIt seems something similar happens to Chrome, too;\n See: https://github.com/voidlabs/mosaico/issues/85\nSo we broadened the application of this hack to include Chrome.\n\n2019/02/19 Update: since Mozilla Firefox 63 (Sept 2018), Mozilla implemented \n\"-webkit-min-device-pixel-ratio\", so this hack is currently being executed also by Firefox:\n See: https://developer.mozilla.org/en-US/docs/Web/CSS/@media\nWe have no reports of side effects on Firefox resulting from this code being enabled.\n*/\n@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) { @media {\n #main-wysiwyg-area table:not(.img-wysiwyg), #main-wysiwyg-area .selected table:not(.img-wysiwyg):hover {\n position: relative;\n }\n #main-wysiwyg-area table:not(.img-wysiwyg):hover, #main-wysiwyg-area .selected table:not(.img-wysiwyg) {\n position: static;\n }\n}}\n/*\nAfter enabling the dashed outlines for editable contents we had reports from webkit based\nbrowsers (Safari) users of flickering similar to the previous issues.\n See: https://github.com/voidlabs/mosaico/issues/430\nPlease note there is no space between \"and\" and the following bracket because we only\nwant to tarket webkit (Safari) and not blink (Chrome).\n*/\n@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media {\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper {\n \tvisibility: hidden !important;\n \tz-index: -1 !important;\n \topacity: 1 !important;\n \tborder-width: 0px 0px !important;\n border-style: solid solid !important;\n }\n\n}}\n\n#main-edit-area .editable {\n position: relative;\n}\n/* minimum size for empty dropzones */\n#main-edit-area .sortable-blocks-edit.empty {\n min-height: 200px;\n height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 20px 30px;\n border: 2px dashed currentcolor;\n border-radius: 20px;\n animation: border-color-selection-pulsate 4s infinite;\n position: relative;\n}\n#main-edit-area .sortable-blocks-edit.empty:after {\n content: attr(data-empty-content);\n font-size: 21.76px;\n font-weight: normal;\n text-decoration: none;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n}\n#main-edit-area .isdragging .sortable-blocks-edit.empty:after {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n height: auto;\n bottom: -14px;\n}\n@keyframes pulse {\n 0% {\n left: -10px;\n right: -10px;\n opacity: 0.8;\n }\n 100% {\n left: -30px;\n right: -30px;\n opacity: 0;\n }\n}\n@keyframes slidein {\n 0% {\n transform: scale(1.5, 1.5);\n opacity: 0;\n }\n 100% {\n transform: scale(1, 1);\n opacity: 1;\n }\n}\n@keyframes slidein2 {\n 0% {\n margin-left: -30%;\n margin-right: 30%;\n opacity: 0;\n }\n 100% {\n margin-left: 0;\n margin-right: 0;\n opacity: 1;\n }\n}\n#main-edit-area .sortable-placeholder {\n animation: slidein 0.2s linear 0s 1;\n}\n#main-edit-area .sortable-placeholder:after {\n content: \"\";\n position: absolute;\n top: -10px;\n left: -10px;\n right: -10px;\n bottom: -10px;\n border: 10px solid red;\n border-color: rgba(255, 0, 0, 0.1) red rgba(255, 0, 0, 0.1) red;\n z-index: 50;\n opacity: 0.8;\n}\n#main-edit-area .img-wysiwyg {\n position: relative;\n /* questo dovrebbe avere lo stesso stile dell'immagine rimpiazzata! */\n /* display: inline-block; */\n display: block;\n width: auto;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before {\n background-color: rgba(255, 87, 34, 0.8);\n animation: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder) + div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(255, 87, 34, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #ff5722;\n z-index: 10;\n pointer-events: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n bottom: -20px;\n top: auto;\n}\n#main-edit-area .editable.sortable-placeholder:hover .tools {\n visibility: hidden;\n}\n#main-edit-area .editable:hover .tools {\n visibility: visible;\n}\n#main-edit-area .ui-sortable-helper > *,\n#main-edit-area .ui-sortable-helper .tools > * {\n opacity: 0.3;\n}\n#main-edit-area .ui-sortable-helper .tools,\n#main-edit-area .ui-sortable-helper .tools .handle {\n opacity: 1;\n}\n#main-edit-area .tool {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #eeeeee;\n border-radius: 2px;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n font-weight: bold;\n text-transform: uppercase;\n display: inline-block;\n text-align: center;\n width: 25px;\n height: 25px;\n font-size: 20px;\n padding: 3px;\n padding-bottom: 2px;\n margin: 0;\n min-height: 25px;\n box-shadow: 0 0 5px #77deff;\n cursor: pointer;\n}\nli #main-edit-area .tool {\n color: #eeeeee;\n}\n#main-edit-area .tool img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n#main-edit-area .tool:hover,\n#main-edit-area .tool.pressed,\n#main-edit-area .tool.selected {\n text-decoration: none;\n background-color: #ee3900;\n}\n#main-edit-area .tool.disabled {\n color: #ffa588;\n}\n#main-edit-area .tool.disabled a,\n#main-edit-area .tool.disabled .link {\n color: #ffa588;\n}\n#main-edit-area .tool.disabled:hover {\n background-color: #ff5722;\n border: 1px solid transparent;\n color: #ffa588;\n}\n#main-edit-area .tool.inline {\n margin: 0 7px 0 0;\n}\n#main-edit-area .tool.primary {\n color: #eeeeee;\n background-color: #ff5722;\n border-color: #ff5722;\n}\n#main-edit-area .tool.primary:hover,\n#main-edit-area .tool.primary.pressed,\n#main-edit-area .tool.primary.selected {\n background-color: #ee3900;\n}\n#main-edit-area .tool.big {\n font-size: 1.5em;\n border-radius: 2.8px;\n padding: 7.5px 10.5px;\n}\n#main-edit-area .tool.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-edit-area .tool.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-edit-area .tool.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-edit-area .tool.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-edit-area .tool input.fileupload {\n padding-top: 50px;\n}\n#main-edit-area .tool:hover {\n background-color: #ee3900;\n}\n#main-edit-area .tools .tool.handle {\n float: left;\n margin-left: 16px;\n cursor: move;\n}\n#main-edit-area .tools .tool.moveup,\n#main-edit-area .tools .tool.movedown {\n float: left;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete,\n#main-edit-area .tools .tool.clone {\n float: right;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete {\n margin-right: 16px;\n}\n#main-edit-area .midtools {\n visibility: hidden;\n z-index: 30;\n position: absolute;\n bottom: 16px;\n text-align: left;\n}\n#main-edit-area .img-wysiwyg:hover .midtools {\n visibility: visible;\n}\n#main-edit-area .uploading .midtools {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileuploadtext {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileupload.withfile {\n visibility: hidden;\n}\n#main-edit-area .img-wysiwyg .img-size {\n visibility: hidden;\n position: absolute;\n top: 0;\n right: 0;\n padding: 2px;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 12px;\n background-color: rgba(128, 128, 128, 0.5);\n color: white;\n}\n#main-edit-area .img-wysiwyg:hover .img-size {\n visibility: visible;\n}\n#main-edit-area .midtools {\n margin-left: 4px;\n}\n#main-edit-area .midtools .tool {\n margin-left: 4px;\n}\n#main-edit-area .tools {\n position: absolute;\n visibility: hidden;\n margin: 0;\n top: -16px;\n left: 0;\n right: 0;\n height: 1px;\n z-index: 20;\n text-align: center;\n /* width: 100%;*/\n /* padding: 0.25em; */\n}\n#main-wysiwyg-area {\n backface-visibility: hidden;\n background-color: white;\n}\n#main-edit-area,\n#main-toolbox,\n#main-preview {\n position: absolute;\n top: 0;\n bottom: 0;\n}\n@keyframes opacityAnimation {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 0.3;\n }\n 100% {\n opacity: 0.6;\n }\n}\n#main-wysiwyg-area a[href] {\n cursor: default !important;\n}\n#main-wysiwyg-area a[contenteditable] {\n cursor: text !important;\n}\n#main-wysiwyg-area .wysiwyg-loading {\n pointer-events: none;\n animation: opacityAnimation 2s infinite;\n}\n#main-wysiwyg-area span[contenteditable],\n#main-wysiwyg-area a[contenteditable],\n#main-wysiwyg-area b[contenteditable],\n#main-wysiwyg-area i[contenteditable],\n#main-wysiwyg-area cite[contenteditable],\n#main-wysiwyg-area code[contenteditable],\n#main-wysiwyg-area em[contenteditable],\n#main-wysiwyg-area label[contenteditable],\n#main-wysiwyg-area small[contenteditable],\n#main-wysiwyg-area strong[contenteditable],\n#main-wysiwyg-area sub[contenteditable],\n#main-wysiwyg-area sup[contenteditable],\n#main-wysiwyg-area q[contenteditable] {\n display: inline-block;\n}\n#main-wysiwyg-area [contenteditable] {\n min-width: 1em;\n}\n#main-wysiwyg-area [contenteditable]:empty::before {\n content: \"\\2063\";\n display: inline-block;\n position: relative;\n}\n#main-edit-area .mce-edit-focus {\n outline: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 10px;\n border-right-width: 10px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n outline-color: transparent;\n border-color: #ff5722;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n cursor: text;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n outline-color: transparent;\n border-color: #ff5722;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after {\n outline-color: transparent;\n border-color: #ff5722;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover {\n z-index: 11;\n}\n#main-edit-area .textMiddle {\n text-shadow: none !important;\n font-weight: bold;\n background-color: rgba(255, 255, 255, 0.2);\n /* border-radius: 5px; */\n padding: 3px;\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n}\n#main-wysiwyg-area replacedbody {\n position: relative;\n display: block;\n min-height: 100%;\n max-width: 700px;\n margin: 0 auto !important;\n padding: 16px 20px !important;\n}\n@media (min-width: 1400px) {\n #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (min-width: 1600px) {\n #main-wysiwyg-area replacedbody {\n max-width: 900px;\n }\n}\n@media (max-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 700px;\n }\n}\n@media (min-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (max-width: 1400px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody:before,\n .withPreviewFrame #main-wysiwyg-area replacedbody:after {\n display: none;\n }\n}\n@media (min-width: 1100px) {\n #main-wysiwyg-area replacedbody:before,\n #main-wysiwyg-area replacedbody:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 40px;\n bottom: 0;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0) 19%, white 21%, white 79%, rgba(255, 255, 255, 0) 81%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%);\n background-size: 80px 20px;\n background-position: left -40px top 0;\n z-index: 1;\n }\n #main-wysiwyg-area replacedbody:after {\n left: auto;\n right: 0;\n background-position: left 0px top 0;\n }\n}\n.mce-toolbar-grp.mce-panel .mce-btn-group {\n box-shadow: 0 0 5px #77deff;\n}\n/**************************************************************************************************************************\n * TINYMCE / MOXIEMANAGER HTML ELEMENTS\n *************************************************************************************************************************/\n/**\n * moxiemanager window\n */\n.moxman-container.moxman-window,\n.mce-window {\n border: none;\n border-top-left-radius: 2.8px;\n border-top-right-radius: 2.8px;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n overflow: hidden;\n}\n.moxman-window .moxman-window-head,\n.mce-window .moxman-window-head,\n.moxman-window .mce-window-head,\n.mce-window .mce-window-head {\n background: none #900000;\n font-size: 1.1em;\n}\n.moxman-window .moxman-window-head .moxman-title,\n.mce-window .moxman-window-head .moxman-title,\n.moxman-window .mce-window-head .moxman-title,\n.mce-window .mce-window-head .moxman-title,\n.moxman-window .moxman-window-head .mce-title,\n.mce-window .moxman-window-head .mce-title,\n.moxman-window .mce-window-head .mce-title,\n.mce-window .mce-window-head .mce-title {\n color: #303030;\n}\n.moxman-window .moxman-window-head button.moxman-close,\n.mce-window .moxman-window-head button.moxman-close,\n.moxman-window .mce-window-head button.moxman-close,\n.mce-window .mce-window-head button.moxman-close,\n.moxman-window .moxman-window-head button.mce-close,\n.mce-window .moxman-window-head button.mce-close,\n.moxman-window .mce-window-head button.mce-close,\n.mce-window .mce-window-head button.mce-close {\n font-size: 1.6em;\n top: 6px;\n}\n.moxman-window .moxman-window-head button.moxman-close:hover,\n.mce-window .moxman-window-head button.moxman-close:hover,\n.moxman-window .mce-window-head button.moxman-close:hover,\n.mce-window .mce-window-head button.moxman-close:hover,\n.moxman-window .moxman-window-head button.mce-close:hover,\n.mce-window .moxman-window-head button.mce-close:hover,\n.moxman-window .mce-window-head button.mce-close:hover,\n.mce-window .mce-window-head button.mce-close:hover {\n color: #303030;\n}\n.moxman-window .moxman-panel,\n.mce-window .moxman-panel,\n.moxman-window .mce-panel,\n.mce-window .mce-panel {\n background-color: #eeeeee;\n}\n.moxman-window .moxman-container-body .moxman-panel.moxman-first,\n.mce-window .moxman-container-body .moxman-panel.moxman-first,\n.moxman-window .mce-container-body .moxman-panel.moxman-first,\n.mce-window .mce-container-body .moxman-panel.moxman-first,\n.moxman-window .moxman-container-body .mce-panel.mce-first,\n.mce-window .moxman-container-body .mce-panel.mce-first,\n.moxman-window .mce-container-body .mce-panel.mce-first,\n.mce-window .mce-container-body .mce-panel.mce-first {\n border-bottom: none;\n}\n.moxman-window div.moxman-filelist-head,\n.mce-window div.moxman-filelist-head {\n background-color: #eeeeee;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist,\n.mce-window .moxman-filelist {\n border-top: 2px solid #d5d5d5;\n /* HIDE CHECKBOX: .moxman-filelist-body td:first-child, .moxman-filelist-head td:first-child {\n display: none;\n }*/\n}\n.moxman-window .moxman-filelist .moxman-filelist-row td,\n.mce-window .moxman-filelist .moxman-filelist-row td {\n background-color: #d2a7a7;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist .moxman-filelist-odd td,\n.mce-window .moxman-filelist .moxman-filelist-odd td {\n background-color: #eeeeee;\n}\n.moxman-window .moxman-filelist tr.moxman-checked,\n.mce-window .moxman-filelist tr.moxman-checked,\n.moxman-window .moxman-filelist tr.moxman-checked td,\n.mce-window .moxman-filelist tr.moxman-checked td {\n background-color: #FFFF90;\n color: #303030;\n}\n.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico {\n color: #303030;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down {\n border-top-color: #303030;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up {\n border-bottom-color: #303030;\n}\n.moxman-window .moxman-thumbnailview,\n.mce-window .moxman-thumbnailview {\n border-top: 2px solid #d5d5d5;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb,\n.mce-window .moxman-thumbnailview .moxman-thumb {\n border: 1px solid #d2a7a7;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb:hover,\n.mce-window .moxman-thumbnailview .moxman-thumb:hover,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked {\n outline: 2px solid #FFFF90;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info {\n background-color: #d2a7a7;\n color: #303030;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox {\n background-color: #eeeeee;\n color: #303030;\n border: 1px solid #303030;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before {\n color: #303030;\n}\n.moxman-window i.moxman-i-checkbox,\n.mce-window i.moxman-i-checkbox,\n.moxman-window i.mce-i-checkbox,\n.mce-window i.mce-i-checkbox {\n background-color: transparent;\n}\n.moxman-window .mce-listbox,\n.mce-window .mce-listbox,\n.moxman-window .mce-listbox:hover,\n.mce-window .mce-listbox:hover,\n.moxman-window .mce-listbox.mce-active,\n.mce-window .mce-listbox.mce-active,\n.moxman-window .mce-listbox.mce-active:hover,\n.mce-window .mce-listbox.mce-active:hover,\n.moxman-window .mce-listbox:focus,\n.mce-window .mce-listbox:focus {\n background-color: transparent;\n text-shadow: none;\n border: 1px solid #C5C5C5;\n}\n.moxman-window .mce-listbox span,\n.mce-window .mce-listbox span,\n.moxman-window .mce-listbox:hover span,\n.mce-window .mce-listbox:hover span,\n.moxman-window .mce-listbox.mce-active span,\n.mce-window .mce-listbox.mce-active span,\n.moxman-window .mce-listbox.mce-active:hover span,\n.mce-window .mce-listbox.mce-active:hover span,\n.moxman-window .mce-listbox:focus span,\n.mce-window .mce-listbox:focus span,\n.moxman-window .mce-listbox .mce-ico,\n.mce-window .mce-listbox .mce-ico,\n.moxman-window .mce-listbox:hover .mce-ico,\n.mce-window .mce-listbox:hover .mce-ico,\n.moxman-window .mce-listbox.mce-active .mce-ico,\n.mce-window .mce-listbox.mce-active .mce-ico,\n.moxman-window .mce-listbox.mce-active:hover .mce-ico,\n.mce-window .mce-listbox.mce-active:hover .mce-ico,\n.moxman-window .mce-listbox:focus .mce-ico,\n.mce-window .mce-listbox:focus .mce-ico {\n color: #303030;\n}\n.moxman-window .mce-listbox i.mce-caret,\n.mce-window .mce-listbox i.mce-caret,\n.moxman-window .mce-listbox:hover i.mce-caret,\n.mce-window .mce-listbox:hover i.mce-caret,\n.moxman-window .mce-listbox.mce-active i.mce-caret,\n.mce-window .mce-listbox.mce-active i.mce-caret,\n.moxman-window .mce-listbox.mce-active:hover i.mce-caret,\n.mce-window .mce-listbox.mce-active:hover i.mce-caret,\n.moxman-window .mce-listbox:focus i.mce-caret,\n.mce-window .mce-listbox:focus i.mce-caret {\n border-top-color: #303030;\n}\n.moxman-window .moxman-btn i,\n.mce-window .moxman-btn i,\n.moxman-window .mce-btn i,\n.mce-window .mce-btn i {\n text-shadow: none;\n}\n.moxman-window input,\n.mce-window input,\n.moxman-window select,\n.mce-window select,\n.moxman-window textarea,\n.mce-window textarea,\n.moxman-window button,\n.mce-window button {\n max-width: none;\n}\n.moxman-tooltip,\n.mce-tooltip {\n z-index: 500000 !important;\n}\n.mce-toolbar-grp.mce-panel,\n.mce-tinymce-inline {\n background-color: transparent !important;\n border-color: transparent !important;\n}\n.mce-menu,\n.moxman-menu {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n}\nbody.moxman-v2 .moxman-btn {\n border: none;\n background-color: transparent;\n}\nbody.moxman-v2 .moxman-btn button {\n background-color: #ff5722;\n color: #eeeeee;\n border: 1px solid #ff5722;\n border-radius: 2px;\n}\nbody.moxman-v2 .moxman-btn button i {\n color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn button .moxman-caret {\n border-top-color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn.moxman-active button {\n background-color: #ee3900;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button {\n color: #eeeeee;\n background-color: #ff5722;\n border: 1px solid #ff5722;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button i {\n color: #eeeeee;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret {\n border-top-color: #eeeeee;\n}\nbody.moxman-v2 .moxman-combobox .moxman-textbox {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\nbody.moxman-v2 .moxman-combobox .moxman-btn button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n@keyframes border-color-selection-pulsate {\n 0% {\n border-color: currentcolor;\n }\n 40% {\n border-color: #ff5722;\n }\n 60% {\n border-color: #ff5722;\n }\n 100% {\n border-color: currentcolor;\n }\n}\n@keyframes droppable-pulsate {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0.1;\n }\n}\n/****************************************************************************************************************************\n * PAGE SETTINGS\n * Base styles / reset, full page layout\n ***************************************************************************************************************************/\nbody {\n background-color: #900000;\n margin: 0;\n overflow: hidden;\n /* otherwsie TinyMCE menues sometimes makes scrollbars show in main body */\n}\ninput,\nselect,\ntextarea,\nbutton {\n font-family: inherit;\n font-size: inherit;\n max-width: 100%;\n}\n* {\n user-select: none;\n}\ninput,\ntextarea,\n[contenteditable],\n[contenteditable] *,\n.evo-color span {\n user-select: text;\n}\na[disabledhref] {\n color: #06C;\n color: -webkit-link;\n text-decoration: underline;\n cursor: auto;\n}\na[disabledhref]:-moz-read-write {\n text-decoration: underline -moz-anchor-decoration;\n color: -moz-hyperlinktext;\n}\n/****************************************************************************************************************************\n * LAYOUT\n ***************************************************************************************************************************/\n#page {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area {\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area,\n#toolbar {\n min-width: 600px;\n}\n#toolbar {\n z-index: 110 !important;\n background-color: #900000;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n}\n#main-toolbox {\n backface-visibility: hidden;\n display: none;\n left: 0;\n width: 400px;\n box-shadow: 0 0 10px #808080, 0 0 5px #808080;\n}\n.withToolbox #main-toolbox {\n display: block;\n}\n.withToolbox #main-edit-area,\n.withToolbox #toolbar {\n left: 400px;\n}\n#main-preview {\n backface-visibility: hidden;\n display: none;\n right: 0;\n width: 340px;\n overflow: hidden;\n}\n.withPreviewFrame #main-preview {\n display: block;\n}\n.withPreviewFrame #main-edit-area {\n right: 345px;\n}\n#main-edit-area:before,\n#main-edit-area:after,\n#frame-container:before,\n#frame-container:after {\n content: \"\";\n display: block;\n position: absolute;\n border: 0;\n height: 40px;\n box-shadow: 0px 1px 10px #808080, 0px 0px 5px #808080;\n left: 0;\n right: 0;\n top: 0;\n z-index: 100;\n}\n#main-edit-area:after {\n top: auto;\n bottom: -40px;\n}\n#frame-container:before {\n top: -40px;\n}\n#frame-container:after {\n top: auto;\n bottom: -40px;\n}\n#main-wysiwyg-area {\n position: absolute;\n top: 40px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n -webkit-transform: translate3d(0, 0, 0);\n}\n/****************************************************************************************************************************\n * GENERIC UTILITIES: \n * DRAG&DROP, UPLOADER, TOASTER, TOOLTIP, FONTS, LOADER\n ***************************************************************************************************************************/\n#main-toolbox .draggable.image {\n width: 85px;\n height: 85px;\n text-align: center;\n vertical-align: middle;\n padding: 5px;\n border: 0;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n}\n#main-toolbox .draggable.image img {\n opacity: 0;\n}\n.ui-draggable-dragging {\n z-index: 10000;\n}\n.ui-draggable-dragging.sortable-placeholder {\n top: 0 !important;\n left: 0 !important;\n}\n.uploading .fileuploadtext {\n display: none;\n}\n.fileuploadtext {\n top: 0px !important;\n left: 0px !important;\n right: 0px !important;\n bottom: 0px !important;\n color: #000000;\n}\n.uploadzone .fileuploadtext {\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n}\n.isdragging .uploadzone .fileuploadtext,\n.isdraggingimg .uploadzone .fileuploadtext {\n display: none !important;\n}\n.uploadzone .progress {\n display: none;\n}\n.uploadzone.uploading .progress {\n display: block;\n}\n/* this is needed to push a dropzone over a \"makeDroppable\" (greater z-index)\n because IE10 doesn't support \"pointer-events: none\" and images drag/drop from desktop wouldn't work */\n.mo-uploadzone {\n position: absolute;\n z-index: 15;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: block;\n}\n.toast-bottom-full-width {\n margin-left: 25%;\n margin-right: 25%;\n width: 50% !important;\n}\nbody > .ui-tooltip {\n border-radius: 2.8px;\n border: 0px solid #727272;\n border-width: 1px \\9;\n border-color: rgba(114, 114, 114, 0);\n box-shadow: 0 2px 20px #727272;\n color: #303030;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n font-family: \"Noto Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Nimbus Sans L\", \"Liberation Sans\", Arimo, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-size: 14px;\n border-width: 0px;\n padding: 8px;\n position: absolute;\n z-index: 9999;\n max-width: 300px;\n box-shadow: 0px 0px 5px #AAA;\n}\n.ui-helper-hidden-accessible {\n border: 0px none;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute !important;\n width: 1px;\n}\ni.mce-i-newsletter-profile:before {\n content: '\\e826';\n font-family: \"fontello\";\n}\n@keyframes loading {\n 0% {\n transform: scale(1, 1) rotate(0deg);\n }\n 50% {\n transform: scale(1.5, 1.5) rotate(360deg);\n }\n 100% {\n transform: scale(1, 1) rotate(720deg);\n }\n}\n.mo-standalone #loading.loading img {\n animation: loading 4s linear infinite;\n}\n@keyframes broken {\n 0% {\n opacity: 0;\n }\n 95% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n#loading.loading div {\n animation: broken 10s linear forwards;\n padding: 1em;\n opacity: 1;\n}\n#carousel-dialog .carousel-buttons {\n position: absolute;\n right: 5px;\n bottom: 10px;\n}\n#carousel-dialog .carousel-buttons .button {\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-remember {\n font-size: 1.2em;\n position: absolute;\n left: 10px;\n bottom: 17px;\n}\n#carousel-dialog .carousel-remember input {\n vertical-align: middle;\n margin-right: 0.2em;\n}\n#carousel-dialog .owl-carousel {\n height: 550px;\n}\n#carousel-dialog .owl-controls {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 7px;\n}\n#carousel-dialog .owl-controls .owl-page.active span {\n background-color: #ff5722;\n}\n#carousel-dialog .owl-controls .owl-page span {\n background-color: #900000;\n /*opacity: 1;*/\n}\n#carousel-dialog .carousel-help {\n margin-top: 5px;\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-help-text {\n line-height: 1.5em;\n}\n#carousel-dialog .carousel-help-text.large-width {\n width: 80%;\n margin: 0 auto;\n}\n#carousel-dialog .carousel-help-text p {\n padding: 0.5em;\n}\n#carousel-dialog .carousel-help .left {\n margin-right: 20px;\n}\n#carousel-dialog .carousel-help .top {\n margin-bottom: 10px;\n}\n#carousel-dialog .carousel-help-balloon {\n display: flex;\n display: -webkit-flex;\n display: -ms-flexbox;\n align-items: center;\n -webkit-align-items: center;\n /*-ms-flex-align: center; -webkit-box-align: center;*/\n justify-content: center;\n text-align: center;\n overflow: auto;\n padding: 0 0.5em;\n}\n#carousel-dialog .carousel-help-balloon > div {\n width: 100%;\n}\n.toast-title {\n font-weight: bold;\n}\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n color: #FFFFFF;\n}\n.toast-message a:hover {\n color: #CCCCCC;\n text-decoration: none;\n}\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #FFFFFF;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n line-height: 1;\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n.rtl .toast-close-button {\n left: -0.3em;\n float: left;\n right: 0.3em;\n}\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.toast-top-center {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-center {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-left {\n top: 12px;\n left: 12px;\n}\n.toast-top-right {\n top: 12px;\n right: 12px;\n}\n.toast-bottom-right {\n right: 12px;\n bottom: 12px;\n}\n.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n}\n#toast-container {\n position: fixed;\n z-index: 999999;\n pointer-events: none;\n /*overrides*/\n}\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n#toast-container > div {\n position: relative;\n pointer-events: auto;\n overflow: hidden;\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #FFFFFF;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n#toast-container > div.rtl {\n direction: rtl;\n padding: 15px 50px 15px 15px;\n background-position: right 15px center;\n}\n#toast-container > div:hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer;\n}\n#toast-container > .toast-info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n width: 300px;\n margin-left: auto;\n margin-right: auto;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin-left: auto;\n margin-right: auto;\n}\n.toast {\n background-color: #030303;\n}\n.toast-success {\n background-color: #51A351;\n}\n.toast-error {\n background-color: #BD362F;\n}\n.toast-info {\n background-color: #2F96B4;\n}\n.toast-warning {\n background-color: #F89406;\n}\n.toast-progress {\n position: absolute;\n left: 0;\n bottom: 0;\n height: 4px;\n background-color: #000000;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em;\n }\n #toast-container > div.rtl {\n padding: 15px 50px 15px 15px;\n }\n}\n/*\n evol-colorpicker 3.3.2\n (c) 2018 Olivier Giulieri\n http://evoluteur.github.io/colorpicker/\n*/\n.evo-pop {\n z-index: 10000;\n width: 204px;\n padding: 3px 3px 0;\n}\n.evo-pop-ie {\n z-index: 10000;\n width: 212px;\n padding: 3px;\n}\n.evo-palette td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette tr.top > td {\n border-bottom: 0;\n}\n.evo-palette tr.in > td {\n border-top: 0;\n border-bottom: 0;\n}\n.evo-palette tr.bottom > td {\n border-top: 0;\n}\n.evo-palette div.sep {\n height: 3px;\n}\n.evo-palette,\n.evo-palette-ie {\n border-collapse: separate;\n border-spacing: 4px 0px;\n *border-collapse: expression('separate', cellSpacing='2px');\n}\n.evo-palette th,\n.evo-palette-ie th {\n border: 0;\n padding: 5px 3px;\n text-align: left;\n font-weight: normal;\n background: transparent !important;\n}\n.evo-palette-ie td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette2,\n.evo-palette2-ie {\n margin: auto;\n border-collapse: collapse;\n}\n.evo-palette2 td,\n.evo-palette2-ie td {\n font-size: 1px;\n cursor: pointer;\n}\n.evo-palette2 td {\n padding: 6px 7px;\n}\n.evo-palette2-ie td {\n padding: 5px;\n}\n.evo-palcenter {\n padding: 5px;\n text-align: center;\n}\n.evo-colorind,\n.evo-colorind-ie,\n.evo-colorind-ff {\n border: solid 1px #c3c3c3;\n width: 18px;\n height: 18px;\n float: right;\n}\n.evo-colorind-ie {\n position: relative;\n top: -23px;\n}\n.evo-colorbox-ie {\n font-size: 8px;\n padding: 3px 9px !important;\n}\n.evo-pop:after,\n.evo-pop-ie:after,\n.evo-colorind:after,\n.evo-colorind-ie:after,\n.evo-colorind-ff:after,\n.evo-color span:after,\n.evo-cHist:after {\n content: \".\";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n font-size: 0;\n}\n.evo-color {\n width: 94px;\n padding: 1px 3px 0 4px;\n}\n.evo-color div {\n border: solid 1px #808080;\n border-right: solid 1px #c0c0c0;\n border-bottom: solid 1px #c0c0c0;\n padding: 3px;\n margin-bottom: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-color span {\n font-size: 15px;\n margin: 1px 0 4px 3px;\n float: left;\n}\n.evo-sep {\n height: 10px;\n font-size: 0;\n}\n.evo-more {\n padding: 4px 5px 4px;\n font-size: smaller;\n}\n.evo-cHist {\n padding: 3px;\n}\n.evo-cHist div {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n margin: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-transparent {\n background-image: repeating-linear-gradient(135deg, black, black 1px, white 1px, white 3px);\n}\n.evo-tr-box {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n width: 7px;\n height: 7px;\n float: right;\n position: relative;\n right: -3px;\n top: 2px;\n}\na.evo-hist {\n margin-left: 6px;\n}\n.evo-pointer {\n cursor: pointer;\n}\n.evo-hidden-button {\n display: none;\n}\n#main-preview #preview-toolbar {\n padding: 1px 5px;\n}\n#toolbar {\n padding: 1px 5px;\n}\n#main-edit-area .tool {\n border-radius: 100%;\n padding: 4px;\n padding-bottom: 2px;\n box-shadow: 1px 1px 3px #727272;\n}\n#toolbar .ui-button,\n#preview-toolbar .ui-button {\n padding-top: 7px;\n padding-bottom: 7px;\n line-height: 22px;\n background-color: #900000;\n}\n#toolbar .ui-button:hover,\n#preview-toolbar .ui-button:hover,\n#toolbar .ui-button.pressed,\n#preview-toolbar .ui-button.pressed {\n background-color: #c30000;\n}\n#toolbar .ui-button.selected,\n#preview-toolbar .ui-button.selected,\n#toolbar .ui-button.ui-state-active,\n#preview-toolbar .ui-button.ui-state-active {\n border-bottom: 2px solid #eeeeee;\n border-top: 0;\n}\n#toolbar .ui-button.ui-button-disabled,\n#preview-toolbar .ui-button.ui-button-disabled,\n#toolbar .ui-button.ui-button-disabled .ui-icon,\n#preview-toolbar .ui-button.ui-button-disabled .ui-icon,\n#toolbar .ui-button.ui-button-disabled .ui-button-text,\n#preview-toolbar .ui-button.ui-button-disabled .ui-button-text {\n color: #bf7777;\n}\n#main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n box-shadow: 0 0 10px #727272;\n position: absolute;\n left: 0;\n right: 0;\n z-index: 105;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 1px 1px 0 0;\n line-height: 36px;\n}\n.addblockbutton {\n box-shadow: 1px 1px 3px #727272;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n border-radius: 50%;\n box-shadow: 1px 1px 2px #727272;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n border-radius: 30px;\n background-color: #ffa588;\n color: #eeeeee;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 15px;\n margin-left: -15px;\n border-color: transparent;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-right: 15px;\n margin-right: -15px;\n border-color: transparent;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox]:checked + .checkbox-replacer:before {\n margin-left: 20px;\n background-color: #ff5722;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:before {\n content: \" \";\n display: block;\n transition: margin-left 0.2s, background-color 0.2s;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:before {\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n font-size: 120%;\n box-shadow: 1px 1px 3px #727272;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox]:checked + .checkbox-replacer:after {\n background-color: #ffa588;\n}\n#main-toolbox .objEdit .propInput input[type=checkbox] + .checkbox-replacer:after {\n width: 34px;\n height: 14px;\n margin: -16px 2px 0 2px;\n border-radius: 7px;\n background-color: #7c7c7c;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n color: #ff5722;\n}\n.mo .propInput .data-select select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .data-select:after {\n background-color: transparent;\n color: #7c7c7c;\n}\n.mo .propInput .evo-pointer:before {\n background-color: white;\n color: #7c7c7c;\n}\n.mo .propInput .data-integer .ui-spinner-button .ui-button-text {\n background-color: transparent;\n color: #7c7c7c;\n}\n.mo .propInput .data-select:hover:after,\n.mo .propInput .evo-pointer:hover:before,\n.mo .ui-button.ui-spinner-button.ui-state-hover,\n.mo .propInput .data-integer .ui-button-text,\n.mo .propInput .data-integer .ui-spinner-button:hover .ui-button-text {\n color: #ff5722;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .ui-button.ui-spinner-button {\n background-color: transparent;\n}\n.mo .ui-button.ui-spinner-button .ui-button-text .ui-icon {\n color: #7c7c7c;\n}\n#main-toolbox .objLabel.level1 {\n font-weight: bold;\n border-bottom-width: 1px;\n}\n.mo .objPreview {\n border-width: 0;\n box-shadow: 1px 1px 3px #727272;\n}\n.mo .objLabel {\n border-bottom: 0;\n font-weight: bold;\n font-size: 80%;\n}\n.mo .objEdit.level1 {\n border-top: 2px solid #900000;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1em;\n padding-top: 0.5em;\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 70px;\n}\n.mo .objLabel.level0 {\n border-bottom: none;\n}\n.mo a:link,\n.mo a:visited {\n color: white;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty {\n margin-left: -15px;\n padding-left: 25px;\n padding-right: 25px;\n width: calc(100% + 40px);\n}\n.mo .objEdit.level1 {\n background-color: white;\n box-shadow: 1px 1px 3px #888;\n border-top: 0;\n padding: 6px;\n padding-top: 0.5em;\n}\n.mo #toolstyles .objEdit.level1,\n.mo #tooltheme .objEdit.level1 {\n border-top-left-radius: 30px;\n}\n.mo #toolstyles .objEdit.level1 .objLabel.level1,\n.mo #tooltheme .objEdit.level1 .objLabel.level1 {\n padding-bottom: 0;\n padding-top: 1em;\n}\n.mo .objPreview {\n border-width: 0;\n box-shadow: inset 1px 1px 4px rgba(0, 0, 0, 0.3);\n top: 4px;\n left: 4px;\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select,\n.mo .propInput .data-select select,\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-width: 0 0 2px 0;\n background-color: transparent;\n}\n.mo .propInput input[type=text]:hover,\n.mo .propInput input[type=number]:hover,\n.mo .propInput input[type=url]:hover,\n.mo .propInput select:hover,\n.mo .propInput .data-select select:hover,\n.mo .propInput .ui-spinner .ui-spinner-input:hover,\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus,\n.mo .propInput .data-select select:focus,\n.mo .propInput .ui-spinner .ui-spinner-input:focus {\n border-color: #ff5722;\n}\n.mo .propInput .data-color input[type=text] {\n margin-left: 35px;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n margin-left: 35px;\n}\n.mo .propInput .evo-pointer {\n border-radius: 50%;\n width: 30px;\n border: 0;\n box-shadow: 1px 1px 3px #727272;\n}\n.mo .propInput .evo-pointer:before {\n content: none;\n display: none;\n}\n/* evo color specific changes for material-like look */\n.mo .evo-pop {\n min-width: 250px;\n}\n.mo .evo-pop:before {\n display: block;\n content: \"\";\n background-color: rgba(158, 158, 158, 0.19);\n position: absolute;\n left: 0;\n right: 0;\n height: 43px;\n bottom: 0;\n}\n.mo .evo-pop th.ui-widget-content {\n text-align: center;\n font-weight: normal;\n}\n.mo .evo-pop .evo-more {\n text-align: right;\n padding: 7px 5px;\n}\n.mo .evo-pop .evo-more a {\n color: #ff5722;\n text-transform: uppercase;\n font-weight: bold;\n}\n.mo .evo-pop .evo-color {\n padding: 6px 3px 2px 4px;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n border-radius: 50%;\n box-shadow: 1px 1px 3px #727272;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX2VsZW1lbnRzX2pxdWVyeS5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2NvcmUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2xpc3QubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvcm90YXRlZC1mbGlwcGVkLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvc3RhY2tlZC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy92YXJpYWJsZXMubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ZpeGVkLXdpZHRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2FuaW1hdGVkLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9zcmMvY3NzL3N0eWxlX21vc2FpY29fdG9vbHMubGVzcyIsIi4uL3NyYy9jc3MvYXBwX3N0YW5kYWxvbmVfbWF0ZXJpYWwubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljby5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50cy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19taXhpbnMubGVzcyIsIi4uL3NyYy9jc3Mvc2FmYXJpaGFjay5jc3MiLCIuLi9zcmMvY3NzL3N0eWxlX21vc2FpY29fY29udGVudC5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19tb3hpZS5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL3RvYXN0ci90b2FzdHIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9ldm9sLWNvbG9ycGlja2VyL2Nzcy9ldm9sLWNvbG9ycGlja2VyLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQTtFQUNFLGFBQWEsYUFBYjtFQUNBLFNBQVMsOENBQVQ7RUFDQSxTQUFTLHNEQUFrRSxPQUFPLDBCQUM1RSxpREFBNkQsT0FBTyxjQUNwRSxnREFBNEQsT0FBTyxhQUNuRSwrQ0FBMkQsT0FBTyxpQkFDbEUsa0VBQThFLE9BQU8sTUFKM0Y7RUFNQSxtQkFBQTtFQUNBLGtCQUFBOztBQ2JEO0VDSUMscUJBQUE7RUFDQSw2Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBOzs7QURURDtFRUtDLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTs7QUZQRDtFRVNzQixjQUFBOztBRlR0QjtFRVVzQixjQUFBOztBRlZ0QjtFRVdzQixjQUFBOztBRlh0QjtFRVlzQixjQUFBOztBRlp0QjtFR0dDLG1CQUFBO0VBQ0Esa0JBQUE7O0FISkQ7RUlJQyxlQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUpORCxNSU9DO0VBQU8sa0JBQUE7O0FKUFI7RUlVQyxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBSmRELE1BQUM7RUlnQkUsbUJBQUE7O0FKaEJIO0VLSUMsNEJBQUE7RUFDQSx5QkFBQTtFQUNBLG9CQUFBOztBTE5EO0VLUzZCLFdBQUE7O0FMVDdCO0VLVThCLFlBQUE7O0FMVjlCLEdBQUM7RUthK0IsbUJBQUE7O0FMYmhDLEdBQUM7RUtjZ0Msa0JBQUE7OztBQUlsQztFQUFjLFlBQUE7O0FBQ2Q7RUFBYSxXQUFBOztBQUdYLEdBQUM7RUFBYSxtQkFBQTs7QUFDZCxHQUFDO0VBQWMsa0JBQUE7O0FMdkJoQjtFTUlDLDZDQUFBO0VBQ1EscUNBQUE7O0FOTFQ7RU1TQyx1Q0FBdUMsUUFBdkM7RUFDUSwrQkFBK0IsUUFBL0I7O0FBR1Y7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNRLFdBQVcsWUFBWDs7RUFFVjtJQUNFLG1CQUFtQixjQUFuQjtJQUNRLFdBQVcsY0FBWDs7O0FBSVo7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNRLFdBQVcsWUFBWDs7RUFFVjtJQUNFLG1CQUFtQixjQUFuQjtJQUNRLFdBQVcsY0FBWDs7O0FOL0JYO0VPY0MsWUFBWSwwREFBWjtFQUNBLG1CQUFtQixhQUFuQjtFQUNJLGVBQWUsYUFBZjtFQUNJLFdBQVcsYUFBWDs7QVBqQlQ7RU9jQyxZQUFZLDBEQUFaO0VBQ0EsbUJBQW1CLGNBQW5CO0VBQ0ksZUFBZSxjQUFmO0VBQ0ksV0FBVyxjQUFYOztBUGpCVDtFT2NDLFlBQVksMERBQVo7RUFDQSxtQkFBbUIsY0FBbkI7RUFDSSxlQUFlLGNBQWY7RUFDSSxXQUFXLGNBQVg7O0FQakJUO0VPcUJDLFlBQVksb0VBQVo7RUFDQSxtQkFBbUIsWUFBbkI7RUFDSSxlQUFlLFlBQWY7RUFDSSxXQUFXLFlBQVg7O0FQeEJUO0VPcUJDLFlBQVksb0VBQVo7RUFDQSxtQkFBbUIsWUFBbkI7RUFDSSxlQUFlLFlBQWY7RUFDSSxXQUFXLFlBQVg7O0FQeEJULEtBQU07QUFBZSxLQUFNO0FBQWdCLEtBQU07QUFBZ0IsS0FBTTtBQUFxQixLQUFNO0VRa0JqRyxZQUFBOztBUmxCRDtFU0lDLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7O0FUVEQ7QUFBYztFU1liLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTs7QVRmRDtFU2lCNEIsb0JBQUE7O0FUakI1QjtFU2tCNEIsY0FBQTs7QVRsQjVCO0VTbUIyQixXQUFBOzs7O0FUbkIzQixTQUFTO0VVR3VCLFNDd1VsQixPRHhVa0I7O0FWSGhDLFNBQVM7RVVJdUIsU0MyZGxCLE9EM2RrQjs7QVZKaEMsVUFBVTtFVUt1QixTQzBqQmxCLE9EMWpCa0I7O0FWTGpDLGNBQWM7RVVNdUIsU0NzT2xCLE9EdE9rQjs7QVZOckMsU0FBUztFVU91QixTQ3VXbEIsT0R2V2tCOztBVlBoQyxRQUFRO0VVUXVCLFNDa25CbEIsT0RsbkJrQjs7QVZSL0IsVUFBVTtFVVN1QixTQ3NuQmxCLE9EdG5Ca0I7O0FWVGpDLFFBQVE7RVVVdUIsU0N5dEJsQixPRHp0QmtCOztBVlYvQixRQUFRO0VVV3VCLFNDbVJsQixPRG5Sa0I7O0FWWC9CLFlBQVk7RVVZdUIsU0N1cEJsQixPRHZwQmtCOztBVlpuQyxNQUFNO0VVYXVCLFNDcXBCbEIsT0RycEJrQjs7QVZiN0IsV0FBVztFVWN1QixTQ3NwQmxCLE9EdHBCa0I7O0FWZGxDLFNBQVM7RVVldUIsU0N5SWxCLE9EeklrQjs7QVZmaEMsVUFBVTtBQUFTLFNBQVM7QUFBUyxTQUFTO0VVa0JkLFNDcXFCbEIsT0RycUJrQjs7QVZsQmhDLGVBQWU7RVVtQnVCLFNDOGlCbEIsT0Q5aUJrQjs7QVZuQnRDLGdCQUFnQjtFVW9CdUIsU0M0aUJsQixPRDVpQmtCOztBVnBCdkMsYUFBYTtFVXFCdUIsU0M0ZmxCLE9ENWZrQjs7QVZyQnBDLFVBQVU7RVVzQnVCLFNDaWtCbEIsT0Rqa0JrQjs7QVZ0QmpDLFFBQVE7QUFBUyxPQUFPO0VVd0JNLFNDZ0tsQixPRGhLa0I7O0FWeEI5QixXQUFXO0VVeUJ1QixTQytxQmxCLE9EL3FCa0I7O0FWekJsQyxRQUFRO0VVMEJ1QixTQ3dWbEIsT0R4VmtCOztBVjFCL0IsVUFBVTtFVTJCdUIsU0N1UGxCLE9EdlBrQjs7QVYzQmpDLFdBQVc7RVU0QnVCLFNDZ0psQixPRGhKa0I7O0FWNUJsQyxRQUFRO0VVNkJ1QixTQ21oQmxCLE9EbmhCa0I7O0FWN0IvQixZQUFZO0VVOEJ1QixTQ2dNbEIsT0RoTWtCOztBVjlCbkMsdUJBQXVCO0VVK0J1QixTQ1lsQixPRFprQjs7QVYvQjlDLHFCQUFxQjtFVWdDdUIsU0NjbEIsT0Rka0I7O0FWaEM1QyxTQUFTO0VVaUN1QixTQ3FXbEIsT0RyV2tCOztBVmpDaEMsaUJBQWlCO0VVa0N1QixTQ3dlbEIsT0R4ZWtCOztBVmxDeEMsZ0JBQWdCO0FBQVMsVUFBVTtFVW9DRixTQ3NnQmxCLE9EdGdCa0I7O0FWcENqQyxXQUFXO0VVcUN1QixTQ2dnQmxCLE9EaGdCa0I7O0FWckNsQyxZQUFZO0VVc0N1QixTQ3dZbEIsT0R4WWtCOztBVnRDbkMsUUFBUTtFVXVDdUIsU0MyWWxCLE9EM1lrQjs7QVZ2Qy9CLFFBQVE7RVV3Q3VCLFNDNFBsQixPRDVQa0I7O0FWeEMvQixjQUFjO0VVeUN1QixTQ29VbEIsT0RwVWtCOztBVnpDckMsY0FBYztFVTBDdUIsU0NpdEJsQixPRGp0QmtCOztBVjFDckMsZUFBZTtFVTJDdUIsU0Mrc0JsQixPRC9zQmtCOztBVjNDdEMsYUFBYTtFVTRDdUIsU0NndEJsQixPRGh0QmtCOztBVjVDcEMsVUFBVTtFVTZDdUIsU0N5ZWxCLE9EemVrQjs7QVY3Q2pDLFdBQVc7RVU4Q3VCLFNDd0JsQixPRHhCa0I7O0FWOUNsQyxPQUFPO0VVK0N1QixTQ3ltQmxCLE9Eem1Ca0I7O0FWL0M5QixRQUFRO0VVZ0R1QixTQ3ltQmxCLE9Eem1Ca0I7O0FWaEQvQixRQUFRO0VVaUR1QixTQ3lEbEIsT0R6RGtCOztBVmpEL0IsWUFBWTtFVWtEdUIsU0N5RGxCLE9EekRrQjs7QVZsRG5DLFNBQVM7RVVtRHVCLFNDK2RsQixPRC9ka0I7O0FWbkRoQyxVQUFVO0VVb0R1QixTQzJFbEIsT0QzRWtCOztBVnBEakMsUUFBUTtFVXFEdUIsU0MwUGxCLE9EMVBrQjs7QVZyRC9CLFFBQVE7RVVzRHVCLFNDaURsQixPRGpEa0I7O0FWdEQvQixVQUFVO0VVdUR1QixTQzBWbEIsT0QxVmtCOztBVnZEakMsZUFBZTtFVXdEdUIsU0N3bUJsQixPRHhtQmtCOztBVnhEdEMsY0FBYztFVXlEdUIsU0N3bUJsQixPRHhtQmtCOztBVnpEckMsY0FBYztFVTBEdUIsU0NwQ2xCLE9Eb0NrQjs7QVYxRHJDLGdCQUFnQjtFVTJEdUIsU0N2Q2xCLE9EdUNrQjs7QVYzRHZDLGVBQWU7RVU0RHVCLFNDckNsQixPRHFDa0I7O0FWNUR0QyxpQkFBaUI7RVU2RHVCLFNDeENsQixPRHdDa0I7O0FWN0R4QyxRQUFRO0VVOER1QixTQytXbEIsT0QvV2tCOztBVjlEL0IsVUFBVTtBQUFTLFdBQVc7RVVnRUksU0MyYWxCLE9EM2FrQjs7QVZoRWxDLFVBQVU7RVVpRXVCLFNDc1VsQixPRHRVa0I7O0FWakVqQyxnQkFBZ0I7RVVrRXVCLFNDa3JCbEIsT0RsckJrQjs7QVZsRXZDLFNBQVM7QUFBUyxTQUFTO0FBQVMsYUFBYTtFVXFFYixTQzBibEIsT0QxYmtCOztBVnJFcEMsVUFBVTtFVXNFdUIsU0NrYmxCLE9EbGJrQjs7QVZ0RWpDLGNBQWM7RVV1RXVCLFNDd1hsQixPRHhYa0I7O0FWdkVyQyxVQUFVO0VVd0V1QixTQ3REbEIsT0RzRGtCOztBVnhFakMsUUFBUTtFVXlFdUIsU0NtbkJsQixPRG5uQmtCOztBVnpFL0IsUUFBUTtBQUFTLG1CQUFtQjtFVTJFTSxTQythbEIsT0QvYWtCOztBVjNFMUMsa0JBQWtCO0VVNEV1QixTQzhmbEIsT0Q5ZmtCOztBVjVFekMsa0JBQWtCO0VVNkV1QixTQytFbEIsT0QvRWtCOztBVjdFekMsVUFBVTtFVThFdUIsU0N6QmxCLE9EeUJrQjs7QVY5RWpDLGlCQUFpQjtFVStFdUIsU0NtakJsQixPRG5qQmtCOztBVi9FeEMsaUJBQWlCO0VVZ0Z1QixTQ3FMbEIsT0RyTGtCOztBVmhGeEMsWUFBWTtFVWlGdUIsU0NsQmxCLE9Ea0JrQjs7QVZqRm5DLFFBQVE7RVVrRnVCLFNDc2JsQixPRHRia0I7O0FWbEYvQixTQUFTO0VVbUZ1QixTQ2dhbEIsT0RoYWtCOztBVm5GaEMsUUFBUTtFVW9GdUIsU0NtakJsQixPRG5qQmtCOztBVnBGL0IsV0FBVztFVXFGdUIsU0MrTmxCLE9EL05rQjs7QVZyRmxDLGdCQUFnQjtFVXNGdUIsU0NnTGxCLE9EaExrQjs7QVZ0RnZDLGdCQUFnQjtFVXVGdUIsU0M0aUJsQixPRDVpQmtCOztBVnZGdkMsU0FBUztFVXdGdUIsU0MrSWxCLE9EL0lrQjs7QVZ4RmhDLGdCQUFnQjtFVXlGdUIsU0N5RWxCLE9EekVrQjs7QVZ6RnZDLGlCQUFpQjtFVTBGdUIsU0N5RWxCLE9EekVrQjs7QVYxRnhDLGVBQWU7RVUyRnVCLFNDa2JsQixPRGxia0I7O0FWM0Z0QyxnQkFBZ0I7RVU0RnVCLFNDdVhsQixPRHZYa0I7O0FWNUZ2QyxnQkFBZ0I7RVU2RnVCLFNDMmxCbEIsT0QzbEJrQjs7QVY3RnZDLGdCQUFnQjtFVThGdUIsU0MyRGxCLE9EM0RrQjs7QVY5RnZDLG1CQUFtQjtFVStGdUIsU0N5YmxCLE9EemJrQjs7QVYvRjFDLGVBQWU7RVVnR3VCLFNDMFNsQixPRDFTa0I7O0FWaEd0QyxjQUFjO0VVaUd1QixTQzBHbEIsT0QxR2tCOztBVmpHckMsa0JBQWtCO0VVa0d1QixTQ3VsQmxCLE9EdmxCa0I7O0FWbEd6QyxrQkFBa0I7RVVtR3VCLFNDdURsQixPRHZEa0I7O0FWbkd6QyxPQUFPO0VVb0d1QixTQ25DbEIsT0RtQ2tCOztBVnBHOUIsY0FBYztFVXFHdUIsU0NuRGxCLE9EbURrQjs7QVZyR3JDLGVBQWU7RVVzR3VCLFNDbkRsQixPRG1Ea0I7O0FWdEd0QyxZQUFZO0VVdUd1QixTQ25EbEIsT0RtRGtCOztBVnZHbkMsY0FBYztFVXdHdUIsU0N2RGxCLE9EdURrQjs7QVZ4R3JDLGdCQUFnQjtBQUFTLFNBQVM7RVUwR0YsU0M0ZGxCLE9ENWRrQjs7QVYxR2hDLFVBQVU7RVUyR3VCLFNDOElsQixPRDlJa0I7O0FWM0dqQyxZQUFZO0VVNEd1QixTQ3NGbEIsT0R0RmtCOztBVjVHbkMsUUFBUTtFVTZHdUIsU0MrWmxCLE9EL1prQjs7QVY3Ry9CLFNBQVM7RVU4R3VCLFNDb1dsQixPRHBXa0I7O0FWOUdoQyxZQUFZO0VVK0d1QixTQ3BEbEIsT0RvRGtCOztBVi9HbkMsc0JBQXNCO0VVZ0h1QixTQ3VJbEIsT0R2SWtCOztBVmhIN0MsUUFBUTtFVWlIdUIsU0NrTmxCLE9EbE5rQjs7QVZqSC9CLFFBQVE7RVVrSHVCLFNDMFNsQixPRDFTa0I7O0FWbEgvQixRQUFRO0VVbUh1QixTQzZLbEIsT0Q3S2tCOztBVm5IL0IsT0FBTztFVW9IdUIsU0N5SWxCLE9EeklrQjs7QVZwSDlCLGFBQWE7RVVxSHVCLFNDeUlsQixPRHpJa0I7O0FWckhwQyxXQUFXO0FBQVMsd0JBQXdCO0VVdUhHLFNDaUlsQixPRGpJa0I7O0FWdkgvQyxTQUFTO0VVd0h1QixTQytZbEIsT0QvWWtCOztBVnhIaEMsWUFBWTtFVXlIdUIsU0NBbEIsT0RBa0I7O0FWekhuQyxVQUFVO0VVMEh1QixTQ29hbEIsT0RwYWtCOztBVjFIakMsV0FBVztFVTJIdUIsU0NnRWxCLE9EaEVrQjs7QVYzSGxDLFVBQVU7RVU0SHVCLFNDNlRsQixPRDdUa0I7O0FWNUhqQyxjQUFjO0VVNkh1QixTQ3VDbEIsT0R2Q2tCOztBVjdIckMsZ0JBQWdCO0VVOEh1QixTQ21DbEIsT0RuQ2tCOztBVjlIdkMsV0FBVztFVStIdUIsU0MrYWxCLE9EL2FrQjs7QVYvSGxDLGlCQUFpQjtFVWdJdUIsU0NrZGxCLE9EbGRrQjs7QVZoSXhDLFVBQVU7RVVpSXVCLFNDMEtsQixPRDFLa0I7O0FWaklqQyxlQUFlO0VVa0l1QixTQzJLbEIsT0QzS2tCOztBVmxJdEMsWUFBWTtFVW1JdUIsU0MzRWxCLE9EMkVrQjs7QVZuSW5DLFlBQVk7RVVvSXVCLFNDN0VsQixPRDZFa0I7O0FWcEluQyxlQUFlO0FBQVMsYUFBYTtFVXNJRCxTQ2xFbEIsT0RrRWtCOztBVnRJcEMsa0JBQWtCO0VVdUl1QixTQytrQmxCLE9EL2tCa0I7O0FWdkl6QyxtQkFBbUI7RVV3SXVCLFNDNEhsQixPRDVIa0I7O0FWeEkxQyxnQkFBZ0I7RVV5SXVCLFNDVGxCLE9EU2tCOztBVnpJdkMsT0FBTztFVTBJdUIsU0MyUWxCLE9EM1FrQjs7QVYxSTlCLFNBQVM7QUFBUyxRQUFRO0VVNElLLFNDNkNsQixPRDdDa0I7O0FWNUkvQixZQUFZO0VVNkl1QixTQ2tEbEIsT0RsRGtCOztBVjdJbkMsZUFBZTtFVThJdUIsU0NzaUJsQixPRHRpQmtCOztBVjlJdEMsaUJBQWlCO0VVK0l1QixTQ29pQmxCLE9EcGlCa0I7O0FWL0l4QyxhQUFhO0VVZ0p1QixTQzJlbEIsT0QzZWtCOztBVmhKcEMsV0FBVztFVWlKdUIsU0M4TmxCLE9EOU5rQjs7QVZqSmxDLFlBQVk7RVVrSnVCLFNDb2NsQixPRHBja0I7O0FWbEpuQyxtQkFBbUI7RVVtSnVCLFNDdVJsQixPRHZSa0I7O0FWbkoxQyxjQUFjO0VVb0p1QixTQzZoQmxCLE9EN2hCa0I7O0FWcEpyQyxpQkFBaUI7RVVxSnVCLFNDc0dsQixPRHRHa0I7O0FWckp4QyxXQUFXO0VVc0p1QixTQzhibEIsT0Q5YmtCOztBVnRKbEMsVUFBVTtFVXVKdUIsU0NxakJsQixPRHJqQmtCOztBVnZKakMsaUJBQWlCO0VVd0p1QixTQ2dMbEIsT0RoTGtCOztBVnhKeEMsVUFBVTtFVXlKdUIsU0N1a0JsQixPRHZrQmtCOztBVnpKakMsV0FBVztFVTBKdUIsU0NxUWxCLE9EclFrQjs7QVYxSmxDLFNBQVM7RVUySnVCLFNDaVdsQixPRGpXa0I7O0FWM0poQyxZQUFZO0VVNEp1QixTQzJkbEIsT0QzZGtCOztBVjVKbkMsY0FBYztFVTZKdUIsU0NqRGxCLE9EaURrQjs7QVY3SnJDLGdCQUFnQjtFVThKdUIsU0MrVmxCLE9EL1ZrQjs7QVY5SnZDLFdBQVc7RVUrSnVCLFNDc2pCbEIsT0R0akJrQjs7QVYvSmxDLGNBQWM7QUFBUyxZQUFZO0VVaUtBLFNDZ0dsQixPRGhHa0I7O0FWaktuQyxVQUFVO0VVa0t1QixTQ29LbEIsT0RwS2tCOztBVmxLakMsVUFBVTtFVW1LdUIsU0MwakJsQixPRDFqQmtCOztBVm5LakMsZUFBZTtFVW9LdUIsU0NvQ2xCLE9EcENrQjs7QVZwS3RDLFFBQVE7QUFBUyxPQUFPO0VVc0tNLFNDK1lsQixPRC9Za0I7O0FWdEs5QixTQUFTO0VVdUt1QixTQ29NbEIsT0RwTWtCOztBVnZLaEMsWUFBWTtFVXdLdUIsU0NyRGxCLE9EcURrQjs7QVZ4S25DLFFBQVE7RVV5S3VCLFNDaEZsQixPRGdGa0I7O0FWeksvQixlQUFlO0VVMEt1QixTQ3JCbEIsT0RxQmtCOztBVjFLdEMsZ0JBQWdCO0VVMkt1QixTQ29MbEIsT0RwTGtCOztBVjNLdkMsZUFBZTtFVTRLdUIsU0NrTGxCLE9EbExrQjs7QVY1S3RDLGFBQWE7RVU2S3VCLFNDbUxsQixPRG5Ma0I7O0FWN0twQyxlQUFlO0VVOEt1QixTQytLbEIsT0QvS2tCOztBVjlLdEMscUJBQXFCO0VVK0t1QixTQ3JJbEIsT0RxSWtCOztBVi9LNUMsc0JBQXNCO0VVZ0x1QixTQ2pJbEIsT0RpSWtCOztBVmhMN0MsbUJBQW1CO0VVaUx1QixTQ2pJbEIsT0RpSWtCOztBVmpMMUMscUJBQXFCO0VVa0x1QixTQ3pJbEIsT0R5SWtCOztBVmxMNUMsU0FBUztFVW1MdUIsU0MySmxCLE9EM0prQjs7QVZuTGhDLFVBQVU7RVVvTHVCLFNDNmxCbEIsT0Q3bEJrQjs7QVZwTGpDLFNBQVM7RVVxTHVCLFNDcWVsQixPRHJla0I7O0FWckxoQyxVQUFVO0VVc0x1QixTQ3lHbEIsT0R6R2tCOztBVnRMakMsYUFBYTtFVXVMdUIsU0N6RWxCLE9EeUVrQjs7QVZ2THBDLGNBQWM7RVV3THVCLFNDbElsQixPRGtJa0I7O0FWeExyQyxTQUFTO0FBQVMsU0FBUztFVTBMSyxTQ2lqQmxCLE9EampCa0I7O0FWMUxoQyxTQUFTO0FBQVMsUUFBUTtFVTRMSyxTQzRPbEIsT0Q1T2tCOztBVjVML0IsU0FBUztFVTZMdUIsU0NkbEIsT0Rja0I7O0FWN0xoQyxTQUFTO0VVOEx1QixTQzBHbEIsT0QxR2tCOztBVjlMaEMsT0FBTztBQUFTLFlBQVk7RVVnTU8sU0M2WGxCLE9EN1hrQjs7QVZoTW5DLFFBQVE7QUFBUyxXQUFXO0VVa01NLFNDMkZsQixPRDNGa0I7O0FWbE1sQyxhQUFhO0VVbU11QixTQzZTbEIsT0Q3U2tCOztBVm5NcEMsUUFBUTtBQUFTLFlBQVk7RVVxTU0sU0NxR2xCLE9EckdrQjs7QVZyTW5DLFVBQVU7RVVzTXVCLFNDZ2JsQixPRGhia0I7O0FWdE1qQyxXQUFXO0FBQVMsV0FBVztBQUFTLFFBQVE7RVV5TWpCLFNDbElsQixPRGtJa0I7O0FWek0vQixXQUFXO0VVME11QixTQ3NPbEIsT0R0T2tCOztBVjFNbEMsV0FBVztFVTJNdUIsU0NvT2xCLE9EcE9rQjs7QVYzTWxDLGlCQUFpQjtFVTRNdUIsU0MrYmxCLE9EL2JrQjs7QVY1TXhDLGFBQWE7RVU2TXVCLFNDMmdCbEIsT0QzZ0JrQjs7QVY3TXBDLFNBQVM7RVU4TXVCLFNDdWNsQixPRHZja0I7O0FWOU1oQyxTQUFTO0VVK011QixTQ3lPbEIsT0R6T2tCOztBVi9NaEMsU0FBUztFVWdOdUIsU0M2ZmxCLE9EN2ZrQjs7QVZoTmhDLGFBQWE7RVVpTnVCLFNDbVRsQixPRG5Ua0I7O0FWak5wQyxvQkFBb0I7RVVrTnVCLFNDb1RsQixPRHBUa0I7O0FWbE4zQyxzQkFBc0I7RVVtTnVCLFNDZ0lsQixPRGhJa0I7O0FWbk43QyxlQUFlO0VVb051QixTQzRIbEIsT0Q1SGtCOztBVnBOdEMsU0FBUztFVXFOdUIsU0NxUWxCLE9EclFrQjs7QVZyTmhDLGNBQWM7RVVzTnVCLFNDcEZsQixPRG9Ga0I7O0FWdE5yQyxZQUFZO0VVdU51QixTQzlFbEIsT0Q4RWtCOztBVnZObkMsY0FBYztFVXdOdUIsU0NyRmxCLE9EcUZrQjs7QVZ4TnJDLGVBQWU7RVV5TnVCLFNDckZsQixPRHFGa0I7O0FWek50QyxXQUFXO0VVME51QixTQ2hDbEIsT0RnQ2tCOztBVjFObEMsWUFBWTtBQUFTLFFBQVE7RVU0TkUsU0MwWWxCLE9EMVlrQjs7QVY1Ti9CLGFBQWE7QUFBUyxhQUFhO0VVOE5DLFNDOFlsQixPRDlZa0I7O0FWOU5wQyxXQUFXO0FBQVMsWUFBWTtFVWdPRyxTQzJZbEIsT0QzWWtCOztBVmhPbkMsWUFBWTtFVWlPdUIsU0NVbEIsT0RWa0I7O0FWak9uQyxZQUFZO0VVa091QixTQ3VNbEIsT0R2TWtCOztBVmxPbkMsZUFBZTtBQUFTLFFBQVE7RVVvT0QsU0NxZmxCLE9EcmZrQjs7QVZwTy9CLFNBQVM7QUFBUyxTQUFTO0VVc09LLFNDb0ZsQixPRHBGa0I7O0FWdE9oQyxhQUFhO0FBQVMsY0FBYztFVXdPQyxTQythbEIsT0QvYWtCOztBVnhPckMsYUFBYTtFVXlPdUIsU0M3Q2xCLE9ENkNrQjs7QVZ6T3BDLGNBQWM7RVUwT3VCLFNDMUNsQixPRDBDa0I7O0FWMU9yQyxTQUFTO0FBQVMsUUFBUTtFVTRPSyxTQ3BJbEIsT0RvSWtCOztBVjVPL0IsV0FBVztFVTZPdUIsU0M2V2xCLE9EN1drQjs7QVY3T2xDLFlBQVk7RVU4T3VCLFNDeWVsQixPRHpla0I7O0FWOU9uQyxTQUFTO0FBQVMsYUFBYTtFVWdQSyxTQ3JFbEIsT0RxRWtCOztBVmhQcEMsZUFBZTtFVWlQdUIsU0NxTGxCLE9EckxrQjs7QVZqUHRDLFlBQVk7RVVrUHVCLFNDR2xCLE9ESGtCOztBVmxQbkMsa0JBQWtCO0VVbVB1QixTQ25FbEIsT0RtRWtCOztBVm5QekMsZ0JBQWdCO0VVb1B1QixTQ25FbEIsT0RtRWtCOztBVnBQdkMsV0FBVztFVXFQdUIsU0NpZmxCLE9EamZrQjs7QVZyUGxDLGVBQWU7RVVzUHVCLFNDOFlsQixPRDlZa0I7O0FWdFB0QyxZQUFZO0VVdVB1QixTQ3labEIsT0R6WmtCOztBVnZQbkMsVUFBVTtFVXdQdUIsU0M5SmxCLE9EOEprQjs7QVZ4UGpDLFVBQVU7RVV5UHVCLFNDbEVsQixPRGtFa0I7O0FWelBqQyxXQUFXO0VVMFB1QixTQzFDbEIsT0QwQ2tCOztBVjFQbEMsZUFBZTtFVTJQdUIsU0M4QmxCLE9EOUJrQjs7QVYzUHRDLGNBQWM7RVU0UHVCLFNDMUlsQixPRDBJa0I7O0FWNVByQyxjQUFjO0VVNlB1QixTQ3NIbEIsT0R0SGtCOztBVjdQckMsYUFBYTtFVThQdUIsU0NyT2xCLE9EcU9rQjs7QVY5UHBDLFVBQVU7RVUrUHVCLFNDNE1sQixPRDVNa0I7O0FWL1BqQyxlQUFlO0VVZ1F1QixTQ1VsQixPRFZrQjs7QVZoUXRDLFFBQVE7RVVpUXVCLFNDM0tsQixPRDJLa0I7O0FWalEvQixZQUFZO0VVa1F1QixTQ3VGbEIsT0R2RmtCOztBVmxRbkMsZUFBZTtFVW1RdUIsU0MyUWxCLE9EM1FrQjs7QVZuUXRDLHFCQUFxQjtFVW9RdUIsU0NyT2xCLE9EcU9rQjs7QVZwUTVDLHNCQUFzQjtFVXFRdUIsU0NyT2xCLE9EcU9rQjs7QVZyUTdDLG1CQUFtQjtFVXNRdUIsU0NyT2xCLE9EcU9rQjs7QVZ0UTFDLHFCQUFxQjtFVXVRdUIsU0N6T2xCLE9EeU9rQjs7QVZ2UTVDLGNBQWM7RVV3UXVCLFNDck9sQixPRHFPa0I7O0FWeFFyQyxlQUFlO0VVeVF1QixTQ3JPbEIsT0RxT2tCOztBVnpRdEMsWUFBWTtFVTBRdUIsU0NyT2xCLE9EcU9rQjs7QVYxUW5DLGNBQWM7RVUyUXVCLFNDek9sQixPRHlPa0I7O0FWM1FyQyxXQUFXO0VVNFF1QixTQ3BEbEIsT0RvRGtCOztBVjVRbEMsVUFBVTtFVTZRdUIsU0M0SWxCLE9ENUlrQjs7QVY3UWpDLFVBQVU7RVU4UXVCLFNDd1lsQixPRHhZa0I7O0FWOVFqQyxnQkFBZ0I7QUFBUyxVQUFVO0VVZ1JGLFNDdU1sQixPRHZNa0I7O0FWaFJqQyxZQUFZO0VVaVJ1QixTQ3pHbEIsT0R5R2tCOztBVmpSbkMsY0FBYztFVWtSdUIsU0N5UWxCLE9EelFrQjs7QVZsUnJDLGVBQWU7RVVtUnVCLFNDeVFsQixPRHpRa0I7O0FWblJ0QyxXQUFXO0VVb1J1QixTQytWbEIsT0QvVmtCOztBVnBSbEMsVUFBVTtFVXFSdUIsU0M5R2xCLE9EOEdrQjs7QVZyUmpDLGNBQWM7QUFBUyxTQUFTO0VVdVJBLFNDb1JsQixPRHBSa0I7O0FWdlJoQyxjQUFjO0VVd1J1QixTQytDbEIsT0QvQ2tCOztBVnhSckMsWUFBWTtFVXlSdUIsU0NtQmxCLE9EbkJrQjs7QVZ6Um5DLGlCQUFpQjtFVTBSdUIsU0NvQmxCLE9EcEJrQjs7QVYxUnhDLFdBQVc7RVUyUnVCLFNDcVVsQixPRHJVa0I7O0FWM1JsQyxXQUFXO0VVNFJ1QixTQzJCbEIsT0QzQmtCOztBVjVSbEMsU0FBUztFVTZSdUIsU0NnTGxCLE9EaExrQjs7QVY3UmhDLFdBQVc7RVU4UnVCLFNDMkJsQixPRDNCa0I7O0FWOVJsQyxjQUFjO0VVK1J1QixTQ3VIbEIsT0R2SGtCOztBVi9SckMsVUFBVTtFVWdTdUIsU0NNbEIsT0ROa0I7O0FWaFNqQyxrQkFBa0I7RVVpU3VCLFNDSWxCLE9ESmtCOztBVmpTekMsWUFBWTtFVWtTdUIsU0M2WGxCLE9EN1hrQjs7QVZsU25DLFFBQVE7RVVtU3VCLFNDaEhsQixPRGdIa0I7O0FWblMvQixrQkFBa0I7QUFBUyxhQUFhO0VVcVNKLFNDdVFsQixPRHZRa0I7O0FWclNwQyxtQkFBbUI7QUFBUyxrQkFBa0I7QUFBUyxlQUFlO0VVd1NoQyxTQ3NWbEIsT0R0VmtCOztBVnhTdEMsa0JBQWtCO0VVeVN1QixTQ3dJbEIsT0R4SWtCOztBVnpTekMsUUFBUTtFVTBTdUIsU0NoR2xCLE9EZ0drQjs7QVYxUy9CLGFBQWE7RVUyU3VCLFNDdkhsQixPRHVIa0I7O0FWM1NwQyxVQUFVO0FBQVMsZ0JBQWdCO0VVNlNJLFNDdEpsQixPRHNKa0I7O0FWN1N2QyxZQUFZO0VVOFN1QixTQ3lPbEIsT0R6T2tCOztBVjlTbkMsUUFBUTtFVStTdUIsU0MwRmxCLE9EMUZrQjs7QVYvUy9CLGVBQWU7RVVnVHVCLFNDMURsQixPRDBEa0I7O0FWaFR0QyxlQUFlO0VVaVR1QixTQ2tXbEIsT0RsV2tCOztBVmpUdEMsYUFBYTtFVWtUdUIsU0M0VmxCLE9ENVZrQjs7QVZsVHBDLFVBQVU7RVVtVHVCLFNDbEVsQixPRGtFa0I7O0FWblRqQyxnQkFBZ0I7RVVvVHVCLFNDZ09sQixPRGhPa0I7O0FWcFR2QyxjQUFjO0VVcVR1QixTQzJKbEIsT0QzSmtCOztBVnJUckMsb0JBQW9CO0VVc1R1QixTQzJKbEIsT0QzSmtCOztBVnRUM0MsVUFBVTtFVXVUdUIsU0NzUmxCLE9EdFJrQjs7QVZ2VGpDLGNBQWM7RVV3VHVCLFNDNUxsQixPRDRMa0I7O0FWeFRyQyxxQkFBcUI7RVV5VHVCLFNDeEJsQixPRHdCa0I7O0FWelQ1QyxVQUFVO0VVMFR1QixTQ3VQbEIsT0R2UGtCOztBVjFUakMsVUFBVTtFVTJUdUIsU0M2SWxCLE9EN0lrQjs7QVYzVGpDLHVCQUF1QjtFVTRUdUIsU0M5SmxCLE9EOEprQjs7QVY1VDlDLHdCQUF3QjtFVTZUdUIsU0M5SmxCLE9EOEprQjs7QVY3VC9DLHFCQUFxQjtFVThUdUIsU0M5SmxCLE9EOEprQjs7QVY5VDVDLHVCQUF1QjtFVStUdUIsU0NsS2xCLE9Ea0trQjs7QVYvVDlDLFNBQVM7RVVnVXVCLFNDOERsQixPRDlEa0I7O0FWaFVoQyxRQUFRO0VVaVV1QixTQ3JIbEIsT0RxSGtCOztBVmpVL0IsVUFBVTtFVWtVdUIsU0N2U2xCLE9EdVNrQjs7QVZsVWpDLGNBQWM7RVVtVXVCLFNDMlpsQixPRDNaa0I7O0FWblVyQyxZQUFZO0VVb1V1QixTQ2hObEIsT0RnTmtCOztBVnBVbkMsY0FBYztFVXFVdUIsU0M3RmxCLE9ENkZrQjs7QVZyVXJDLGNBQWM7RVVzVXVCLFNDN0ZsQixPRDZGa0I7O0FWdFVyQyxjQUFjO0VVdVV1QixTQytPbEIsT0QvT2tCOztBVnZVckMsZUFBZTtFVXdVdUIsU0NpTWxCLE9Eak1rQjs7QVZ4VXRDLFVBQVU7RVV5VXVCLFNDNldsQixPRDdXa0I7O0FWelVqQyxnQkFBZ0I7RVUwVXVCLFNDMElsQixPRDFJa0I7O0FWMVV2QyxrQkFBa0I7RVUyVXVCLFNDMElsQixPRDFJa0I7O0FWM1V6QyxZQUFZO0VVNFV1QixTQ3FGbEIsT0RyRmtCOztBVjVVbkMsY0FBYztFVTZVdUIsU0NtRmxCLE9EbkZrQjs7QVY3VXJDLGdCQUFnQjtFVThVdUIsU0NuTGxCLE9EbUxrQjs7QVY5VXZDLGlCQUFpQjtFVStVdUIsU0MwS2xCLE9EMUtrQjs7QVYvVXhDLHdCQUF3QjtFVWdWdUIsU0NwRmxCLE9Eb0ZrQjs7QVZoVi9DLGdCQUFnQjtFVWlWdUIsU0N3UGxCLE9EeFBrQjs7QVZqVnZDLFdBQVc7RVVrVnVCLFNDakpsQixPRGlKa0I7O0FWbFZsQyxlQUFlO0FBQVMsdUJBQXVCO0VVb1ZELFNDL01sQixPRCtNa0I7O0FWcFY5QyxhQUFhO0FBQVMscUJBQXFCO0VVc1ZDLFNDOU1sQixPRDhNa0I7O0FWdFY1QyxnQkFBZ0I7QUFBUyx3QkFBd0I7RVV3VkYsU0NqTmxCLE9EaU5rQjs7QVZ4Vi9DLFFBQVE7QUFBUyxPQUFPO0VVMFZNLFNDdkdsQixPRHVHa0I7O0FWMVY5QixPQUFPO0VVMlZ1QixTQ2hDbEIsT0RnQ2tCOztBVjNWOUIsVUFBVTtBQUFTLE9BQU87RVU2VkksU0NxWWxCLE9EcllrQjs7QVY3VjlCLFNBQVM7QUFBUyxPQUFPO0VVK1ZLLFNDNENsQixPRDVDa0I7O0FWL1Y5QixPQUFPO0FBQVMsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0VVbVd6QixTQ2dEbEIsT0RoRGtCOztBVm5XOUIsU0FBUztBQUFTLFVBQVU7QUFBUyxPQUFPO0VVc1dkLFNDaU5sQixPRGpOa0I7O0FWdFc5QixPQUFPO0FBQVMsT0FBTztFVXdXTyxTQytDbEIsT0QvQ2tCOztBVnhXOUIsV0FBVztBQUFTLE9BQU87RVUwV0csU0MzUGxCLE9EMlBrQjs7QVYxVzlCLFFBQVE7RVUyV3VCLFNDaEdsQixPRGdHa0I7O0FWM1cvQixhQUFhO0VVNFd1QixTQ3BGbEIsT0RvRmtCOztBVjVXcEMsa0JBQWtCO0VVNld1QixTQzBQbEIsT0QxUGtCOztBVjdXekMsbUJBQW1CO0VVOFd1QixTQzBQbEIsT0QxUGtCOztBVjlXMUMsbUJBQW1CO0VVK1d1QixTQzBQbEIsT0QxUGtCOztBVi9XMUMsb0JBQW9CO0VVZ1h1QixTQzBQbEIsT0QxUGtCOztBVmhYM0Msb0JBQW9CO0VVaVh1QixTQzZQbEIsT0Q3UGtCOztBVmpYM0MscUJBQXFCO0VVa1h1QixTQzZQbEIsT0Q3UGtCOztBVmxYNUMsYUFBYTtFVW1YdUIsU0NrVWxCLE9EbFVrQjs7QVZuWHBDLGVBQWU7RVVvWHVCLFNDOFRsQixPRDlUa0I7O0FWcFh0QyxrQkFBa0I7RVVxWHVCLFNDeWFsQixPRHpha0I7O0FWclh6QyxXQUFXO0VVc1h1QixTQ3NhbEIsT0R0YWtCOztBVnRYbEMsUUFBUTtFVXVYdUIsU0MyWmxCLE9EM1prQjs7QVZ2WC9CLGVBQWU7RVV3WHVCLFNDMlpsQixPRDNaa0I7O0FWeFh0QyxnQkFBZ0I7RVV5WHVCLFNDb2FsQixPRHBha0I7O0FWelh2QyxXQUFXO0VVMFh1QixTQ3hKbEIsT0R3SmtCOztBVjFYbEMsa0JBQWtCO0VVMlh1QixTQzhQbEIsT0Q5UGtCOztBVjNYekMsYUFBYTtFVTRYdUIsU0NnQmxCLE9EaEJrQjs7QVY1WHBDLFVBQVU7RVU2WHVCLFNDcEZsQixPRG9Ga0I7O0FWN1hqQyxPQUFPO0VVOFh1QixTQzNXbEIsT0QyV2tCOztBVjlYOUIsYUFBYTtFVStYdUIsU0MvUmxCLE9EK1JrQjs7QVYvWHBDLG9CQUFvQjtFVWdZdUIsU0MvUmxCLE9EK1JrQjs7QVZoWTNDLFVBQVU7RVVpWXVCLFNDK1VsQixPRC9Va0I7O0FWallqQyxpQkFBaUI7RVVrWXVCLFNDK1VsQixPRC9Va0I7O0FWbFl4QyxtQkFBbUI7RVVtWXVCLFNDZ0RsQixPRGhEa0I7O0FWblkxQyxpQkFBaUI7RVVvWXVCLFNDa0RsQixPRGxEa0I7O0FWcFl4QyxtQkFBbUI7RVVxWXVCLFNDK0NsQixPRC9Da0I7O0FWclkxQyxvQkFBb0I7RVVzWXVCLFNDK0NsQixPRC9Da0I7O0FWdFkzQyxTQUFTO0VVdVl1QixTQ2pXbEIsT0RpV2tCOztBVnZZaEMsV0FBVztFVXdZdUIsU0NtWWxCLE9EbllrQjs7QVZ4WWxDLFdBQVc7RVV5WXVCLFNDN1dsQixPRDZXa0I7O0FWellsQyxTQUFTO0VVMFl1QixTQ2tDbEIsT0RsQ2tCOztBVjFZaEMsWUFBWTtFVTJZdUIsU0M1S2xCLE9ENEtrQjs7QVYzWW5DLFNBQVM7RVU0WXVCLFNDZ05sQixPRGhOa0I7O0FWNVloQyxjQUFjO0VVNll1QixTQ3hGbEIsT0R3RmtCOztBVjdZckMsVUFBVTtFVThZdUIsU0M0VGxCLE9ENVRrQjs7QVY5WWpDLFVBQVU7RVUrWXVCLFNDdElsQixPRHNJa0I7O0FWL1lqQyxRQUFRO0VVZ1p1QixTQzZDbEIsT0Q3Q2tCOztBVmhaL0IsVUFBVTtBQUFTLFlBQVk7RVVrWkksU0M1RGxCLE9ENERrQjs7QVZsWm5DLFNBQVM7RVVtWnVCLFNDOFBsQixPRDlQa0I7O0FWblpoQyxVQUFVO0VVb1p1QixTQ3VFbEIsT0R2RWtCOztBVnBaakMsV0FBVztFVXFadUIsU0M5V2xCLE9EOFdrQjs7QVZyWmxDLE9BQU87RVVzWnVCLFNDdFNsQixPRHNTa0I7O0FWdFo5QixNQUFNO0VVdVp1QixTQ2lXbEIsT0RqV2tCOztBVnZaN0IsU0FBUztFVXdadUIsU0N1V2xCLE9EdldrQjs7QVZ4WmhDLFVBQVU7RVV5WnVCLFNDK0lsQixPRC9Ja0I7O0FWelpqQyxhQUFhO0VVMFp1QixTQ2tGbEIsT0RsRmtCOztBVjFacEMsa0JBQWtCO0VVMlp1QixTQzZObEIsT0Q3TmtCOztBVjNaekMsd0JBQXdCO0VVNFp1QixTQy9XbEIsT0QrV2tCOztBVjVaL0MsdUJBQXVCO0VVNlp1QixTQ2pYbEIsT0RpWGtCOztBVjdaOUMsZUFBZTtBQUFTLHVCQUF1QjtFVStaRCxTQ3pSbEIsT0R5UmtCOztBVi9aOUMsZ0JBQWdCO0VVZ2F1QixTQ25NbEIsT0RtTWtCOztBVmhhdkMsY0FBYztFVWlhdUIsU0NpV2xCLE9EaldrQjs7QVZqYXJDLGdCQUFnQjtFVWthdUIsU0NvVmxCLE9EcFZrQjs7QVZsYXZDLGdCQUFnQjtBQUFTLE9BQU87RVVvYUYsU0MwU2xCLE9EMVNrQjs7QVZwYTlCLGlCQUFpQjtFVXFhdUIsU0MwR2xCLE9EMUdrQjs7QVZyYXhDLGlCQUFpQjtFVXNhdUIsU0M0TWxCLE9ENU1rQjs7QVZ0YXhDLFNBQVM7RVV1YXVCLFNDc0xsQixPRHRMa0I7O0FWdmFoQyxtQkFBbUI7RVV3YXVCLFNDekxsQixPRHlMa0I7O0FWeGExQyxhQUFhO0VVeWF1QixTQ29XbEIsT0RwV2tCOztBVnphcEMsVUFBVTtFVTBhdUIsU0M4RGxCLE9EOURrQjs7QVYxYWpDLGVBQWU7QUFBUyxRQUFRO0FBQVMsY0FBYztFVTZhbEIsU0M4U2xCLE9EOVNrQjs7QVY3YXJDLGdCQUFnQjtBQUFTLGtCQUFrQjtFVSthRixTQzFGbEIsT0QwRmtCOztBVi9hekMsU0FBUztFVWdidUIsU0NzV2xCLE9EdFdrQjs7QVZoYmhDLFVBQVU7RVVpYnVCLFNDbEdsQixPRGtHa0I7O0FWamJqQyxVQUFVO0VVa2J1QixTQ2dIbEIsT0RoSGtCOztBVmxiakMsaUJBQWlCO0VVbWJ1QixTQ2lIbEIsT0RqSGtCOztBVm5ieEMsc0JBQXNCO0VVb2J1QixTQ3lObEIsT0R6TmtCOztBVnBiN0MsZUFBZTtFVXFidUIsU0N1TmxCLE9Edk5rQjs7QVZyYnRDLGFBQWE7RVVzYnVCLFNDL05sQixPRCtOa0I7O0FWdGJwQyxRQUFRO0VVdWJ1QixTQzVObEIsT0Q0TmtCOztBVnZiL0IsaUJBQWlCO0VVd2J1QixTQzJFbEIsT0QzRWtCOztBVnhieEMsa0JBQWtCO0VVeWJ1QixTQ3lFbEIsT0R6RWtCOztBVnpiekMsVUFBVTtFVTBidUIsU0N2TmxCLE9EdU5rQjs7QVYxYmpDLFVBQVU7RVUyYnVCLFNDekNsQixPRHlDa0I7O0FWM2JqQyxZQUFZO0VVNGJ1QixTQ3BDbEIsT0RvQ2tCOztBVjVibkMsT0FBTztFVTZidUIsU0N0TGxCLE9Ec0xrQjs7QVY3YjlCLFlBQVk7RVU4YnVCLFNDN1VsQixPRDZVa0I7O0FWOWJuQyxTQUFTO0VVK2J1QixTQzFSbEIsT0QwUmtCOztBVi9iaEMsT0FBTztFVWdjdUIsU0NzRGxCLE9EdERrQjs7QVZoYzlCLFNBQVM7RVVpY3VCLFNDbUxsQixPRG5Ma0I7O0FWamNoQyxRQUFRO0VVa2N1QixTQ3JQbEIsT0RxUGtCOztBVmxjL0IsU0FBUztFVW1jdUIsU0NyUGxCLE9EcVBrQjs7QVZuY2hDLFdBQVc7RVVvY3VCLFNDN1dsQixPRDZXa0I7O0FWcGNsQyxrQkFBa0I7RVVxY3VCLFNDN1dsQixPRDZXa0I7O0FWcmN6QyxTQUFTO0VVc2N1QixTQzBMbEIsT0QxTGtCOztBVnRjaEMsZ0JBQWdCO0VVdWN1QixTQzBMbEIsT0QxTGtCOztBVnZjdkMsV0FBVztFVXdjdUIsU0N5RmxCLE9EekZrQjs7QVZ4Y2xDLGNBQWM7QUFBUyxPQUFPO0VVMGNBLFNDelVsQixPRHlVa0I7O0FWMWM5QixPQUFPO0FBQVMsUUFBUTtFVTRjTyxTQytNbEIsT0QvTWtCOztBVjVjL0IsUUFBUTtFVTZjdUIsU0M0UGxCLE9ENVBrQjs7QVY3Yy9CLFdBQVc7RVU4Y3VCLFNDdUtsQixPRHZLa0I7O0FWOWNsQyxjQUFjO0VVK2N1QixTQ3RQbEIsT0RzUGtCOztBVi9jckMsY0FBYztFVWdkdUIsU0NpS2xCLE9EaktrQjs7QVZoZHJDLFlBQVk7RVVpZHVCLFNDOVBsQixPRDhQa0I7O0FWamRuQyxjQUFjO0VVa2R1QixTQy9MbEIsT0QrTGtCOztBVmxkckMsZUFBZTtFVW1kdUIsU0N4TGxCLE9Ed0xrQjs7QVZuZHRDLGdCQUFnQjtFVW9kdUIsU0NyTWxCLE9EcU1rQjs7QVZwZHZDLHFCQUFxQjtFVXFkdUIsU0MvTGxCLE9EK0xrQjs7QVZyZDVDLGdCQUFnQjtBQUFTLGtCQUFrQjtBQUFTLGdCQUFnQjtFVXdkN0IsU0N4TWxCLE9Ed01rQjs7QVZ4ZHZDLGNBQWM7QUFBUyxrQkFBa0I7RVUwZEEsU0M5TWxCLE9EOE1rQjs7QVYxZHpDLGdCQUFnQjtBQUFTLGdCQUFnQjtFVTRkRixTQy9NbEIsT0QrTWtCOztBVjVkdkMsZ0JBQWdCO0FBQVMsZ0JBQWdCO0VVOGRGLFNDcE1sQixPRG9Na0I7O0FWOWR2QyxlQUFlO0VVK2R1QixTQ2pObEIsT0RpTmtCOztBVi9kdEMsUUFBUTtFVWdldUIsU0N1UmxCLE9EdlJrQjs7QVZoZS9CLFdBQVc7RVVpZXVCLFNDNVNsQixPRDRTa0I7O0FWamVsQyxZQUFZO0VVa2V1QixTQzlFbEIsT0Q4RWtCOztBVmxlbkMsYUFBYTtBQUFTLGFBQWE7QUFBUyxjQUFjO0FBQVMsV0FBVztBQUFTLGFBQWE7RVV1ZWhFLFNDbkVsQixPRG1Fa0I7O0FWdmVwQyxrQkFBa0I7RVV3ZXVCLFNDL1RsQixPRCtUa0I7O0FWeGV6QyxNQUFNO0FBQVMsY0FBYztBQUFTLFNBQVM7RVUyZWYsU0NxRGxCLE9EckRrQjs7QVYzZWhDLE1BQU07QUFBUyxVQUFVO0VVNmVRLFNDblFsQixPRG1Ra0I7O0FWN2VqQyxjQUFjO0VVOGV1QixTQ3pLbEIsT0R5S2tCOztBVjllckMsT0FBTztFVStldUIsU0MzS2xCLE9EMktrQjs7QVYvZTlCLHVCQUF1QjtBQUFTLGFBQWE7QUFBUyxlQUFlO0VVa2YvQixTQ3hKbEIsT0R3SmtCOztBVmxmdEMsaUJBQWlCO0VVbWZ1QixTQzJLbEIsT0QzS2tCOztBVm5meEMsTUFBTTtFVW9mdUIsU0NpQ2xCLE9EakNrQjs7QVZwZjdCLFVBQVU7QUFBUyxVQUFVO0VVc2ZJLFNDMFFsQixPRDFRa0I7O0FWdGZqQyxRQUFRO0FBQVMsZUFBZTtFVXdmTSxTQ1ZsQixPRFVrQjs7QVZ4ZnRDLFVBQVU7QUFBUyxpQkFBaUI7RVUwZkksU0NYbEIsT0RXa0I7O0FWMWZ4QyxXQUFXO0VVMmZ1QixTQzFJbEIsT0QwSWtCOztBVjNmbEMsZUFBZTtFVTRmdUIsU0NsVmxCLE9Ea1ZrQjs7QVY1ZnRDLFVBQVU7RVU2ZnVCLFNDakpsQixPRGlKa0I7O0FWN2ZqQyxhQUFhO0VVOGZ1QixTQ2JsQixPRGFrQjs7QVY5ZnBDLFdBQVc7RVUrZnVCLFNDK0ZsQixPRC9Ga0I7O0FWL2ZsQyxhQUFhO0VVZ2dCdUIsU0N1RWxCLE9EdkVrQjs7QVZoZ0JwQyxvQkFBb0I7RVVpZ0J1QixTQ3VFbEIsT0R2RWtCOztBVmpnQjNDLFFBQVE7RVVrZ0J1QixTQ3pabEIsT0R5WmtCOztBVmxnQi9CLGlCQUFpQjtBQUFTLFlBQVk7RVVvZ0JILFNDNU1sQixPRDRNa0I7O0FWcGdCbkMsT0FBTztFVXFnQnVCLFNDME1sQixPRDFNa0I7O0FWcmdCOUIsY0FBYztFVXNnQnVCLFNDeGFsQixPRHdha0I7O0FWdGdCckMsUUFBUTtFVXVnQnVCLFNDSWxCLE9ESmtCOztBVnZnQi9CLGNBQWM7RVV3Z0J1QixTQ3VGbEIsT0R2RmtCOztBVnhnQnJDLFVBQVU7RVV5Z0J1QixTQzJNbEIsT0QzTWtCOztBVnpnQmpDLFFBQVE7RVUwZ0J1QixTQytRbEIsT0QvUWtCOztBVjFnQi9CLGVBQWU7RVUyZ0J1QixTQ3pDbEIsT0R5Q2tCOztBVjNnQnRDLFFBQVE7RVU0Z0J1QixTQ3dQbEIsT0R4UGtCOztBVjVnQi9CLGNBQWM7RVU2Z0J1QixTQ3JabEIsT0RxWmtCOztBVjdnQnJDLFVBQVU7RVU4Z0J1QixTQ3ZCbEIsT0R1QmtCOztBVjlnQmpDLGlCQUFpQjtFVStnQnVCLFNDM0xsQixPRDJMa0I7O0FWL2dCeEMsV0FBVztFVWdoQnVCLFNDNVhsQixPRDRYa0I7O0FWaGhCbEMsaUJBQWlCO0VVaWhCdUIsU0NoWWxCLE9EZ1lrQjs7QVZqaEJ4QyxlQUFlO0VVa2hCdUIsU0NuWWxCLE9EbVlrQjs7QVZsaEJ0QyxXQUFXO0VVbWhCdUIsU0N0WWxCLE9Ec1lrQjs7QVZuaEJsQyxhQUFhO0VVb2hCdUIsU0NsWWxCLE9Ea1lrQjs7QVZwaEJwQyxhQUFhO0VVcWhCdUIsU0NsWWxCLE9Ea1lrQjs7QVZyaEJwQyxjQUFjO0VVc2hCdUIsU0MzYmxCLE9EMmJrQjs7QVZ0aEJyQyxnQkFBZ0I7RVV1aEJ1QixTQzNibEIsT0QyYmtCOztBVnZoQnZDLFNBQVM7RVV3aEJ1QixTQytLbEIsT0QvS2tCOztBVnhoQmhDLGFBQWE7RVV5aEJ1QixTQ25WbEIsT0RtVmtCOztBVnpoQnBDLE1BQU07RVUwaEJ1QixTQzlkbEIsT0Q4ZGtCOztBVjFoQjdCLGNBQWM7RVUyaEJ1QixTQzVSbEIsT0Q0UmtCOztBVjNoQnJDLGVBQWU7RVU0aEJ1QixTQy9DbEIsT0QrQ2tCOztBVjVoQnRDLGlCQUFpQjtFVTZoQnVCLFNDOWJsQixPRDhia0I7O0FWN2hCeEMsY0FBYztFVThoQnVCLFNDdGZsQixPRHNma0I7O0FWOWhCckMsYUFBYTtFVStoQnVCLFNDL0JsQixPRCtCa0I7O0FWL2hCcEMsY0FBYztFVWdpQnVCLFNDekhsQixPRHlIa0I7O0FWaGlCckMsVUFBVTtFVWlpQnVCLFNDdklsQixPRHVJa0I7O0FWamlCakMsaUJBQWlCO0VVa2lCdUIsU0N2SWxCLE9EdUlrQjs7QVZsaUJ4QyxjQUFjO0VVbWlCdUIsU0M0SmxCLE9ENUprQjs7QVZuaUJyQyxhQUFhO0VVb2lCdUIsU0M0SmxCLE9ENUprQjs7QVZwaUJwQyxXQUFXO0VVcWlCdUIsU0N4Y2xCLE9Ed2NrQjs7QVZyaUJsQyxPQUFPO0VVc2lCdUIsU0NqYmxCLE9EaWJrQjs7QVZ0aUI5QixXQUFXO0VVdWlCdUIsU0N2SmxCLE9EdUprQjs7QVZ2aUJsQyxhQUFhO0VVd2lCdUIsU0MzZ0JsQixPRDJnQmtCOztBVnhpQnBDLE1BQU07RVV5aUJ1QixTQzdabEIsT0Q2WmtCOztBVnppQjdCLFVBQVU7QUFBUyxVQUFVO0FBQVMsT0FBTztFVTRpQmYsU0N6S2xCLE9EeUtrQjs7QVY1aUI5QixZQUFZO0VVNmlCdUIsU0NwR2xCLE9Eb0drQjs7QVY3aUJuQyxjQUFjO0VVOGlCdUIsU0N4YmxCLE9Ed2JrQjs7QVY5aUJyQyxrQkFBa0I7RVUraUJ1QixTQzVXbEIsT0Q0V2tCOztBVi9pQnpDLFlBQVk7RVVnakJ1QixTQzlWbEIsT0Q4VmtCOztBVmhqQm5DLFlBQVk7RVVpakJ1QixTQzlQbEIsT0Q4UGtCOztBVmpqQm5DLFdBQVc7RVVrakJ1QixTQ3JKbEIsT0RxSmtCOztBVmxqQmxDLFVBQVU7RVVtakJ1QixTQ2VsQixPRGZrQjs7QVZuakJqQyxnQkFBZ0I7RVVvakJ1QixTQzJCbEIsT0QzQmtCOztBVnBqQnZDLGVBQWU7RVVxakJ1QixTQ29DbEIsT0RwQ2tCOztBVnJqQnRDLFlBQVk7RVVzakJ1QixTQ3FDbEIsT0RyQ2tCOztBVnRqQm5DLGFBQWE7RVV1akJ1QixTQzVhbEIsT0Q0YWtCOztBVnZqQnBDLG1CQUFtQjtFVXdqQnVCLFNDOWFsQixPRDhha0I7O0FWeGpCMUMsV0FBVztFVXlqQnVCLFNDL1ZsQixPRCtWa0I7O0FWempCbEMsUUFBUTtFVTBqQnVCLFNDb0JsQixPRHBCa0I7O0FWMWpCL0IsZUFBZTtFVTJqQnVCLFNDOEtsQixPRDlLa0I7O0FWM2pCdEMsY0FBYztFVTRqQnVCLFNDL0ZsQixPRCtGa0I7O0FWNWpCckMsZUFBZTtFVTZqQnVCLFNDNkVsQixPRDdFa0I7O0FWN2pCdEMsYUFBYTtFVThqQnVCLFNDOU1sQixPRDhNa0I7O0FWOWpCcEMsU0FBUztFVStqQnVCLFNDK0tsQixPRC9La0I7O0FWL2pCaEMsUUFBUTtFVWdrQnVCLFNDN0hsQixPRDZIa0I7O0FWaGtCL0IsV0FBVztFVWlrQnVCLFNDbkhsQixPRG1Ia0I7O0FWamtCbEMsWUFBWTtBQUFTLGVBQWU7RVVta0JFLFNDa0lsQixPRGxJa0I7O0FWbmtCdEMsbUJBQW1CO0VVb2tCdUIsU0NrSWxCLE9EbElrQjs7QVZwa0IxQyxnQkFBZ0I7RVVxa0J1QixTQzBLbEIsT0QxS2tCOztBVnJrQnZDLGVBQWU7RVVza0J1QixTQ2xJbEIsT0RrSWtCOztBVnRrQnRDLGNBQWM7RVV1a0J1QixTQ3lLbEIsT0R6S2tCOztBVnZrQnJDLGVBQWU7RVV3a0J1QixTQ25JbEIsT0RtSWtCOztBVnhrQnRDLGlCQUFpQjtFVXlrQnVCLFNDbElsQixPRGtJa0I7O0FWemtCeEMsaUJBQWlCO0VVMGtCdUIsU0NwSWxCLE9Eb0lrQjs7QVYxa0J4QyxVQUFVO0VVMmtCdUIsU0MxR2xCLE9EMEdrQjs7QVYza0JqQyxjQUFjO0VVNGtCdUIsU0M3UWxCLE9ENlFrQjs7QVY1a0JyQyxxQkFBcUI7RVU2a0J1QixTQzFVbEIsT0QwVWtCOztBVjdrQjVDLGVBQWU7RVU4a0J1QixTQ3pFbEIsT0R5RWtCOztBVjlrQnRDLFlBQVk7RVUra0J1QixTQ2tMbEIsT0RsTGtCOztBVi9rQm5DLFVBQVU7RVVnbEJ1QixTQ1hsQixPRFdrQjs7QVZobEJqQyxhQUFhO0VVaWxCdUIsU0N1SmxCLE9EdkprQjs7QVZqbEJwQyxjQUFjO0VVa2xCdUIsU0N3SmxCLE9EeEprQjs7QVZsbEJyQyxTQUFTO0FBQVMsT0FBTztFVW9sQkssU0MvZmxCLE9EK2ZrQjs7QVZwbEI5QixXQUFXO0VVcWxCdUIsU0M0SmxCLE9ENUprQjs7QVZybEJsQyxTQUFTO0VVc2xCdUIsU0M4R2xCLE9EOUdrQjs7QVZ0bEJoQyxVQUFVO0VVdWxCdUIsU0N3RGxCLE9EeERrQjs7QVZ2bEJqQyxVQUFVO0VVd2xCdUIsU0M5SWxCLE9EOElrQjs7QVZ4bEJqQyxNQUFNO0FBQVMsZ0JBQWdCO0VVMGxCUSxTQzBMbEIsT0QxTGtCOztBVjFsQnZDLGlCQUFpQjtFVTJsQnVCLFNDakhsQixPRGlIa0I7O0FWM2xCeEMsWUFBWTtFVTRsQnVCLFNDckhsQixPRHFIa0I7O0FWNWxCbkMsZ0JBQWdCO0VVNmxCdUIsU0NuV2xCLE9EbVdrQjs7QVY3bEJ2QyxhQUFhO0FBQVMsV0FBVztBQUFTLGdCQUFnQjtFVWdtQm5CLFNDL2dCbEIsT0QrZ0JrQjs7QVZobUJ2QyxhQUFhO0FBQVMsMEJBQTBCO0VVa21CQyxTQzlnQmxCLE9EOGdCa0I7O0FWbG1CakQsYUFBYTtBQUFTLGdCQUFnQjtFVW9tQkMsU0NsaEJsQixPRGtoQmtCOztBVnBtQnZDLGFBQWE7QUFBUyxtQkFBbUI7RVVzbUJDLFNDbmhCbEIsT0RtaEJrQjs7QVZ0bUIxQyxhQUFhO0FBQVMsaUJBQWlCO0VVd21CQyxTQ3hoQmxCLE9Ed2hCa0I7O0FWeG1CeEMsaUJBQWlCO0VVeW1CdUIsU0MzSWxCLE9EMklrQjs7QVZ6bUJ4QyxZQUFZO0VVMG1CdUIsU0MzT2xCLE9EMk9rQjs7QVYxbUJuQyxnQkFBZ0I7RVUybUJ1QixTQ3hJbEIsT0R3SWtCOztBVjNtQnZDLGtCQUFrQjtFVTRtQnVCLFNDeElsQixPRHdJa0I7O0FWNW1CekMsZUFBZTtFVTZtQnVCLFNDd0JsQixPRHhCa0I7O0FWN21CdEMsaUJBQWlCO0VVOG1CdUIsU0N3QmxCLE9EeEJrQjs7QVY5bUJ4QyxVQUFVO0VVK21CdUIsU0MvZGxCLE9EK2RrQjs7QVYvbUJqQyxrQkFBa0I7RVVnbkJ1QixTQ2xlbEIsT0RrZWtCOztBVmhuQnpDLFNBQVM7RVVpbkJ1QixTQ3BjbEIsT0RvY2tCOztBVmpuQmhDLGlCQUFpQjtFVWtuQnVCLFNDbGpCbEIsT0RrakJrQjs7QVZsbkJ4QyxlQUFlO0VVbW5CdUIsU0N4UGxCLE9Ed1BrQjs7QVZubkJ0QyxlQUFlO0FBQVMsbUJBQW1CO0VVcW5CRCxTQ3pQbEIsT0R5UGtCOztBVnJuQjFDLGVBQWU7QUFBUyxrQkFBa0I7RVV1bkJELFNDN1BsQixPRDZQa0I7O0FWdm5CekMsZUFBZTtBQUFTLGlCQUFpQjtFVXluQkQsU0NoUWxCLE9EZ1FrQjs7QVZ6bkJ4QyxhQUFhO0VVMG5CdUIsU0NyUWxCLE9EcVFrQjs7QVYxbkJwQyxlQUFlO0FBQVMsZUFBZTtFVTRuQkQsU0N4UmxCLE9Ed1JrQjs7QVY1bkJ0QyxlQUFlO0FBQVMsZ0JBQWdCO0VVOG5CRCxTQzdSbEIsT0Q2UmtCOztBVjluQnZDLG1CQUFtQjtFVStuQnVCLFNDMVJsQixPRDBSa0I7O0FWL25CMUMsaUJBQWlCO0VVZ29CdUIsU0NwU2xCLE9Eb1NrQjs7QVZob0J4QyxnQkFBZ0I7RVVpb0J1QixTQzNSbEIsT0QyUmtCOztBVmpvQnZDLGtCQUFrQjtFVWtvQnVCLFNDL1JsQixPRCtSa0I7O0FWbG9CekMsZ0JBQWdCO0VVbW9CdUIsU0NqU2xCLE9EaVNrQjs7QVZub0J2QyxhQUFhO0VVb29CdUIsU0MrRGxCLE9EL0RrQjs7QVZwb0JwQyxjQUFjO0VVcW9CdUIsU0MvRmxCLE9EK0ZrQjs7QVZyb0JyQyxvQkFBb0I7RVVzb0J1QixTQy9ibEIsT0QrYmtCOztBVnRvQjNDLE1BQU07RVV1b0J1QixTQ3RVbEIsT0RzVWtCOztBVnZvQjdCLGFBQWE7RVV3b0J1QixTQ3RVbEIsT0RzVWtCOztBVnhvQnBDLGVBQWU7RVV5b0J1QixTQ2tFbEIsT0RsRWtCOztBVnpvQnRDLGlCQUFpQjtFVTBvQnVCLFNDcktsQixPRHFLa0I7O0FWMW9CeEMsd0JBQXdCO0VVMm9CdUIsU0NyS2xCLE9EcUtrQjs7QVYzb0IvQyxjQUFjO0VVNG9CdUIsU0M1VWxCLE9ENFVrQjs7QVY1b0JyQyxlQUFlO0VVNm9CdUIsU0N3SGxCLE9EeEhrQjs7QVY3b0J0QyxVQUFVO0VVOG9CdUIsU0NuRmxCLE9EbUZrQjs7QVY5b0JqQyxVQUFVO0VVK29CdUIsU0N6ZWxCLE9EeWVrQjs7QVYvb0JqQyxXQUFXO0VVZ3BCdUIsU0M5V2xCLE9EOFdrQjs7QVZocEJsQyxTQUFTO0VVaXBCdUIsU0N4S2xCLE9Ed0trQjs7QVZqcEJoQyxxQkFBcUI7RVVrcEJ1QixTQ3BRbEIsT0RvUWtCOztBVmxwQjVDLE1BQU07QUFBUyxjQUFjO0VVb3BCUSxTQ1NsQixPRFRrQjs7QVZwcEJyQyxVQUFVO0VVcXBCdUIsU0NqZGxCLE9EaWRrQjs7QVZycEJqQyxTQUFTO0VVc3BCdUIsU0N6b0JsQixPRHlvQmtCOztBVnRwQmhDLFVBQVU7RVV1cEJ1QixTQy9uQmxCLE9EK25Ca0I7O0FWdnBCakMsbUJBQW1CO0VVd3BCdUIsU0MzaEJsQixPRDJoQmtCOztBVnhwQjFDLG9CQUFvQjtFVXlwQnVCLFNDOWhCbEIsT0Q4aEJrQjs7QVZ6cEIzQyxvQkFBb0I7RVUwcEJ1QixTQzVoQmxCLE9ENGhCa0I7O0FWMXBCM0Msb0JBQW9CO0VVMnBCdUIsU0NqaUJsQixPRGlpQmtCOztBVjNwQjNDLFlBQVk7RVU0cEJ1QixTQ3BSbEIsT0RvUmtCOztBVjVwQm5DLFdBQVc7RVU2cEJ1QixTQzVObEIsT0Q0TmtCOztBVjdwQmxDLGFBQWE7RVU4cEJ1QixTQzVObEIsT0Q0TmtCOztBVjlwQnBDLFNBQVM7RVUrcEJ1QixTQy9ObEIsT0QrTmtCOztBVi9wQmhDLE9BQU87RVVncUJ1QixTQ2xPbEIsT0RrT2tCOztBVmhxQjlCLGNBQWM7RVVpcUJ1QixTQ3BlbEIsT0RvZWtCOztBVmpxQnJDLGdCQUFnQjtFVWtxQnVCLFNDcGVsQixPRG9la0I7O0FWbHFCdkMsU0FBUztFVW1xQnVCLFNDdFNsQixPRHNTa0I7O0FWbnFCaEMsU0FBUztFVW9xQnVCLFNDaUZsQixPRGpGa0I7O0FWcHFCaEMsYUFBYTtFVXFxQnVCLFNDbGtCbEIsT0Rra0JrQjs7QVZycUJwQyxhQUFhO0VVc3FCdUIsU0NyWGxCLE9EcVhrQjs7QVZ0cUJwQyxnQkFBZ0I7RVV1cUJ1QixTQ3BJbEIsT0RvSWtCOztBVnZxQnZDLFFBQVE7RVV3cUJ1QixTQ3BjbEIsT0RvY2tCOztBVnhxQi9CLG1CQUFtQjtFVXlxQnVCLFNDaGVsQixPRGdla0I7O0FWenFCMUMsWUFBWTtFVTBxQnVCLFNDcGZsQixPRG9ma0I7O0FWMXFCbkMsUUFBUTtFVTJxQnVCLFNDbE5sQixPRGtOa0I7O0FWM3FCL0IsZ0JBQWdCO0VVNHFCdUIsU0MxWGxCLE9EMFhrQjs7QVY1cUJ2QyxPQUFPO0VVNnFCdUIsU0NvRGxCLE9EcERrQjs7QVY3cUI5QixnQkFBZ0I7RVU4cUJ1QixTQzNKbEIsT0QySmtCOztBVjlxQnZDLFlBQVk7RVUrcUJ1QixTQ3pObEIsT0R5TmtCOztBVi9xQm5DLFVBQVU7RVVnckJ1QixTQ2xIbEIsT0RrSGtCOztBVmhyQmpDLGdCQUFnQjtFVWlyQnVCLFNDN0xsQixPRDZMa0I7O0FWanJCdkMsa0JBQWtCO0VVa3JCdUIsU0M3TGxCLE9ENkxrQjs7QVZsckJ6QyxlQUFlO0VVbXJCdUIsU0MzQ2xCLE9EMkNrQjs7QVZuckJ0QyxpQkFBaUI7RVVvckJ1QixTQzNDbEIsT0QyQ2tCOztBVnByQnhDLGdCQUFnQjtFVXFyQnVCLFNDckdsQixPRHFHa0I7O0FWcnJCdkMsbUJBQW1CO0VVc3JCdUIsU0NyR2xCLE9EcUdrQjs7QVZ0ckIxQyxXQUFXO0VVdXJCdUIsU0M3VWxCLE9ENlVrQjs7QVZ2ckJsQyxhQUFhO0VVd3JCdUIsU0NubEJsQixPRG1sQmtCOztBVnhyQnBDLGVBQWU7RVV5ckJ1QixTQ25sQmxCLE9EbWxCa0I7O0FWenJCdEMsV0FBVztFVTByQnVCLFNDL0xsQixPRCtMa0I7O0FWMXJCbEMsVUFBVTtFVTJyQnVCLFNDbFhsQixPRGtYa0I7O0FWM3JCakMsY0FBYztFVTRyQnVCLFNDa0ZsQixPRGxGa0I7O0FWNXJCckMsV0FBVztFVTZyQnVCLFNDbUZsQixPRG5Ga0I7O0FWN3JCbEMsVUFBVTtFVThyQnVCLFNDOWNsQixPRDhja0I7O0FWOXJCakMsb0JBQW9CO0VVK3JCdUIsU0MyQmxCLE9EM0JrQjs7QVYvckIzQyxrQkFBa0I7RVVnc0J1QixTQ21FbEIsT0RuRWtCOztBVmhzQnpDLHFCQUFxQjtFVWlzQnVCLFNDeEtsQixPRHdLa0I7O0FWanNCNUMsU0FBUztFVWtzQnVCLFNDOWxCbEIsT0Q4bEJrQjs7QVZsc0JoQyxxQkFBcUI7RVVtc0J1QixTQ3RvQmxCLE9Ec29Ca0I7O0FWbnNCNUMsd0JBQXdCO0VVb3NCdUIsU0NxRGxCLE9EckRrQjs7QVZwc0IvQyxXQUFXO0VVcXNCdUIsU0N4bEJsQixPRHdsQmtCOztBVnJzQmxDLCtCQUErQjtFVXNzQnVCLFNDNW9CbEIsT0Q0b0JrQjs7QVZ0c0J0RCxvQkFBb0I7QUFBUyx1Q0FBdUM7RVV3c0JOLFNDOXFCbEIsT0Q4cUJrQjs7QVZ4c0I5RCxZQUFZO0FBQVMsbUJBQW1CO0FBQVMsUUFBUTtFVTJzQjFCLFNDdmZsQixPRHVma0I7O0FWM3NCL0IsU0FBUztFVTRzQnVCLFNDaFlsQixPRGdZa0I7O0FWNXNCaEMsV0FBVztFVTZzQnVCLFNDaFlsQixPRGdZa0I7O0FWN3NCbEMsV0FBVztBQUFTLGlCQUFpQjtFVStzQkcsU0MxSGxCLE9EMEhrQjs7QVYvc0J4QyxjQUFjO0VVZ3RCdUIsU0N6UmxCLE9EeVJrQjs7QVZodEJyQyxVQUFVO0VVaXRCdUIsU0NpQ2xCLE9EakNrQjs7QVZqdEJqQyxpQkFBaUI7RVVrdEJ1QixTQ2lDbEIsT0RqQ2tCOztBVmx0QnhDLFlBQVk7RVVtdEJ1QixTQ2xIbEIsT0RrSGtCOztBVm50Qm5DLGtCQUFrQjtFVW90QnVCLFNDbEhsQixPRGtIa0I7O0FWcHRCekMsbUJBQW1CO0VVcXRCdUIsU0NsSGxCLE9Ea0hrQjs7QVZydEIxQyxjQUFjO0VVc3RCdUIsU0NyTmxCLE9EcU5rQjs7QVZ0dEJyQyxlQUFlO0VVdXRCdUIsU0NwYmxCLE9Eb2JrQjs7QVZ2dEJ0QyxTQUFTO0VVd3RCdUIsU0NtRWxCLE9EbkVrQjs7QVZ4dEJoQyxhQUFhO0VVeXRCdUIsU0NwRGxCLE9Eb0RrQjs7QVZ6dEJwQyxzQkFBc0I7QUFBUyx3QkFBd0I7RVUydEJSLFNDellsQixPRHlZa0I7O0FWM3RCL0MsTUFBTTtBQUFTLGdCQUFnQjtFVTZ0QlEsU0M3YWxCLE9ENmFrQjs7QVY3dEJ2QyxlQUFlO0VVOHRCdUIsU0N0WGxCLE9Ec1hrQjs7QVY5dEJ0QyxpQkFBaUI7RVUrdEJ1QixTQ2xmbEIsT0RrZmtCOztBVi90QnhDLG1CQUFtQjtFVWd1QnVCLFNDbGZsQixPRGtma0I7O0FWaHVCMUMsVUFBVTtFVWl1QnVCLFNDdFRsQixPRHNUa0I7O0FWanVCakMsZ0JBQWdCO0VVa3VCdUIsU0NwdEJsQixPRG90QmtCOztBVmx1QnZDLGtCQUFrQjtFVW11QnVCLFNDcHRCbEIsT0RvdEJrQjs7QVZudUJ6QyxTQUFTO0FBQVMsZ0JBQWdCO0VVcXVCSyxTQ3J0QmxCLE9EcXRCa0I7O0FWcnVCdkMsV0FBVztBQUFTLGtCQUFrQjtFVXV1QkcsU0N0dEJsQixPRHN0QmtCOztBVnZ1QnpDLGVBQWU7RVV3dUJ1QixTQ0psQixPRElrQjs7QVZ4dUJ0QyxpQkFBaUI7RVV5dUJ1QixTQ0psQixPRElrQjs7QVZ6dUJ4QyxVQUFVO0VVMHVCdUIsU0NIbEIsT0RHa0I7O0FWMXVCakMsWUFBWTtFVTJ1QnVCLFNDM1dsQixPRDJXa0I7O0FWM3VCbkMsbUJBQW1CO0FBQVMsV0FBVztFVTZ1QkwsU0M1V2xCLE9ENFdrQjs7QVY3dUJsQyxxQkFBcUI7QUFBUyxhQUFhO0VVK3VCUCxTQzdXbEIsT0Q2V2tCOztBVi91QnBDLFNBQVM7RVVndkJ1QixTQ3RObEIsT0RzTmtCOztBVmh2QmhDLGtCQUFrQjtFVWl2QnVCLFNDM2JsQixPRDJia0I7O0FWanZCekMsWUFBWTtFVWt2QnVCLFNDdEZsQixPRHNGa0I7O0FWbHZCbkMsaUJBQWlCO0FBQVMsZUFBZTtBQUFTLG9CQUFvQjtFVXF2QjNCLFNDeEVsQixPRHdFa0I7O0FWcnZCM0MsaUJBQWlCO0FBQVMsOEJBQThCO0VVdXZCSCxTQ3ZFbEIsT0R1RWtCOztBVnZ2QnJELGlCQUFpQjtBQUFTLG9CQUFvQjtFVXl2QkgsU0MzRWxCLE9EMkVrQjs7QVZ6dkIzQyxpQkFBaUI7QUFBUyx1QkFBdUI7RVUydkJILFNDNUVsQixPRDRFa0I7O0FWM3ZCOUMsaUJBQWlCO0FBQVMscUJBQXFCO0VVNnZCSCxTQ2pGbEIsT0RpRmtCOztBVjd2QjVDLFVBQVU7RVU4dkJ1QixTQzNLbEIsT0QyS2tCOztBVjl2QmpDLFdBQVc7QUFBUyxPQUFPO0FBQVMsUUFBUTtFVWl3QmIsU0N6ckJsQixPRHlyQmtCOztBVmp3Qi9CLFdBQVc7RVVrd0J1QixTQ2xQbEIsT0RrUGtCOztBVmx3QmxDLG1CQUFtQjtFVW13QnVCLFNDS2xCLE9ETGtCOztBVm53QjFDLG1CQUFtQjtFVW93QnVC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dUIsU1oyZGxCLE9ZM2RrQjs7QXZCSmhDLFVBQVU7RXVCS3VCLFNaMGpCbEIsT1kxakJrQjs7QXZCTGpDLGNBQWM7RXVCTXVCLFNac09sQixPWXRPa0I7O0F2Qk5yQyxTQUFTO0V1Qk91QixTWnVXbEIsT1l2V2tCOztBdkJQaEMsUUFBUTtFdUJRdUIsU1prbkJsQixPWWxuQmtCOztBdkJSL0IsVUFBVTtFdUJTdUIsU1pzbkJsQixPWXRuQmtCOztBdkJUakMsUUFBUTtFdUJVdUIsU1p5dEJsQixPWXp0QmtCOztBdkJWL0IsUUFBUTtFdUJXdUIsU1ptUmxCLE9ZblJrQjs7QXZCWC9CLFlBQVk7RXVCWXVCLFNadXBCbEIsT1l2cEJrQjs7QXZCWm5DLE1BQU07RXVCYXVCLFNacXBCbEIsT1lycEJrQjs7QXZCYjdCLFdBQVc7RXVCY3VCLFNac3BCbEIsT1l0cEJrQjs7QXZCZGxDLFNBQVM7RXVCZXVCLFNaeUlsQixPWXpJa0I7O0F2QmZoQyxVQUFVO0FBQVMsU0FBUztBQUFTLFNBQVM7RXVCa0JkLFNacXFCbEIsT1lycUJrQjs7QXZCbEJoQyxlQUFlO0V1Qm1CdUIsU1o4aUJsQixPWTlpQmtCOztBdkJuQnRDLGdCQUFnQjtFdUJvQnVCLFNaNGlCbEIsT1k1aUJrQjs7QXZCcEJ2QyxhQUFhO0V1QnFCdUIsU1o0ZmxCLE9ZNWZrQjs7QXZCckJwQyxVQUFVO0V1QnNCdUIsU1ppa0JsQixPWWprQmtCOztBdkJ0QmpDLFFBQVE7QUFBUyxPQUFPO0V1QndCTSxTWmdLbEIsT1loS2tCOztBdkJ4QjlCLFdBQVc7RXVCeUJ1QixTWitxQmxCLE9ZL3FCa0I7O0F2QnpCbEMsUUFBUTtFdUIwQnVCLFNad1ZsQixPWXhWa0I7O0F2QjFCL0IsVUFBVTtFdUIyQnVCLFNadVBsQixPWXZQa0I7O0F2QjNCakMsV0FBVztFdUI0QnVCLFNaZ0psQixPWWhKa0I7O0F2QjVCbEMsUUFBUTtFdUI2QnVCLFNabWhCbEIsT1luaEJrQjs7QXZCN0IvQixZQUFZO0V1QjhCdUIsU1pnTWxCLE9ZaE1rQjs7QXZCOUJuQyx1QkFBdUI7RXVCK0J1QixTWllsQixPWVprQjs7QXZCL0I5QyxxQkFBcUI7RXVCZ0N1QixTWmNsQixPWWRrQjs7QXZCaEM1QyxTQUFTO0V1QmlDdUIsU1pxV2xCLE9ZcldrQjs7QXZCakNoQyxpQkFBaUI7RXVCa0N1QixTWndlbEIsT1l4ZWtCOztBdkJsQ3hDLGdCQUFnQjtBQUFTLFVBQVU7RXVCb0NGLFNac2dCbEIsT1l0Z0JrQjs7QXZCcENqQyxXQUFXO0V1QnFDdUIsU1pnZ0JsQixPWWhnQmtCOztBdkJyQ2xDLFlBQVk7RXVCc0N1QixTWndZbEIsT1l4WWtCOztBdkJ0Q25DLFFBQVE7RXVCdUN1QixTWjJZbEIsT1kzWWtCOztBdkJ2Qy9CLFFBQVE7RXVCd0N1QixTWjRQbEIsT1k1UGtCOztBdkJ4Qy9CLGNBQWM7RXVCeUN1QixTWm9VbEIsT1lwVWtCOztBdkJ6Q3JDLGNBQWM7RXVCMEN1QixTWml0QmxCLE9ZanRCa0I7O0F2QjFDckMsZUFBZTtFdUIyQ3VCLFNaK3NCbEIsT1kvc0JrQjs7QXZCM0N0QyxhQUFhO0V1QjRDdUIsU1pndEJsQixPWWh0QmtCOztBdkI1Q3BDLFVBQVU7RXVCNkN1QixTWnllbEIsT1l6ZWtCOztBdkI3Q2pDLFdBQVc7RXVCOEN1QixTWndCbEIsT1l4QmtCOztBdkI5Q2xDLE9BQU87RXVCK0N1QixTWnltQmxCLE9Zem1Ca0I7O0F2Qi9DOUIsUUFBUTtFdUJnRHVCLFNaeW1CbEIsT1l6bUJrQjs7QXZCaEQvQixRQUFRO0V1QmlEdUIsU1p5RGxCLE9ZekRrQjs7QXZCakQvQixZQUFZO0V1QmtEdUIsU1p5RGxCLE9ZekRrQjs7QXZCbERuQyxTQUFTO0V1Qm1EdUIsU1orZGxCLE9ZL2RrQjs7QXZCbkRoQyxVQUFVO0V1Qm9EdUIsU1oyRWxCLE9ZM0VrQjs7QXZCcERqQyxRQUFRO0V1QnFEdUIsU1owUGxCLE9ZMVBrQjs7QXZCckQvQixRQUFRO0V1QnNEdUIsU1ppRGxCLE9ZakRrQjs7QXZCdEQvQixVQUFVO0V1QnVEdUIsU1owVmxCLE9ZMVZrQjs7QXZCdkRqQyxlQUFlO0V1QndEdUIsU1p3bUJsQixPWXhtQmtCOztBdkJ4RHRDLGNBQWM7RXVCeUR1QixTWndtQmxCLE9ZeG1Ca0I7O0F2QnpEckMsY0FBYztFdUIwRHVCLFNacENsQixPWW9Da0I7O0F2QjFEckMsZ0JBQWdCO0V1QjJEdUIsU1p2Q2xCLE9ZdUNrQjs7QXZCM0R2QyxlQUFlO0V1QjREdUIsU1pyQ2xCLE9ZcUNrQjs7QXZCNUR0QyxpQkFBaUI7RXVCNkR1QixTWnhDbEIsT1l3Q2tCOztBdkI3RHhDLFFBQVE7RXVCOER1QixTWitXbEIsT1kvV2tCOztBdkI5RC9CLFVBQVU7QUFBUyxXQUFXO0V1QmdFSSxTWjJhbEIsT1kzYWtCOztBdkJoRWxDLFVBQVU7RXVCaUV1QixTWnNVbEIsT1l0VWtCOztBdkJqRWpDLGdCQUFnQjtFdUJrRXVCLFNaa3JCbEIsT1lsckJrQjs7QXZCbEV2QyxTQUFTO0FBQVMsU0FBUztBQUFTLGFBQWE7RXVCcUViLFNaMGJsQixPWTFia0I7O0F2QnJFcEMsVUFBVTtFdUJzRXVCLFNaa2JsQixPWWxia0I7O0F2QnRFakMsY0FBYztFdUJ1RXVCLFNad1hsQixPWXhYa0I7O0F2QnZFckMsVUFBVTtFdUJ3RXVCLFNadERsQixPWXNEa0I7O0F2QnhFakMsUUFBUTtFdUJ5RXVCLFNabW5CbEIsT1lubkJrQjs7QXZCekUvQixRQUFRO0FBQVMsbUJBQW1CO0V1QjJFTSxTWithbEIsT1kvYWtCOztBdkIzRTFDLGtCQUFrQjtFdUI0RXVCLFNaOGZsQixPWTlma0I7O0F2QjVFekMsa0JBQWtCO0V1QjZFdUIsU1orRWxCLE9ZL0VrQjs7QXZCN0V6QyxVQUFVO0V1QjhFdUIsU1p6QmxCLE9ZeUJrQjs7QXZCOUVqQyxpQkFBaUI7RXVCK0V1QixTWm1qQmxCLE9ZbmpCa0I7O0F2Qi9FeEMsaUJBQWlCO0V1QmdGdUIsU1pxTGxCLE9ZckxrQjs7QXZCaEZ4QyxZQUFZO0V1QmlGdUIsU1psQmxCLE9Za0JrQjs7QXZCakZuQyxRQUFRO0V1QmtGdUIsU1pzYmxCLE9ZdGJrQjs7QXZCbEYvQixTQUFTO0V1Qm1GdUIsU1pnYWxCLE9ZaGFrQjs7QXZCbkZoQyxRQUFRO0V1Qm9GdUIsU1ptakJsQixPWW5qQmtCOztBdkJwRi9CLFdBQVc7RXVCcUZ1QixTWitObEIsT1kvTmtCOztBdkJyRmxDLGdCQUFnQjtFdUJzRnVCLFNaZ0xsQixPWWhMa0I7O0F2QnRGdkMsZ0JBQWdCO0V1QnVGdUIsU1o0aUJsQixPWTVpQmtCOztBdkJ2RnZDLFNBQVM7RXVCd0Z1QixTWitJbEIsT1kvSWtCOztBdkJ4RmhDLGdCQUFnQjtFdUJ5RnVCLFNaeUVsQixPWXpFa0I7O0F2QnpGdkMsaUJBQWlCO0V1QjBGdUIsU1p5RWxCLE9ZekVrQjs7QXZCMUZ4QyxlQUFlO0V1QjJGdUIsU1prYmxCLE9ZbGJrQjs7QXZCM0Z0QyxnQkFBZ0I7RXVCNEZ1QixTWnVYbEIsT1l2WGtCOztBdkI1RnZDLGdCQUFnQjtFdUI2RnVCLFNaMmxCbEIsT1kzbEJrQjs7QXZCN0Z2QyxnQkFBZ0I7RXVCOEZ1QixTWjJEbEIsT1kzRGtCOztBdkI5RnZDLG1CQUFtQjtFdUIrRnVCLFNaeWJsQixPWXpia0I7O0F2Qi9GMUMsZUFBZTtFdUJnR3VCLFNaMFNsQixPWTFTa0I7O0F2QmhHdEMsY0FBYztFdUJpR3VCLFNaMEdsQixPWTFHa0I7O0F2QmpHckMsa0JBQWtCO0V1QmtHdUIsU1p1bEJsQixPWXZsQmtCOztBdkJsR3pDLGtCQUFrQjtFdUJtR3VCLFNadURsQixPWXZEa0I7O0F2Qm5HekMsT0FBTztFdUJvR3VCLFNabkNsQixPWW1Da0I7O0F2QnBHOUIsY0FBYztFdUJxR3VCLFNabkRsQixPWW1Ea0I7O0F2QnJHckMsZUFBZTtFdUJzR3VCLFNabkRsQixPWW1Ea0I7O0F2QnRHdEMsWUFBWTtFdUJ1R3VCLFNabkRsQixPWW1Ea0I7O0F2QnZHbkMsY0FBYztFdUJ3R3VCLFNadkRsQixPWXVEa0I7O0F2QnhHckMsZ0JBQWdCO0FBQVMsU0FBUztFdUIwR0YsU1o0ZGxCLE9ZNWRrQjs7QXZCMUdoQyxVQUFVO0V1QjJHdUIsU1o4SWxCLE9ZOUlrQjs7QXZCM0dqQyxZQUFZO0V1QjRHdUIsU1pzRmxCLE9ZdEZrQjs7QXZCNUduQyxRQUFRO0V1QjZHdUIsU1orWmxCLE9ZL1prQjs7QXZCN0cvQixTQUFTO0V1QjhHdUIsU1pvV2xCLE9ZcFdrQjs7QXZCOUdoQyxZQUFZO0V1QitHdUIsU1pwRGxCLE9Zb0RrQjs7QXZCL0duQyxzQkFBc0I7RXVCZ0h1QixTWnVJbEIsT1l2SWtCOztBdkJoSDdDLFFBQVE7RXVCaUh1QixTWmtObEIsT1lsTmtCOztBdkJqSC9CLFFBQVE7RXVCa0h1QixTWjBTbEIsT1kxU2tCOztBdkJsSC9CLFFBQVE7RXVCbUh1QixTWjZLbEIsT1k3S2tCOztBdkJuSC9CLE9BQU87RXVCb0h1QixTWnlJbEIsT1l6SWtCOztBdkJwSDlCLGFBQWE7RXVCcUh1QixTWnlJbEIsT1l6SWtCOztBdkJySHBDLFdBQVc7QUFBUyx3QkFBd0I7RXVCdUhHLFNaaUlsQixPWWpJa0I7O0F2QnZIL0MsU0FBUztFdUJ3SHVCLFNaK1lsQixPWS9Za0I7O0F2QnhIaEMsWUFBWTtFdUJ5SHVCLFNaQWxCLE9ZQWtCOztBdkJ6SG5DLFVBQVU7RXVCMEh1QixTWm9hbEIsT1lwYWtCOztBdkIxSGpDLFdBQVc7RXVCMkh1QixTWmdFbEIsT1loRWtCOztBdkIzSGxDLFVBQVU7RXVCNEh1QixTWjZUbEIsT1k3VGtCOztBdkI1SGpDLGNBQWM7RXVCNkh1QixTWnVDbEIsT1l2Q2tCOztBdkI3SHJDLGdCQUFnQjtFdUI4SHVCLFNabUNsQixPWW5Da0I7O0F2QjlIdkMsV0FBVztFdUIrSHVCLFNaK2FsQixPWS9ha0I7O0F2Qi9IbEMsaUJBQWlCO0V1QmdJdUIsU1prZGxCLE9ZbGRrQjs7QXZCaEl4QyxVQUFVO0V1QmlJdUIsU1owS2xCLE9ZMUtrQjs7QXZCaklqQyxlQUFlO0V1QmtJdUIsU1oyS2xCLE9ZM0trQjs7QXZCbEl0QyxZQUFZO0V1Qm1JdUIsU1ozRWxCLE9ZMkVrQjs7QXZCbkluQyxZQUFZO0V1Qm9JdUIsU1o3RWxCLE9ZNkVrQjs7QXZCcEluQyxlQUFlO0FBQVMsYUFBYTtFdUJzSUQsU1psRWxCLE9Za0VrQjs7QXZCdElwQyxrQkFBa0I7RXVCdUl1QixTWitrQmxCLE9ZL2tCa0I7O0F2QnZJekMsbUJBQW1CO0V1QndJdUIsU1o0SGxCLE9ZNUhrQjs7QXZCeEkxQyxnQkFBZ0I7RXVCeUl1QixTWlRsQixPWVNrQjs7QXZCekl2QyxPQUFPO0V1QjBJdUIsU1oyUWxCLE9ZM1FrQjs7QXZCMUk5QixTQUFTO0FBQVMsUUFBUTtFdUI0SUssU1o2Q2xCLE9ZN0NrQjs7QXZCNUkvQixZQUFZO0V1QjZJdUIsU1prRGxCLE9ZbERrQjs7QXZCN0luQyxlQUFlO0V1QjhJdUIsU1pzaUJsQixPWXRpQmtCOztBdkI5SXRDLGlCQUFpQjtFdUIrSXVCLFNab2lCbEIsT1lwaUJrQjs7QXZCL0l4QyxhQUFhO0V1QmdKdUIsU1oyZWxCLE9ZM2VrQjs7QXZCaEpwQyxXQUFXO0V1QmlKdUIsU1o4TmxCLE9ZOU5rQjs7QXZCakpsQyxZQUFZO0V1QmtKdUIsU1pvY2xCLE9ZcGNrQjs7QXZCbEpuQyxtQkFBbUI7RXVCbUp1QixTWnVSbEIsT1l2UmtCOztBdkJuSjFDLGNBQWM7RXVCb0p1QixTWjZoQmxCLE9ZN2hCa0I7O0F2QnBKckMsaUJBQWlCO0V1QnFKdUIsU1pzR2xCLE9ZdEdrQjs7QXZCckp4QyxXQUFXO0V1QnNKdUIsU1o4YmxCLE9ZOWJrQjs7QXZCdEpsQyxVQUFVO0V1QnVKdUIsU1pxakJsQixPWXJqQmtCOztBdkJ2SmpDLGlCQUFpQjtFdUJ3SnVCLFNaZ0xsQixPWWhMa0I7O0F2QnhKeEMsVUFBVTtFdUJ5SnVCLFNadWtCbEIsT1l2a0JrQjs7QXZCekpqQyxXQUFXO0V1QjBKdUIsU1pxUWxCLE9ZclFrQjs7QXZCMUpsQyxTQUFTO0V1QjJKdUIsU1ppV2xCLE9ZaldrQjs7QXZCM0poQyxZQUFZO0V1QjRKdUIsU1oyZGxCLE9ZM2RrQjs7QXZCNUpuQyxjQUFjO0V1QjZKdUIsU1pqRGxCLE9ZaURrQjs7QXZCN0pyQyxnQkFBZ0I7RXVCOEp1QixTWitWbEIsT1kvVmtCOztBdkI5SnZDLFdBQVc7RXVCK0p1QixTWnNqQmxCLE9ZdGpCa0I7O0F2Qi9KbEMsY0FBYztBQUFTLFlBQVk7RXVCaUtBLFNaZ0dsQixPWWhHa0I7O0F2QmpLbkMsVUFBVTtFdUJrS3VCLFNab0tsQixPWXBLa0I7O0F2QmxLakMsVUFBVTtFdUJtS3VCLFNaMGpCbEIsT1kxakJrQjs7QXZCbktqQyxlQUFlO0V1Qm9LdUIsU1pvQ2xCLE9ZcENrQjs7QXZCcEt0QyxRQUFRO0FBQVMsT0FBTztFdUJzS00sU1orWWxCLE9ZL1lrQjs7QXZCdEs5QixTQUFTO0V1QnVLdUIsU1pvTWxCLE9ZcE1rQjs7QXZCdktoQyxZQUFZO0V1QndLdUIsU1pyRGxCLE9ZcURrQjs7QXZCeEtuQyxRQUFRO0V1QnlLdUIsU1poRmxCLE9ZZ0ZrQjs7QXZCeksvQixlQUFlO0V1QjBLdUIsU1pyQmxCLE9ZcUJrQjs7QXZCMUt0QyxnQkFBZ0I7RXVCMkt1QixTWm9MbEIsT1lwTGtCOztBdkIzS3ZDLGVBQWU7RXVCNEt1QixTWmtMbEIsT1lsTGtCOztBdkI1S3RDLGFBQWE7RXVCNkt1QixTWm1MbEIsT1luTGtCOztBdkI3S3BDLGVBQWU7RXVCOEt1QixTWitLbEIsT1kvS2tCOztBdkI5S3RDLHFCQUFxQjtFdUIrS3VCLFNacklsQixPWXFJa0I7O0F2Qi9LNUMsc0JBQXNCO0V1QmdMdUIsU1pqSWxCLE9ZaUlrQjs7QXZCaEw3QyxtQkFBbUI7RXVCaUx1QixTWmpJbEIsT1lpSWtCOztBdkJqTDFDLHFCQUFxQjtFdUJrTHVCLFNaeklsQixPWXlJa0I7O0F2QmxMNUMsU0FBUztFdUJtTHVCLFNaMkpsQixPWTNKa0I7O0F2Qm5MaEMsVUFBVTtFdUJvTHVCLFNaNmxCbEIsT1k3bEJrQjs7QXZCcExqQyxTQUFTO0V1QnFMdUIsU1pxZWxCLE9ZcmVrQjs7QXZCckxoQyxVQUFVO0V1QnNMdUIsU1p5R2xCLE9ZekdrQjs7QXZCdExqQyxhQUFhO0V1QnVMdUIsU1p6RWxCLE9ZeUVrQjs7QXZCdkxwQyxjQUFjO0V1QndMdUIsU1psSWxCLE9Za0lrQjs7QXZCeExyQyxTQUFTO0FBQVMsU0FBUztFdUIwTEssU1ppakJsQixPWWpqQmtCOztBdkIxTGhDLFNBQVM7QUFBUyxRQUFRO0V1QjRMSyxTWjRPbEIsT1k1T2tCOztBdkI1TC9CLFNBQVM7RXVCNkx1QixTWmRsQixPWWNrQjs7QXZCN0xoQyxTQUFTO0V1QjhMdUIsU1owR2xCLE9ZMUdrQjs7QXZCOUxoQyxPQUFPO0FBQVMsWUFBWTtFdUJnTU8sU1o2WGxCLE9ZN1hrQjs7QXZCaE1uQyxRQUFRO0FBQVMsV0FBVztFdUJrTU0sU1oyRmxCLE9ZM0ZrQjs7QXZCbE1sQyxhQUFhO0V1Qm1NdUIsU1o2U2xCLE9ZN1NrQjs7QXZCbk1wQyxRQUFRO0FBQVMsWUFBWTtFdUJxTU0sU1pxR2xCLE9ZckdrQjs7QXZCck1uQyxVQUFVO0V1QnNNdUIsU1pnYmxCLE9ZaGJrQjs7QXZCdE1qQyxXQUFXO0FBQVMsV0FBVztBQUFTLFFBQVE7RXVCeU1qQixTWmxJbEIsT1lrSWtCOztBdkJ6TS9CLFdBQVc7RXVCME11QixTWnNPbEIsT1l0T2tCOztBdkIxTWxDLFdBQVc7RXVCMk11QixTWm9PbEIsT1lwT2tCOztBdkIzTWxDLGlCQUFpQjtFdUI0TXVCLFNaK2JsQixPWS9ia0I7O0F2QjVNeEMsYUFBYTtFdUI2TXVCLFNaMmdCbEIsT1kzZ0JrQjs7QXZCN01wQyxTQUFTO0V1QjhNdUIsU1p1Y2xCLE9ZdmNrQjs7QXZCOU1oQyxTQUFTO0V1QitNdUIsU1p5T2xCLE9Zek9rQjs7QXZCL01oQyxTQUFTO0V1QmdOdUIsU1o2ZmxCLE9ZN2ZrQjs7QXZCaE5oQyxhQUFhO0V1QmlOdUIsU1ptVGxCLE9ZblRrQjs7QXZCak5wQyxvQkFBb0I7RXVCa051QixTWm9UbEIsT1lwVGtCOztBdkJsTjNDLHNCQUFzQjtFdUJtTnVCLFNaZ0lsQixPWWhJa0I7O0F2Qm5ON0MsZUFBZTtFdUJvTnVCLFNaNEhsQixPWTVIa0I7O0F2QnBOdEMsU0FBUztFdUJxTnVCLFNacVFsQixPWXJRa0I7O0F2QnJOaEMsY0FBYztFdUJzTnVCLFNacEZsQixPWW9Ga0I7O0F2QnROckMsWUFBWTtFdUJ1TnVCLFNaOUVsQixPWThFa0I7O0F2QnZObkMsY0FBYztFdUJ3TnVCLFNackZsQixPWXFGa0I7O0F2QnhOckMsZUFBZTtFdUJ5TnVCLFNackZsQixPWXFGa0I7O0F2QnpOdEMsV0FBVztFdUIwTnVCLFNaaENsQixPWWdDa0I7O0F2QjFObEMsWUFBWTtBQUFTLFFBQVE7RXVCNE5FLFNaMFlsQixPWTFZa0I7O0F2QjVOL0IsYUFBYTtBQUFTLGFBQWE7RXVCOE5DLFNaOFlsQixPWTlZa0I7O0F2QjlOcEMsV0FBVztBQUFTLFlBQVk7RXVCZ09HLFNaMllsQixPWTNZa0I7O0F2QmhPbkMsWUFBWTtFdUJpT3VCLFNaVWxCLE9ZVmtCOztBdkJqT25DLFlBQVk7RXVCa091QixTWnVNbEIsT1l2TWtCOztBdkJsT25DLGVBQWU7QUFBUyxRQUFRO0V1Qm9PRCxTWnFmbEIsT1lyZmtCOztBdkJwTy9CLFNBQVM7QUFBUyxTQUFTO0V1QnNPSyxTWm9GbEIsT1lwRmtCOztBdkJ0T2hDLGFBQWE7QUFBUyxjQUFjO0V1QndPQyxTWithbEIsT1kvYWtCOztBdkJ4T3JDLGFBQWE7RXVCeU91QixTWjdDbEIsT1k2Q2tCOztBdkJ6T3BDLGNBQWM7RXVCME91QixTWjFDbEIsT1kwQ2tCOztBdkIxT3JDLFNBQVM7QUFBUyxRQUFRO0V1QjRPSyxTWnBJbEIsT1lvSWtCOztBdkI1Ty9CLFdBQVc7RXVCNk91QixTWjZXbEIsT1k3V2tCOztBdkI3T2xDLFlBQVk7RXVCOE91QixTWnllbEIsT1l6ZWtCOztBdkI5T25DLFNBQVM7QUFBUyxhQUFhO0V1QmdQSyxTWnJFbEIsT1lxRWtCOztBdkJoUHBDLGVBQWU7RXVCaVB1QixTWnFMbEIsT1lyTGtCOztBdkJqUHRDLFlBQVk7RXVCa1B1QixTWkdsQixPWUhrQjs7QXZCbFBuQyxrQkFBa0I7RXVCbVB1QixTWm5FbEIsT1ltRWtCOztBdkJuUHpDLGdCQUFnQjtFdUJvUHVCLFNabkVsQixPWW1Fa0I7O0F2QnBQdkMsV0FBVztFdUJxUHVCLFNaaWZsQixPWWpma0I7O0F2QnJQbEMsZUFBZTtFdUJzUHVCLFNaOFlsQixPWTlZa0I7O0F2QnRQdEMsWUFBWTtFdUJ1UHVCLFNaeVpsQixPWXpaa0I7O0F2QnZQbkMsVUFBVTtFdUJ3UHVCLFNaOUpsQixPWThKa0I7O0F2QnhQakMsVUFBVTtFdUJ5UHVCLFNabEVsQixPWWtFa0I7O0F2QnpQakMsV0FBVztFdUIwUHVCLFNaMUNsQixPWTBDa0I7O0F2QjFQbEMsZUFBZTtFdUIyUHVCLFNaOEJsQixPWTlCa0I7O0F2QjNQdEMsY0FBYztFdUI0UHVCLFNaMUlsQixPWTBJa0I7O0F2QjVQckMsY0FBYztFdUI2UHVCLFNac0hsQixPWXRIa0I7O0F2QjdQckMsYUFBYTtFdUI4UHVCLFNack9sQixPWXFPa0I7O0F2QjlQcEMsVUFBVTtFdUIrUHVCLFNaNE1sQixPWTVNa0I7O0F2Qi9QakMsZUFBZTtFdUJnUXVCLFNaVWxCLE9ZVmtCOztBdkJoUXRDLFFBQVE7RXVCaVF1QixTWjNLbEIsT1kyS2tCOztBdkJqUS9CLFlBQVk7RXVCa1F1QixTWnVGbEIsT1l2RmtCOztBdkJsUW5DLGVBQWU7RXVCbVF1QixTWjJRbEIsT1kzUWtCOztBdkJuUXRDLHFCQUFxQjtFdUJvUXVCLFNack9sQixPWXFPa0I7O0F2QnBRNUMsc0JBQXNCO0V1QnFRdUIsU1pyT2xCLE9ZcU9rQjs7QXZCclE3QyxtQkFBbUI7RXVCc1F1QixTWnJPbEIsT1lxT2tCOztBdkJ0UTFDLHFCQUFxQjtFdUJ1UXVCLFNaek9sQixPWXlPa0I7O0F2QnZRNUMsY0FBYztFdUJ3UXVCLFNack9sQixPWXFPa0I7O0F2QnhRckMsZUFBZTtFdUJ5UXVCLFNack9sQixPWXFPa0I7O0F2QnpRdEMsWUFBWTtFdUIwUXVCLFNack9sQixPWXFPa0I7O0F2QjFRbkMsY0FBYztFdUIyUXVCLFNaek9sQixPWXlPa0I7O0F2QjNRckMsV0FBVztFdUI0UXVCLFNacERsQixPWW9Ea0I7O0F2QjVRbEMsVUFBVTtFdUI2UXVCLFNaNElsQixPWTVJa0I7O0F2QjdRakMsVUFBVTtFdUI4UXVCLFNad1lsQixPWXhZa0I7O0F2QjlRakMsZ0JBQWdCO0FBQVMsVUFBVTtFdUJnUkYsU1p1TWxCLE9Zdk1rQjs7QXZCaFJqQyxZQUFZO0V1QmlSdUIsU1p6R2xCLE9ZeUdrQjs7QXZCalJuQyxjQUFjO0V1QmtSdUIsU1p5UWxCLE9ZelFrQjs7QXZCbFJyQyxlQUFlO0V1Qm1SdUIsU1p5UWxCLE9ZelFrQjs7QXZCblJ0QyxXQUFXO0V1Qm9SdUIsU1orVmxCLE9ZL1ZrQjs7QXZCcFJsQyxVQUFVO0V1QnFSdUIsU1o5R2xCLE9ZOEdrQjs7QXZCclJqQyxjQUFjO0FBQVMsU0FBUztFdUJ1UkEsU1pvUmxCLE9ZcFJrQjs7QXZCdlJoQyxjQUFjO0V1QndSdUIsU1orQ2xCLE9ZL0NrQjs7QXZCeFJyQyxZQUFZO0V1QnlSdUIsU1ptQmxCLE9ZbkJrQjs7QXZCelJuQyxpQkFBaUI7RXVCMFJ1QixTWm9CbEIsT1lwQmtCOztBdkIxUnhDLFdBQVc7RXVCMlJ1QixTWnFVbEIsT1lyVWtCOztBdkIzUmxDLFdBQVc7RXVCNFJ1QixTWjJCbEIsT1kzQmtCOztBdkI1UmxDLFNBQVM7RXVCNlJ1QixTWmdMbEIsT1loTGtCOztBdkI3UmhDLFdBQVc7RXVCOFJ1QixTWjJCbEIsT1kzQmtCOztBdkI5UmxDLGNBQWM7RXVCK1J1QixTWnVIbEIsT1l2SGtCOztBdkIvUnJDLFVBQVU7RXVCZ1N1QixTWk1sQixPWU5rQjs7QXZCaFNqQyxrQkFBa0I7RXVCaVN1QixTWklsQixPWUprQjs7QXZCalN6QyxZQUFZO0V1QmtTdUIsU1o2WGxCLE9ZN1hrQjs7QXZCbFNuQyxRQUFRO0V1Qm1TdUIsU1poSGxCLE9ZZ0hrQjs7QXZCblMvQixrQkFBa0I7QUFBUyxhQUFhO0V1QnFTSixTWnVRbEIsT1l2UWtCOztBdkJyU3BDLG1CQUFtQjtBQUFTLGtCQUFrQjtBQUFTLGVBQWU7RXVCd1NoQyxTWnNWbEIsT1l0VmtCOztBdkJ4U3RDLGtCQUFrQjtFdUJ5U3VCLFNad0lsQixPWXhJa0I7O0F2QnpTekMsUUFBUTtFdUIwU3VCLFNaaEdsQixPWWdHa0I7O0F2QjFTL0IsYUFBYTtFdUIyU3VCLFNadkhsQixPWXVIa0I7O0F2QjNTcEMsVUFBVTtBQUFTLGdCQUFnQjtFdUI2U0ksU1p0SmxCLE9Zc0prQjs7QXZCN1N2QyxZQUFZO0V1QjhTdUIsU1p5T2xCLE9Zek9rQjs7QXZCOVNuQyxRQUFRO0V1QitTdUIsU1owRmxCLE9ZMUZrQjs7QXZCL1MvQixlQUFlO0V1QmdUdUIsU1oxRGxCLE9ZMERrQjs7QXZCaFR0QyxlQUFlO0V1QmlUdUIsU1prV2xCLE9ZbFdrQjs7QXZCalR0QyxhQUFhO0V1QmtUdUIsU1o0VmxCLE9ZNVZrQjs7QXZCbFRwQyxVQUFVO0V1Qm1UdUIsU1psRWxCLE9Za0VrQjs7QXZCblRqQyxnQkFBZ0I7RXVCb1R1QixTWmdPbEIsT1loT2tCOztBdkJwVHZDLGNBQWM7RXVCcVR1QixTWjJKbEIsT1kzSmtCOztBdkJyVHJDLG9CQUFvQjtFdUJzVHVCLFNaMkpsQixPWTNKa0I7O0F2QnRUM0MsVUFBVTtFdUJ1VHVCLFNac1JsQixPWXRSa0I7O0F2QnZUakMsY0FBYztFdUJ3VHVCLFNaNUxsQixPWTRMa0I7O0F2QnhUckMscUJBQXFCO0V1QnlUdUIsU1p4QmxCLE9Zd0JrQjs7QXZCelQ1QyxVQUFVO0V1QjBUdUIsU1p1UGxCLE9ZdlBrQjs7QXZCMVRqQyxVQUFVO0V1QjJUdUIsU1o2SWxCLE9ZN0lrQjs7QXZCM1RqQyx1QkFBdUI7RXVCNFR1QixTWjlKbEIsT1k4SmtCOztBdkI1VDlDLHdCQUF3QjtFdUI2VHVCLFNaOUpsQixPWThKa0I7O0F2QjdUL0MscUJBQXFCO0V1QjhUdUIsU1o5SmxCLE9ZOEprQjs7QXZCOVQ1Qyx1QkFBdUI7RXVCK1R1QixTWmxLbEIsT1lrS2tCOztBdkIvVDlDLFNBQVM7RXVCZ1V1QixTWjhEbEIsT1k5RGtCOztBdkJoVWhDLFFBQVE7RXVCaVV1QixTWnJIbEIsT1lxSGtCOztBdkJqVS9CLFVBQVU7RXVCa1V1QixTWnZTbEIsT1l1U2tCOztBdkJsVWpDLGNBQWM7RXVCbVV1QixTWjJabEIsT1kzWmtCOztBdkJuVXJDLFlBQVk7RXVCb1V1QixTWmhObEIsT1lnTmtCOztBdkJwVW5DLGNBQWM7RXVCcVV1QixTWjdGbEIsT1k2RmtCOztBdkJyVXJDLGNBQWM7RXVCc1V1QixTWjdGbEIsT1k2RmtCOztBdkJ0VXJDLGNBQWM7RXVCdVV1QixTWitPbEIsT1kvT2tCOztBdkJ2VXJDLGVBQWU7RXVCd1V1QixTWmlNbEIsT1lqTWtCOztBdkJ4VXRDLFVBQVU7RXVCeVV1QixTWjZXbEIsT1k3V2tCOztBdkJ6VWpDLGdCQUFnQjtFdUIwVXVCLFNaMElsQixPWTFJa0I7O0F2QjFVdkMsa0JBQWtCO0V1QjJVdUIsU1owSWxCLE9ZMUlrQjs7QXZCM1V6QyxZQUFZO0V1QjRVdUIsU1pxRmxCLE9ZckZrQjs7QXZCNVVuQyxjQUFjO0V1QjZVdUIsU1ptRmxCLE9ZbkZrQjs7QXZCN1VyQyxnQkFBZ0I7RXVCOFV1QixTWm5MbEIsT1ltTGtCOztBdkI5VXZDLGlCQUFpQjtFdUIrVXVCLFNaMEtsQixPWTFLa0I7O0F2Qi9VeEMsd0JBQXdCO0V1QmdWdUIsU1pwRmxCLE9Zb0ZrQjs7QXZCaFYvQyxnQkFBZ0I7RXVCaVZ1QixTWndQbEIsT1l4UGtCOztBdkJqVnZDLFdBQVc7RXVCa1Z1QixTWmpKbEIsT1lpSmtCOztBdkJsVmxDLGVBQWU7QUFBUyx1QkFBdUI7RXVCb1ZELFNaL01sQixPWStNa0I7O0F2QnBWOUMsYUFBYTtBQUFTLHFCQUFxQjtFdUJzVkMsU1o5TWxCLE9ZOE1rQjs7QXZCdFY1QyxnQkFBZ0I7QUFBUyx3QkFBd0I7RXVCd1ZGLFNaak5sQixPWWlOa0I7O0F2QnhWL0MsUUFBUTtBQUFTLE9BQU87RXVCMFZNLFNadkdsQixPWXVHa0I7O0F2QjFWOUIsT0FBTztFdUIyVnVCLFNaaENsQixPWWdDa0I7O0F2QjNWOUIsVUFBVTtBQUFTLE9BQU87RXVCNlZJLFNacVlsQixPWXJZa0I7O0F2QjdWOUIsU0FBUztBQUFTLE9BQU87RXVCK1ZLLFNaNENsQixPWTVDa0I7O0F2Qi9WOUIsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0FBQVMsT0FBTztFdUJtV3pCLFNaZ0RsQixPWWhEa0I7O0F2Qm5XOUIsU0FBUztBQUFTLFVBQVU7QUFBUyxPQUFPO0V1QnNXZCxTWmlObEIsT1lqTmtCOztBdkJ0VzlCLE9BQU87QUFBUyxPQUFPO0V1QndXTyxTWitDbEIsT1kvQ2tCOztBdkJ4VzlCLFdBQVc7QUFBUyxPQUFPO0V1QjBXRyxTWjNQbEIsT1kyUGtCOztBdkIxVzlCLFFBQVE7RXVCMld1QixTWmhHbEIsT1lnR2tCOztBdkIzVy9CLGFBQWE7RXVCNFd1QixTWnBGbEIsT1lvRmtCOztBdkI1V3BDLGtCQUFrQjtFdUI2V3VCLFNaMFBsQixPWTFQa0I7O0F2QjdXekMsbUJBQW1CO0V1QjhXdUIsU1owUGxCLE9ZMVBrQjs7QXZCOVcxQyxtQkFBbUI7RXVCK1d1QixTWjBQbEIsT1kxUGtCOztBdkIvVzFDLG9CQUFvQjtFdUJnWHVCLFNaMFBsQixPWTFQa0I7O0F2QmhYM0Msb0JBQW9CO0V1QmlYdUIsU1o2UGxCLE9ZN1BrQjs7QXZCalgzQyxxQkFBcUI7RXVCa1h1QixTWjZQbEIsT1k3UGtCOztBdkJsWDVDLGFBQWE7RXVCbVh1QixTWmtVbEIsT1lsVWtCOztBdkJuWHBDLGVBQWU7RXVCb1h1QixTWjhUbEIsT1k5VGtCOztBdkJwWHRDLGtCQUFrQjtFdUJxWHVCLFNaeWFsQixPWXpha0I7O0F2QnJYekMsV0FBVztFdUJzWHVCLFNac2FsQixPWXRha0I7O0F2QnRYbEMsUUFBUTtFdUJ1WHVCLFNaMlpsQixPWTNaa0I7O0F2QnZYL0IsZUFBZTtFdUJ3WHVCLFNaMlpsQixPWTNaa0I7O0F2QnhYdEMsZ0JBQWdCO0V1QnlYdUIsU1pvYWxCLE9ZcGFrQjs7QXZCelh2QyxXQUFXO0V1QjBYdUIsU1p4SmxCLE9Zd0prQjs7QXZCMVhsQyxrQkFBa0I7RXVCMlh1QixTWjhQbEIsT1k5UGtCOztBdkIzWHpDLGFBQWE7RXVCNFh1QixTWmdCbEIsT1loQmtCOztBdkI1WHBDLFVBQVU7RXVCNlh1QixTWnBGbEIsT1lvRmtCOztBdkI3WGpDLE9BQU87RXVCOFh1QixTWjNXbEIsT1kyV2tCOztBdkI5WDlCLGFBQWE7RXVCK1h1QixTWi9SbEIsT1krUmtCOztBdkIvWHBDLG9CQUFvQjtFdUJnWXVCLFNaL1JsQixPWStSa0I7O0F2QmhZM0MsVUFBVTtFdUJpWXVCLFNaK1VsQixPWS9Va0I7O0F2QmpZakMsaUJBQWlCO0V1QmtZdUIsU1orVWxCLE9ZL1VrQjs7QXZCbFl4QyxtQkFBbUI7RXVCbVl1QixTWmdEbEIsT1loRGtCOztBdkJuWTFDLGlCQUFpQjtFdUJvWXVCLFNaa0RsQixPWWxEa0I7O0F2QnBZeEMsbUJBQW1CO0V1QnFZdUIsU1orQ2xCLE9ZL0NrQjs7QXZCclkxQyxvQkFBb0I7RXVCc1l1QixTWitDbEIsT1kvQ2tCOztBdkJ0WTNDLFNBQVM7RXVCdVl1QixTWmpXbEIsT1lpV2tCOztBdkJ2WWhDLFdBQVc7RXVCd1l1QixTWm1ZbEIsT1luWWtCOztBdkJ4WWxDLFdBQVc7RXVCeVl1QixTWjdXbEIsT1k2V2tCOztBdkJ6WWxDLFNBQVM7RXVCMFl1QixTWmtDbEIsT1lsQ2tCOztBdkIxWWhDLFlBQVk7RXVCMll1QixTWjVLbEIsT1k0S2tCOztBdkIzWW5DLFNBQVM7RXVCNFl1QixTWmdObEIsT1loTmtCOztBdkI1WWhDLGNBQWM7RXVCNll1QixTWnhGbEIsT1l3RmtCOztBdkI3WXJDLFVBQVU7RXVCOFl1QixTWjRUbEIsT1k1VGtCOztBdkI5WWpDLFVBQVU7RXVCK1l1QixTWnRJbEIsT1lzSWtCOztBdkIvWWpDLFFBQVE7RXVCZ1p1QixTWjZDbEIsT1k3Q2tCOztBdkJoWi9CLFVBQVU7QUFBUyxZQUFZO0V1QmtaSSxTWjVEbEIsT1k0RGtCOztBdkJsWm5DLFNBQVM7RXVCbVp1QixTWjhQbEIsT1k5UGtCOztBdkJuWmhDLFVBQVU7RXVCb1p1QixTWnVFbEIsT1l2RWtCOztBdkJwWmpDLFdBQVc7RXVCcVp1QixTWjlXbEIsT1k4V2tCOztBdkJyWmxDLE9BQU87RXVCc1p1QixTWnRTbEIsT1lzU2tCOztBdkJ0WjlCLE1BQU07RXVCdVp1QixTWmlXbEIsT1lqV2tCOztBdkJ2WjdCLFNBQVM7RXVCd1p1QixTWnVXbEIsT1l2V2tCOztBdkJ4WmhDLFVBQVU7RXVCeVp1QixTWitJbEIsT1kvSWtCOztBdkJ6WmpDLGFBQWE7RXVCMFp1QixTWmtGbEIsT1lsRmtCOztBdkIxWnBDLGtCQUFrQjtFdUIyWnVCLFNaNk5sQixPWTdOa0I7O0F2QjNaekMsd0JBQXdCO0V1QjRadUIsU1ovV2xCLE9ZK1drQjs7QXZCNVovQyx1QkFBdUI7RXVCNlp1QixTWmpYbEIsT1lpWGtCOztBdkI3WjlDLGVBQWU7QUFBUyx1QkFBdUI7RXVCK1pELFNaelJsQixPWXlSa0I7O0F2Qi9aOUMsZ0JBQWdCO0V1QmdhdUIsU1puTWxCLE9ZbU1rQjs7QXZCaGF2QyxjQUFjO0V1QmlhdUIsU1ppV2xCLE9ZaldrQjs7QXZCamFyQyxnQkFBZ0I7RXVCa2F1QixTWm9WbEIsT1lwVmtCOztBdkJsYXZDLGdCQUFnQjtBQUFTLE9BQU87RXVCb2FGLFNaMFNsQixPWTFTa0I7O0F2QnBhOUIsaUJBQWlCO0V1QnFhdUIsU1owR2xCLE9ZMUdrQjs7QXZCcmF4QyxpQkFBaUI7RXVCc2F1QixTWjRNbEIsT1k1TWtCOztBdkJ0YXhDLFNBQVM7RXVCdWF1QixTWnNMbEIsT1l0TGtCOztBdkJ2YWhDLG1CQUFtQjtFdUJ3YXVCLFNaekxsQixPWXlMa0I7O0F2QnhhMUMsYUFBYTtFdUJ5YXVCLFNab1dsQixPWXBXa0I7O0F2QnphcEMsVUFBVTtFdUIwYXVCLFNaOERsQixPWTlEa0I7O0F2QjFhakMsZUFBZTtBQUFTLFFBQVE7QUFBUyxjQUFjO0V1QjZhbEIsU1o4U2xCLE9ZOVNrQjs7QXZCN2FyQyxnQkFBZ0I7QUFBUyxrQkFBa0I7RXVCK2FGLFNaMUZsQixPWTBGa0I7O0F2Qi9hekMsU0FBUztFdUJnYnVCLFNac1dsQixPWXRXa0I7O0F2QmhiaEMsVUFBVTtFdUJpYnVCLFNabEdsQixPWWtHa0I7O0F2QmpiakMsVUFBVTtFdUJrYnVCLFNaZ0hsQixPWWhIa0I7O0F2QmxiakMsaUJBQWlCO0V1Qm1idUIsU1ppSGxCLE9ZakhrQjs7QXZCbmJ4QyxzQkFBc0I7RXVCb2J1QixTWnlObEIsT1l6TmtCOztBdkJwYjdDLGVBQWU7RXVCcWJ1QixTWnVObEIsT1l2TmtCOztBdkJyYnRDLGFBQWE7RXVCc2J1QixTWi9ObEIsT1krTmtCOztBdkJ0YnBDLFFBQVE7RXVCdWJ1QixTWjVObEIsT1k0TmtCOztBdkJ2Yi9CLGlCQUFpQjtFdUJ3YnVCLFNaMkVsQixPWTNFa0I7O0F2QnhieEMsa0JBQWtCO0V1QnlidUIsU1p5RWxCLE9ZekVrQjs7QXZCemJ6QyxVQUFVO0V1QjBidUIsU1p2TmxCLE9ZdU5rQjs7QXZCMWJqQyxVQUFVO0V1QjJidUIsU1p6Q2xCLE9ZeUNrQjs7QXZCM2JqQyxZQUFZO0V1QjRidUIsU1pwQ2xCLE9Zb0NrQjs7QXZCNWJuQyxPQUFPO0V1QjZidUIsU1p0TGxCLE9Zc0xrQjs7QXZCN2I5QixZQUFZO0V1QjhidUIsU1o3VWxCLE9ZNlVrQjs7QXZCOWJuQyxTQUFTO0V1QitidUIsU1oxUmxCLE9ZMFJrQjs7QXZCL2JoQyxPQUFPO0V1QmdjdUIsU1pzRGxCLE9ZdERrQjs7QXZCaGM5QixTQUFTO0V1QmljdUIsU1ptTGxCLE9ZbkxrQjs7QXZCamNoQyxRQUFRO0V1QmtjdUIsU1pyUGxCLE9ZcVBrQjs7QXZCbGMvQixTQUFTO0V1Qm1jdUIsU1pyUGxCLE9ZcVBrQjs7QXZCbmNoQyxXQUFXO0V1Qm9jdUIsU1o3V2xCLE9ZNldrQjs7QXZCcGNsQyxrQkFBa0I7RXVCcWN1QixTWjdXbEIsT1k2V2tCOztBdkJyY3pDLFNBQVM7RXVCc2N1QixTWjBMbEIsT1kxTGtCOztBdkJ0Y2hDLGdCQUFnQjtFdUJ1Y3VCLFNaMExsQixPWTFMa0I7O0F2QnZjdkMsV0FBVztFdUJ3Y3VCLFNaeUZsQixPWXpGa0I7O0F2QnhjbEMsY0FBYztBQUFTLE9BQU87RXVCMGNBLFNaelVsQixPWXlVa0I7O0F2QjFjOUIsT0FBTztBQUFTLFFBQVE7RXVCNGNPLFNaK01sQixPWS9Na0I7O0F2QjVjL0IsUUFBUTtFdUI2Y3VCLFNaNFBsQixPWTVQa0I7O0F2QjdjL0IsV0FBVztFdUI4Y3VCLFNadUtsQixPWXZLa0I7O0F2QjljbEMsY0FBYztFdUIrY3VCLFNadFBsQixPWXNQa0I7O0F2Qi9jckMsY0FBYztFdUJnZHVCLFNaaUtsQixPWWpLa0I7O0F2QmhkckMsWUFBWTtFdUJpZHVCLFNaOVBsQixPWThQa0I7O0F2QmpkbkMsY0FBYztFdUJrZHVCLFNaL0xsQixPWStMa0I7O0F2QmxkckMsZUFBZTtFdUJtZHVCLFNaeExsQixPWXdMa0I7O0F2Qm5kdEMsZ0JBQWdCO0V1Qm9kdUIsU1pyTWxCLE9ZcU1rQjs7QXZCcGR2QyxxQkFBcUI7RXVCcWR1QixTWi9MbEIsT1krTGtCOztBdkJyZDVDLGdCQUFnQjtBQUFTLGtCQUFrQjtBQUFTLGdCQUFnQjtFdUJ3ZDdCLFNaeE1sQixPWXdNa0I7O0F2QnhkdkMsY0FBYztBQUFTLGtCQUFrQjtFdUIwZEEsU1o5TWxCLE9ZOE1rQjs7QXZCMWR6QyxnQkFBZ0I7QUFBUyxnQkFBZ0I7RXVCNGRGLFNaL01sQixPWStNa0I7O0F2QjVkdkMsZ0JBQWdCO0FBQVMsZ0JBQWdCO0V1QjhkRixTWnBNbEIsT1lvTWtCOztBdkI5ZHZDLGVBQWU7RXVCK2R1QixTWmpObEIsT1lpTmtCOztBdkIvZHRDLFFBQVE7RXVCZ2V1QixTWnVSbEIsT1l2UmtCOztBdkJoZS9CLFdBQVc7RXVCaWV1QixTWjVTbEIsT1k0U2tCOztBdkJqZWxDLFlBQVk7RXVCa2V1QixTWjlFbEIsT1k4RWtCOztBdkJsZW5DLGFBQWE7QUFBUyxhQUFhO0FBQVMsY0FBYztBQUFTLFdBQVc7QUFBUyxhQUFhO0V1QnVlaEUsU1puRWxCLE9ZbUVrQjs7QXZCdmVwQyxrQkFBa0I7RXVCd2V1QixTWi9UbEIsT1krVGtCOztBdkJ4ZXpDLE1BQU07QUFBUyxjQUFjO0FBQVMsU0FBUztFdUIyZWYsU1pxRGxCLE9ZckRrQjs7QXZCM2VoQyxNQUFNO0FBQVMsVUFBVTtFdUI2ZVEsU1puUWxCLE9ZbVFrQjs7QXZCN2VqQyxjQUFjO0V1QjhldUIsU1p6S2xCLE9ZeUtrQjs7QXZCOWVyQyxPQUFPO0V1QitldUIsU1ozS2xCLE9ZMktrQjs7QXZCL2U5Qix1QkFBdUI7QUFBUyxhQUFhO0FBQVMsZUFBZTtFdUJrZi9CLFNaeEpsQixPWXdKa0I7O0F2QmxmdEMsaUJBQWlCO0V1Qm1mdUIsU1oyS2xCLE9ZM0trQjs7QXZCbmZ4QyxNQUFNO0V1Qm9mdUIsU1ppQ2xCLE9ZakNrQjs7QXZCcGY3QixVQUFVO0FBQVMsVUFBVTtFdUJzZkksU1owUWxCLE9ZMVFrQjs7QXZCdGZqQyxRQUFRO0FBQVMsZUFBZTtFdUJ3Zk0sU1pWbEIsT1lVa0I7O0F2QnhmdEMsVUFBVTtBQUFTLGlCQUFpQjtFdUIwZkksU1pYbEIsT1lXa0I7O0F2QjFmeEMsV0FBVztFdUIyZnVCLFNaMUlsQixPWTBJa0I7O0F2QjNmbEMsZUFBZTtFdUI0ZnVCLFNabFZsQixPWWtWa0I7O0F2QjVmdEMsVUFBVTtFdUI2ZnVCLFNaakpsQixPWWlKa0I7O0F2QjdmakMsYUFBYTtFdUI4ZnVCLFNaYmxCLE9ZYWtCOztBdkI5ZnBDLFdBQVc7RXVCK2Z1QixTWitGbEIsT1kvRmtCOztBdkIvZmxDLGFBQWE7RXVCZ2dCdUIsU1p1RWxCLE9ZdkVrQjs7QXZCaGdCcEMsb0JBQW9CO0V1QmlnQnVCLFNadUVsQixPWXZFa0I7O0F2QmpnQjNDLFFBQVE7RXVCa2dCdUIsU1p6WmxCLE9ZeVprQjs7QXZCbGdCL0IsaUJBQWlCO0FBQVMsWUFBWTtFdUJvZ0JILFNaNU1sQixPWTRNa0I7O0F2QnBnQm5DLE9BQU87RXVCcWdCdUIsU1owTWxCLE9ZMU1rQjs7QXZCcmdCOUIsY0FBYztFdUJzZ0J1QixTWnhhbEIsT1l3YWtCOztBdkJ0Z0JyQyxRQUFRO0V1QnVnQnVCLFNaSWxCLE9ZSmtCOztBdkJ2Z0IvQixjQUFjO0V1QndnQnVCLFNadUZsQixPWXZGa0I7O0F2QnhnQnJDLFVBQVU7RXVCeWdCdUIsU1oyTWxCLE9ZM01rQjs7QXZCemdCakMsUUFBUTtFdUIwZ0J1QixTWitRbEIsT1kvUWtCOztBdkIxZ0IvQixlQUFlO0V1QjJnQnVCLFNaekNsQixPWXlDa0I7O0F2QjNnQnRDLFFBQVE7RXVCNGdCdUIsU1p3UGxCLE9ZeFBrQjs7QXZCNWdCL0IsY0FBYztFdUI2Z0J1QixTWnJabEIsT1lxWmtCOztBdkI3Z0JyQyxVQUFVO0V1QjhnQnVCLFNadkJsQixPWXVCa0I7O0F2QjlnQmpDLGlCQUFpQjtFdUIrZ0J1QixTWjNMbEIsT1kyTGtCOztBdkIvZ0J4QyxXQUFXO0V1QmdoQnVCLFNaNVhsQixPWTRYa0I7O0F2QmhoQmxDLGlCQUFpQjtFdUJpaEJ1QixTWmhZbEIsT1lnWWtCOztBdkJqaEJ4QyxlQUFlO0V1QmtoQnVCLFNabllsQixPWW1Za0I7O0F2QmxoQnRDLFdBQVc7RXVCbWhCdUIsU1p0WWxCLE9Zc1lrQjs7QXZCbmhCbEMsYUFBYTtFdUJvaEJ1QixTWmxZbEIsT1lrWWtCOztBdkJwaEJwQyxhQUFhO0V1QnFoQnVCLFNabFlsQixPWWtZa0I7O0F2QnJoQnBDLGNBQWM7RXVCc2hCdUIsU1ozYmxCLE9ZMmJrQjs7QXZCdGhCckMsZ0JBQWdCO0V1QnVoQnVCLFNaM2JsQixPWTJia0I7O0F2QnZoQnZDLFNBQVM7RXVCd2hCdUIsU1orS2xCLE9ZL0trQjs7QXZCeGhCaEMsYUFBYTtFdUJ5aEJ1QixTWm5WbEIsT1ltVmtCOztBdkJ6aEJwQyxNQUFNO0V1QjBoQnVCLFNaOWRsQixPWThka0I7O0F2QjFoQjdCLGNBQWM7RXVCMmhCdUIsU1o1UmxCLE9ZNFJrQjs7QXZCM2hCckMsZUFBZTtFdUI0aEJ1QixTWi9DbEIsT1krQ2tCOztBdkI1aEJ0QyxpQkFBaUI7RXVCNmhCdUIsU1o5YmxCLE9ZOGJrQjs7QXZCN2hCeEMsY0FBYztFdUI4aEJ1QixTWnRmbEIsT1lzZmtCOztBdkI5aEJyQyxhQUFhO0V1QitoQnVCLFNaL0JsQixPWStCa0I7O0F2Qi9oQnBDLGNBQWM7RXVCZ2lCdUIsU1p6SGxCLE9ZeUhrQjs7QXZCaGlCckMsVUFBVTtFdUJpaUJ1QixTWnZJbEIsT1l1SWtCOztBdkJqaUJqQyxpQkFBaUI7RXVCa2lCdUIsU1p2SWxCLE9ZdUlrQjs7QXZCbGlCeEMsY0FBYztFdUJtaUJ1QixTWjRKbEIsT1k1SmtCOztBdkJuaUJyQyxhQUFhO0V1Qm9pQnVCLFNaNEpsQixPWTVKa0I7O0F2QnBpQnBDLFdBQVc7RXVCcWlCdUIsU1p4Y2xCLE9Zd2NrQjs7QXZCcmlCbEMsT0FBTztFdUJzaUJ1QixTWmpibEIsT1lpYmtCOztBdkJ0aUI5QixXQUFXO0V1QnVpQnVCLFNadkpsQixPWXVKa0I7O0F2QnZpQmxDLGFBQWE7RXVCd2lCdUIsU1ozZ0JsQixPWTJnQmtCOztBdkJ4aUJwQyxNQUFNO0V1QnlpQnVCLFNaN1psQixPWTZaa0I7O0F2QnppQjdCLFVBQVU7QUFBUyxVQUFVO0FBQVMsT0FBTztFdUI0aUJmLFNaektsQixPWXlLa0I7O0F2QjVpQjlCLFlBQVk7RXVCNmlCdUIsU1pwR2xCLE9Zb0drQjs7QXZCN2lCbkMsY0FBYztFdUI4aUJ1QixTWnhibEIsT1l3YmtCOztBdkI5aUJyQyxrQkFBa0I7RXVCK2lCdUIsU1o1V2xCLE9ZNFdrQjs7QXZCL2lCekMsWUFBWTtFdUJnakJ1QixTWjlWbEIsT1k4VmtCOztBdkJoakJuQyxZQUFZO0V1QmlqQnVCLFNaOVBsQixPWThQa0I7O0F2QmpqQm5DLFdBQVc7RXVCa2pCdUIsU1pySmxCLE9ZcUprQjs7QXZCbGpCbEMsVUFBVTtFdUJtakJ1QixTWmVsQixPWWZrQjs7QXZCbmpCakMsZ0JBQWdCO0V1Qm9qQnVCLFNaMkJsQixPWTNCa0I7O0F2QnBqQnZDLGVBQWU7RXVCcWpCdUIsU1pvQ2xCLE9ZcENrQjs7QXZCcmpCdEMsWUFBWTtFdUJzakJ1QixTWnFDbEIsT1lyQ2tCOztBdkJ0akJuQyxhQUFhO0V1QnVqQnVCLFNaNWFsQixPWTRha0I7O0F2QnZqQnBDLG1CQUFtQjtFdUJ3akJ1QixTWjlhbEIsT1k4YWtCOztBdkJ4akIxQyxXQUFXO0V1QnlqQnVCLFNaL1ZsQixPWStWa0I7O0F2QnpqQmxDLFFBQVE7RXVCMGpCdUIsU1pvQmxCLE9ZcEJrQjs7QXZCMWpCL0IsZUFBZTtFdUIyakJ1QixTWjhLbEIsT1k5S2tCOztBdkIzakJ0QyxjQUFjO0V1QjRqQnVCLFNaL0ZsQixPWStGa0I7O0F2QjVqQnJDLGVBQWU7RXVCNmpCdUIsU1o2RWxCLE9ZN0VrQjs7QXZCN2pCdEMsYUFBYTtFdUI4akJ1QixTWjlNbEIsT1k4TWtCOztBdkI5akJwQyxTQUFTO0V1QitqQnVCLFNaK0tsQixPWS9La0I7O0F2Qi9qQmhDLFFBQVE7RXVCZ2tCdUIsU1o3SGxCLE9ZNkhrQjs7QXZCaGtCL0IsV0FBVztFdUJpa0J1QixTWm5IbEIsT1ltSGtCOztBdkJqa0JsQyxZQUFZO0FBQVMsZUFBZTtFdUJta0JFLFNaa0lsQixPWWxJa0I7O0F2Qm5rQnRDLG1CQUFtQjtFdUJva0J1QixTWmtJbEIsT1lsSWtCOztBdkJwa0IxQyxnQkFBZ0I7RXVCcWtCdUIsU1owS2xCLE9ZMUtrQjs7QXZCcmtCdkMsZUFBZTtFdUJza0J1QixTWmxJbEIsT1lrSWtCOztBdkJ0a0J0QyxjQUFjO0V1QnVrQnVCLFNaeUtsQixPWXpLa0I7O0F2QnZrQnJDLGVBQWU7RXVCd2tCdUIsU1puSWxCLE9ZbUlrQjs7QXZCeGtCdEMsaUJBQWlCO0V1QnlrQnVCLFNabElsQixPWWtJa0I7O0F2QnprQnhDLGlCQUFpQjtFdUIwa0J1QixTWnBJbEIsT1lvSWtCOztBdkIxa0J4QyxVQUFVO0V1QjJrQnVCLFNaMUdsQixPWTBHa0I7O0F2QjNrQmpDLGNBQWM7RXVCNGtCdUIsU1o3UWxCLE9ZNlFrQjs7QXZCNWtCckMscUJBQXFCO0V1QjZrQnVCLFNaMVVsQixPWTBVa0I7O0F2QjdrQjVDLGVBQWU7RXVCOGtCdUIsU1p6RWxCLE9ZeUVrQjs7QXZCOWtCdEMsWUFBWTtFdUIra0J1QixTWmtMbEIsT1lsTGtCOztBdkIva0JuQyxVQUFVO0V1QmdsQnVCLFNaWGxCLE9ZV2tCOztBdkJobEJqQyxhQUFhO0V1QmlsQnVCLFNadUpsQixPWXZKa0I7O0F2QmpsQnBDLGNBQWM7RXVCa2xCdUIsU1p3SmxCLE9ZeEprQjs7QXZCbGxCckMsU0FBUztBQUFTLE9BQU87RXVCb2xCSyxTWi9mbEIsT1krZmtCOztBdkJwbEI5QixXQUFXO0V1QnFsQnVCLFNaNEpsQixPWTVKa0I7O0F2QnJsQmxDLFNBQVM7RXVCc2xCdUIsU1o4R2xCLE9ZOUdrQjs7QXZCdGxCaEMsVUFBVTtFdUJ1bEJ1QixTWndEbEIsT1l4RGtCOztBdkJ2bEJqQyxVQUFVO0V1QndsQnVCLFNaOUlsQixPWThJa0I7O0F2QnhsQmpDLE1BQU07QUFBUyxnQkFBZ0I7RXVCMGxCUSxTWjBMbEIsT1kxTGtCOztBdkIxbEJ2QyxpQkFBaUI7RXVCMmxCdUIsU1pqSGxCLE9ZaUhrQjs7QXZCM2xCeEMsWUFBWTtFdUI0bEJ1QixTWnJIbEIsT1lxSGtCOztBdkI1bEJuQyxnQkFBZ0I7RXVCNmxCdUIsU1puV2xCLE9ZbVdrQjs7QXZCN2xCdkMsYUFBYTtBQUFTLFdBQVc7QUFBUyxnQkFBZ0I7RXVCZ21CbkIsU1ovZ0JsQixPWStnQmtCOztBdkJobUJ2QyxhQUFhO0FBQVMsMEJBQTBCO0V1QmttQkMsU1o5Z0JsQixPWThnQmtCOztBdkJsbUJqRCxhQUFhO0FBQVMsZ0JBQWdCO0V1Qm9tQkMsU1psaEJsQixPWWtoQmtCOztBdkJwbUJ2QyxhQUFhO0FBQVMsbUJBQW1CO0V1QnNtQkMsU1puaEJsQixPWW1oQmtCOztBdkJ0bUIxQyxhQUFhO0FBQVMsaUJBQWlCO0V1QndtQkMsU1p4aEJsQixPWXdoQmtCOztBdkJ4bUJ4QyxpQkFBaUI7RXVCeW1CdUIsU1ozSWxCLE9ZMklrQjs7QXZCem1CeEMsWUFBWTtFdUIwbUJ1QixTWjNPbEIsT1kyT2tCOztBdkIxbUJuQyxnQkFBZ0I7RXVCMm1CdUIsU1p4SWxCLE9Zd0lrQjs7QXZCM21CdkMsa0JBQWtCO0V1QjRtQnVCLFNaeElsQixPWXdJa0I7O0F2QjVtQnpDLGVBQWU7RXVCNm1CdUIsU1p3QmxCLE9ZeEJrQjs7QXZCN21CdEMsaUJBQWlCO0V1QjhtQnVCLFNad0JsQixPWXhCa0I7O0F2QjltQnhDLFVBQVU7RXVCK21CdUIsU1ovZGxCLE9ZK2RrQjs7QXZCL21CakMsa0JBQWtCO0V1QmduQnVCLFNabGVsQixPWWtla0I7O0F2QmhuQnpDLFNBQVM7RXVCaW5CdUIsU1pwY2xCLE9Zb2NrQjs7QXZCam5CaEMsaUJBQWlCO0V1QmtuQnVCLFNabGpCbEIsT1lrakJrQjs7QXZCbG5CeEMsZUFBZTtFdUJtbkJ1QixTWnhQbEIsT1l3UGtCOztBdkJubkJ0QyxlQUFlO0FBQVMsbUJBQW1CO0V1QnFuQkQsU1p6UGxCLE9ZeVBrQjs7QXZCcm5CMUMsZUFBZTtBQUFTLGtCQUFrQjtFdUJ1bkJELFNaN1BsQixPWTZQa0I7O0F2QnZuQnpDLGVBQWU7QUFBUyxpQkFBaUI7RXVCeW5CRCxTWmhRbEIsT1lnUWtCOztBdkJ6bkJ4QyxhQUFhO0V1QjBuQnVCLFNaclFsQixPWXFRa0I7O0F2QjFuQnBDLGVBQWU7QUFBUyxlQUFlO0V1QjRuQkQsU1p4UmxCLE9Zd1JrQjs7QXZCNW5CdEMsZUFBZTtBQUFTLGdCQUFnQjtFdUI4bkJELFNaN1JsQixPWTZSa0I7O0F2QjluQnZDLG1CQUFtQjtFdUIrbkJ1QixTWjFSbEIsT1kwUmtCOztBdkIvbkIxQyxpQkFBaUI7RXVCZ29CdUIsU1pwU2xCLE9Zb1NrQjs7QXZCaG9CeEMsZ0JBQWdCO0V1QmlvQnVCLFNaM1JsQixPWTJSa0I7O0F2QmpvQnZDLGtCQUFrQjtFdUJrb0J1QixTWi9SbEIsT1krUmtCOztBdkJsb0J6QyxnQkFBZ0I7RXVCbW9CdUIsU1pqU2xCLE9ZaVNrQjs7QXZCbm9CdkMsYUFBYTtFdUJvb0J1QixTWitEbEIsT1kvRGtCOztBdkJwb0JwQyxjQUFjO0V1QnFvQnVCLFNaL0ZsQixPWStGa0I7O0F2QnJvQnJDLG9CQUFvQjtFdUJzb0J1QixTWi9ibEIsT1krYmtCOztBdkJ0b0IzQyxNQUFNO0V1QnVvQnVCLFNadFVsQixPWXNVa0I7O0F2QnZvQjdCLGFBQWE7RXVCd29CdUIsU1p0VWxCLE9Zc1VrQjs7QXZCeG9CcEMsZUFBZTtFdUJ5b0J1QixTWmtFbEIsT1lsRWtCOztBdkJ6b0J0QyxpQkFBaUI7RXVCMG9CdUIsU1pyS2xCLE9ZcUtrQjs7QXZCMW9CeEMsd0JBQXdCO0V1QjJvQnVCLFNacktsQixPWXFLa0I7O0F2QjNvQi9DLGNBQWM7RXVCNG9CdUIsU1o1VWxCLE9ZNFVrQjs7QXZCNW9CckMsZUFBZTtFdUI2b0J1QixTWndIbEIsT1l4SGtCOztBdkI3b0J0QyxVQUFVO0V1QjhvQnVCLFNabkZsQixPWW1Ga0I7O0F2QjlvQmpDLFVBQVU7RXVCK29CdUIsU1p6ZWxCLE9ZeWVrQjs7QXZCL29CakMsV0FBVztFdUJncEJ1QixTWjlXbEIsT1k4V2tCOztBdkJocEJsQyxTQUFTO0V1QmlwQnVCLFNaeEtsQixPWXdLa0I7O0F2QmpwQmhDLHFCQUFxQjtFdUJrcEJ1QixTWnBRbEIsT1lvUWtCOztBdkJscEI1QyxNQUFNO0FBQVMsY0FBYztFdUJvcEJRLFNaU2xCLE9ZVGtCOztBdkJwcEJyQyxVQUFVO0V1QnFwQnVCLFNaamRsQixPWWlka0I7O0F2QnJwQmpDLFNBQVM7RXVCc3BCdUIsU1p6b0JsQixPWXlvQmtCOztBdkJ0cEJoQyxVQUFVO0V1QnVwQnVCLFNaL25CbEIsT1krbkJrQjs7QXZCdnBCakMsbUJBQW1CO0V1QndwQnVCLFNaM2hCbEIsT1kyaEJrQjs7QXZCeHBCMUMsb0JBQW9CO0V1QnlwQnVCLFNaOWhCbEIsT1k4aEJrQjs7QXZCenBCM0Msb0JBQW9CO0V1QjBwQnVCLFNaNWhCbEIsT1k0aEJrQjs7QXZCMXBCM0Msb0JBQW9CO0V1QjJwQnVCLFNaamlCbEIsT1lpaUJrQjs7QXZCM3BCM0MsWUFBWTtFdUI0cEJ1QixTWnBSbEIsT1lvUmtCOztBdkI1cEJuQyxXQUFXO0V1QjZwQnVCLFNaNU5sQixPWTROa0I7O0F2QjdwQmxDLGFBQWE7RXVCOHBCdUIsU1o1TmxCLE9ZNE5rQjs7QXZCOXBCcEMsU0FBUztFdUIrcEJ1QixTWi9ObEIsT1krTmtCOztBdkIvcEJoQyxPQUFPO0V1QmdxQnVCLFNabE9sQixPWWtPa0I7O0F2QmhxQjlCLGNBQWM7RXVCaXFCdUIsU1pwZWxCLE9Zb2VrQjs7QXZCanFCckMsZ0JBQWdCO0V1QmtxQnVCLFNacGVsQixPWW9la0I7O0F2QmxxQnZDLFNBQVM7RXVCbXFCdUIsU1p0U2xCLE9Zc1NrQjs7QXZCbnFCaEMsU0FBUztFdUJvcUJ1QixTWmlGbEIsT1lqRmtCOztBdkJwcUJoQyxhQUFhO0V1QnFxQnVCLFNabGtCbEIsT1lra0JrQjs7QXZCcnFCcEMsYUFBYTtFdUJzcUJ1QixTWnJYbEIsT1lxWGtCOztBdkJ0cUJwQyxnQkFBZ0I7RXVCdXFCdUIsU1pwSWxCLE9Zb0lrQjs7QXZCdnFCdkMsUUFBUTtFdUJ3cUJ1QixTWnBjbEIsT1lvY2tCOztBdkJ4cUIvQixtQkFBbUI7RXVCeXFCdUIsU1poZWxCLE9ZZ2VrQjs7QXZCenFCMUMsWUFBWTtFdUIwcUJ1QixTWnBmbEIsT1lvZmtCOztBdkIxcUJuQyxRQUFRO0V1QjJxQnVCLFNabE5sQixPWWtOa0I7O0F2QjNxQi9CLGdCQUFnQjtFdUI0cUJ1QixTWjFYbEIsT1kwWGtCOztBdkI1cUJ2QyxPQUFPO0V1QjZxQnVCLFNab0RsQixPWXBEa0I7O0F2QjdxQjlCLGdCQUFnQjtFdUI4cUJ1QixTWjNKbEIsT1kySmtCOztBdkI5cUJ2QyxZQUFZO0V1QitxQnVCLFNaek5sQixPWXlOa0I7O0F2Qi9xQm5DLFVBQVU7RXVCZ3JCdUIsU1psSGxCLE9Za0hrQjs7QXZCaHJCakMsZ0JBQWdCO0V1QmlyQnVCLFNaN0xsQixPWTZMa0I7O0F2QmpyQnZDLGtCQUFrQjtFdUJrckJ1QixTWjdMbEIsT1k2TGtCOztBdkJsckJ6QyxlQUFlO0V1Qm1yQnVCLFNaM0NsQixPWTJDa0I7O0F2Qm5yQnRDLGlCQUFpQjtFdUJvckJ1QixTWjNDbEIsT1kyQ2tCOztBdkJwckJ4QyxnQkFBZ0I7RXVCcXJCdUIsU1pyR2xCLE9ZcUdrQjs7QXZCcnJCdkMsbUJBQW1CO0V1QnNyQnVCLFNackdsQixPWXFHa0I7O0F2QnRyQjFDLFdBQVc7RXVCdXJCdUIsU1o3VWxCLE9ZNlVrQjs7QXZCdnJCbEMsYUFBYTtFdUJ3ckJ1QixTWm5sQmxCLE9ZbWxCa0I7O0F2QnhyQnBDLGVBQWU7RXVCeXJCdUIsU1pubEJsQixPWW1sQmtCOztBdkJ6ckJ0QyxXQUFXO0V1QjByQnVCLFNaL0xsQixPWStMa0I7O0F2QjFyQmxDLFVBQVU7RXVCMnJCdUIsU1psWGxCLE9Za1hrQjs7QXZCM3JCakMsY0FBYztFdUI0ckJ1QixTWmtGbEIsT1lsRmtCOztBdkI1ckJyQyxXQUFXO0V1QjZyQnVCLFNabUZsQixPWW5Ga0I7O0F2QjdyQmxDLFVBQVU7RXVCOHJCdUIsU1o5Y2xCLE9ZOGNrQjs7QXZCOXJCakMsb0JBQW9CO0V1QityQnVCLFNaMkJsQixPWTNCa0I7O0F2Qi9yQjNDLGtCQUFrQjtFdUJnc0J1QixTWm1FbEIsT1luRWtCOztBdkJoc0J6QyxxQkFBcUI7RXVCaXNCdUIsU1p4S2xCLE9Zd0trQjs7QXZCanNCNUMsU0FBUztFdUJrc0J1QixTWjlsQmxCLE9ZOGxCa0I7O0F2QmxzQmhDLHFCQUFxQjtFdUJtc0J1QixTWnRvQmxCLE9Zc29Ca0I7O0F2Qm5zQjVDLHdCQUF3QjtFdUJvc0J1QixTWnFEbEIsT1lyRGtCOztBdkJwc0IvQyxXQUFXO0V1QnFzQnVCLFNaeGxCbEIsT1l3bEJrQjs7QXZCcnNCbEMsK0JBQStCO0V1QnNzQnVCLFNaNW9CbEIsT1k0b0JrQjs7QXZCdHNCdEQsb0JBQW9CO0FBQVMsdUNBQXVDO0V1QndzQk4sU1o5cUJsQixPWThxQmtCOztBdkJ4c0I5RCxZQUFZO0FBQVMsbUJBQW1CO0FBQVMsUUFBUTtFdUIyc0IxQixTWnZmbEIsT1l1ZmtCOztBdkIzc0IvQixTQUFTO0V1QjRzQnVCLFNaaFlsQixPWWdZa0I7O0F2QjVzQmhDLFdBQVc7RXVCNnNCdUIsU1poWWxCLE9ZZ1lrQjs7QXZCN3NCbEMsV0FBVztBQUFTLGlCQUFpQjtFdUIrc0JHLFNaMUhsQixPWTBIa0I7O0F2Qi9zQnhDLGNBQWM7RXVCZ3RCdUIsU1p6UmxCLE9ZeVJrQjs7QXZCaHRCckMsVUFBVTtFdUJpdEJ1QixTWmlDbEIsT1lqQ2tCOztBdkJqdEJqQyxpQkFBaUI7RXVCa3RCdUIsU1ppQ2xCLE9ZakNrQjs7QXZCbHRCeEMsWUFBWTtFdUJtdEJ1QixTWmxIbEIsT1lrSGtCOztBdkJudEJuQyxrQkFBa0I7RXVCb3RCdUIsU1psSGxCLE9Za0hrQjs7QXZCcHRCekMsbUJBQW1CO0V1QnF0QnVCLFNabEhsQixPWWtIa0I7O0F2QnJ0QjFDLGNBQWM7RXVCc3RCdUIsU1pyTmxCLE9ZcU5rQjs7QXZCdHRCckMsZUFBZTtFdUJ1dEJ1QixTWnBibEIsT1lvYmtCOztBdkJ2dEJ0QyxTQUFTO0V1Qnd0QnVCLFNabUVsQixPWW5Fa0I7O0F2Qnh0QmhDLGFBQWE7RXVCeXRCdUIsU1pwRGxCLE9Zb0RrQjs7QXZCenRCcEMsc0JBQXNCO0FBQVMsd0JBQXdCO0V1QjJ0QlIsU1p6WWxCLE9ZeVlrQjs7QXZCM3RCL0MsTUFBTTtBQUFTLGdCQUFnQjtFdUI2dEJRLFNaN2FsQixPWTZha0I7O0F2Qjd0QnZDLGVBQWU7RXVCOHRCdUIsU1p0WGxCLE9Zc1hrQjs7QXZCOXRCdEMsaUJBQWlCO0V1Qit0QnVCLFNabGZsQixPWWtma0I7O0F2Qi90QnhDLG1CQUFtQjtFdUJndUJ1QixTWmxmbEIsT1lrZmtCOztBdkJodUIxQyxVQUFVO0V1Qml1QnVCLFNadFRsQixPWXNUa0I7O0F2Qmp1QmpDLGdCQUFnQjtFdUJrdUJ1QixTWnB0QmxCLE9Zb3RCa0I7O0F2Qmx1QnZDLGtCQUFrQjtFdUJtdUJ1QixTWnB0QmxCLE9Zb3RCa0I7O0F2Qm51QnpDLFNBQVM7QUFBUyxnQkFBZ0I7RXVCcXVCSyxTWnJ0QmxCLE9ZcXRCa0I7O0F2QnJ1QnZDLFdBQVc7QUFBUyxrQkFBa0I7RXVCdXVCRyxTWnR0QmxCLE9Zc3RCa0I7O0F2QnZ1QnpDLGVBQWU7RXVCd3VCdUIsU1pKbEIsT1lJa0I7O0F2Qnh1QnRDLGlCQUFpQjtFdUJ5dUJ1QixTWkpsQixPWUlrQjs7QXZCenVCeEMsVUFBVTtFdUIwdUJ1QixTWkhsQixPWUdrQjs7QXZCMXVCakMsWUFBWTtFdUIydUJ1QixTWjNXbEIsT1kyV2tCOztBdkIzdUJuQyxtQkFBbUI7QUFBUyxXQUFXO0V1QjZ1QkwsU1o1V2xCLE9ZNFdrQjs7QXZCN3VCbEMscUJBQXFCO0FBQVMsYUFBYTtFdUIrdUJQLFNaN1dsQixPWTZXa0I7O0F2Qi91QnBDLFNBQVM7RXVCZ3ZCdUIsU1p0TmxCLE9Zc05rQjs7QXZCaHZCaEMsa0JBQWtCO0V1Qml2QnVCLFNaM2JsQixPWTJia0I7O0F2Qmp2QnpDLFlBQVk7RXVCa3ZCdUIsU1p0RmxCLE9Zc0ZrQjs7QXZCbHZCbkMsaUJBQWlCO0FBQVMsZUFBZTtBQUFTLG9CQUFvQjtFdUJxdkIzQixTWnhFbEIsT1l3RWtCOztBdkJydkIzQyxpQkFBaUI7QUFBUyw4QkFBOEI7RXVCdXZCSCxTWnZFbEIsT1l1RWtCOztBdkJ2dkJyRCxpQkFBaUI7QUFBUyxvQkFBb0I7RXVCeXZCSCxTWjNFbEIsT1kyRWtCOztBdkJ6dkIzQyxpQkFBaUI7QUFBUyx1QkFBdUI7RXVCMnZCSCxTWjVFbEIsT1k0RWtCOztBdkIzdkI5QyxpQkFBaUI7QUFBUyxxQkFBcUI7RXVCNnZCSCxTWmpGbEIsT1lpRmtCOztBdkI3dkI1QyxVQUFVO0V1Qjh2QnVCLFNaM0tsQixPWTJLa0I7O0F2Qjl2QmpDLFdBQVc7QUFBUyxPQUFPO0FBQVMsUUFBUTtFdUJpd0JiLFNaenJCbEIsT1l5ckJrQjs7QXZCandCL0IsV0FBVztFdUJrd0J1QixTWmxQbEIsT1lrUGtCOztBdkJsd0JsQyxtQkFBbUI7RXVCbXdCdUIsU1pLbEIsT1lMa0I7O0F2Qm53QjFDLG1CQUFtQjtFdUJvd0J1QixTWktsQixPWUxrQjs7QXZCcHdCMUMsa0JBQWtCO0V1QnF3QnVCLFNaS2xCLE9ZTGtCOztBdkJyd0J6QyxtQkFBbUI7QUFBUyxnQkFBZ0I7RXVCdXdCTCxTWkRsQixPWUNrQjs7QXZCdndCdkMscUJBQXFCO0FBQVMsa0JBQWtCO0V1Qnl3QlAsU1pGbEIsT1lFa0I7O0F2Qnp3QnpDLFlBQVk7RXVCMHdCdUIsU1p4c0JsQixPWXdzQmtCOztBdkIxd0JuQyxRQUFRO0V1QjJ3QnVCLFNacGJsQixPWW9ia0I7O0F2QjN3Qi9CLFFBQVE7RXVCNHdCdUIsU1oxaEJsQixPWTBoQmtCOztBdkI1d0IvQixRQUFRO0V1QjZ3QnVCLFNaeFlsQixPWXdZa0I7O0F2Qjd3Qi9CLFdBQVc7RXVCOHdCdUIsU1ovT2xCLE9ZK09rQjs7QXZCOXdCbEMsV0FBVztFdUIrd0J1QixTWnppQmxCLE9ZeWlCa0I7O0F2Qi93QmxDLGFBQWE7RXVCZ3hCdUIsU1pqVWxCLE9Z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 */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico.min.css b/client/static/mosaico/rs/mosaico.min.css new file mode 100644 index 00000000..ce1b95e9 --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.css @@ -0,0 +1,8 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fontawesome/fontawesome-webfont.eot?v=4.7.0);src:url(fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0) format('embedded-opentype'),url(fontawesome/fontawesome-webfont.woff2?v=4.7.0) format('woff2'),url(fontawesome/fontawesome-webfont.woff?v=4.7.0) format('woff'),url(fontawesome/fontawesome-webfont.ttf?v=4.7.0) format('truetype'),url(fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format('svg')}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.mo{font-family:trebuchet ms,arial,sans-serif;font-size:13.6px;line-height:1.5em}#main-toolbox{line-height:normal}#main-toolbox .propEditor .propInput .checkbox-replacer{padding:4px 2px;font-size:1.2em}#main-toolbox .objLabel.level0,#main-toolbox .pane-title{font-size:1.2em}#main-toolbox .objLabel.level1{font-size:1.2em}#main-toolbox .noSelectedBlock,#main-toolbox .customStyleHelp,#main-toolbox .objEmpty,#main-toolbox .galleryEmpty{font-size:1.2em}#main-toolbox .propInput .data-select:after,#main-toolbox .propInput .evo-pointer:before{width:31px;padding:0 10px}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{width:30px;padding:0}#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon{margin:0}#main-toolbox .propInput .ui-spinner-button{width:30px}#main-toolbox .propInput .ui-spinner-button .ui-icon{left:6px;top:8px}#main-toolbox .evo-pop .evo-more{font-size:1em}#toolimages .img-dropzone{position:relative}#toolimages .img-dropzone.ui-state-highlight:before{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#toolimages .img-dropzone.ui-state-draghover:before{background-color:rgba(204,0,0,.8);-webkit-animation:none;animation:none}#toolimages .uploadzone{font-size:1.2em}.mo a,.mo a:link,.mo a:visited,.mo a:active,.mo #site-slogan{color:#9c010f;text-decoration:none}li .mo a,li .mo a:link,li .mo a:visited,li .mo a:active,li .mo #site-slogan{color:#9c010f}.mo a:hover{color:#370005}li .mo a:hover{color:#370005}.mo a.disabled,.mo a.disabled:link,.mo a.disabled:visited{color:#000}.mo b,.mo strong{font-weight:700}.mo i,.mo em{font-style:italic}.mo ul,.mo ol{margin:.5em 0;padding:0 0 0 1.5em}.mo ul li,.mo ol li{margin:.5em 0}.mo ul li a,.mo ol li a,.mo ul li a:active,.mo ol li a:active,.mo ul li a:link,.mo ol li a:link,.mo ul li a:visited,.mo ol li a:visited{white-space:nowrap}.mo p{margin:1em 0}.mo p .grey{color:#999998}.mo small{font-size:smaller}.mo big{font-size:larger}.mo h1{font-size:2em;margin:.5em 0}.mo h2,.mo h3.box_title{font-size:1.5em;margin:.5em 0}.mo h3{font-size:1.3em;margin:.5em 0}.mo dl{margin-bottom:1.5em}.mo dl dt{font-weight:700}.mo dl dd{margin-left:10px;font-style:italic}.mo hr{border:0;border-top:2px solid #f1e4d6;margin:1em 0}.mo blockquote{font-style:italic;border-left:2px solid #f1e4d6;padding:.5em}.mo code{display:inline-block;border-left:2px solid #f1e4d6;padding:.5em}.mo table{width:100%;border-collapse:collapse;border-spacing:0;margin:1.5em 0;border-bottom:2px solid #f1e4d6}.mo table tr.even,.mo table tr.odd{border:none;padding:0;background-color:transparent}.mo table th{padding:.5em .7em;font-weight:700;border-top:0 none;border-bottom:2px solid #f1e4d6;vertical-align:middle;background-color:#d2cbb1}.mo table td{padding:.1em .7em;height:3.3em;background-color:#fefdfc;border-top:0 none;vertical-align:middle}.mo table td.active{background-color:#fefdfc}.mo table>tr.even>td,.mo table>tbody>tr.even>td{background-color:#f1eee6}.mo table>tr.even>td.active,.mo table>tbody>tr.even>td.active{background-color:#f1eee6}.mo table tr:first-child th:first-child{border-top-left-radius:7px}.mo table tr:first-child th:last-child{border-top-right-radius:7px}.mo table .checkbox_cell{width:3em}.mo table tr.selected td,.mo table tr.selected td.active{background-color:#ffff90!important}.mo table tr.odd.selected td,.mo table tr.odd.selected td.active,.mo table tr:nth-child(odd).selected td,.mo table tr:nth-child(odd).selected td.active{background-color:#fffeb0!important}.mo .table-wrapper-scroll{width:100%;overflow-x:auto}.mo caption{color:#9c010f;font-weight:700;text-align:left;padding:.5em .7em}.mo div.showall{padding:0 .7em .5em;vertical-align:middle;clear:both}.mo ul.links{margin:0;padding:0}.mo ul.links.inline{display:inline}.mo ul.links li{display:inline;list-style-type:none;padding:0 .5em}.mo .small{font-size:80%}.mo .big{font-size:120%}.mo .clear-block{clear:both}.mo .margin-top{margin-top:.5em}.mo .overflow-hidden{overflow:hidden}.mo .quarter-width{width:25%!important}.mo .half-width{width:50%!important}.mo .three-quarter-width{width:75%!important}.mo .full-width{width:100%!important}.mo .normal-width{width:auto!important}.mo .clickable{cursor:pointer}.mo .help{background-color:#e4dfcf;margin:1em 0;padding:.8em}.mo .help p:first-child{margin-top:0}.mo .help p:last-child{margin-bottom:0}.mo .dropdown{position:absolute;z-index:1003;margin:0;padding:.5em 1em;border-radius:5px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 4px 10px #807e7c;box-shadow:0 4px 10px #807e7c;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal}.mo .dropdown.dropdown-right{right:0}.mo .dropdown.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .dropdown,.button_links .mo .dropdown,.links.inline .mo .dropdown{margin:-.4em 0 0}.cell_links .mo .dropdown,.top_links .mo .dropdown,.box_top_links .mo .dropdown,.slide_links .mo .dropdown{margin:.2em 0 0}.mo .dropdown hr{margin:.5em -1em;border-top:1px solid #999998;-webkit-box-shadow:none;box-shadow:none}.container-inline .mo .dropdown{display:block}.mo .dropdown .dropdown_footer{padding:.5em 0 0;margin:0}.mo .dropdown-container{position:relative;white-space:nowrap;display:inline-block}.container-inline .mo .dropdown-container{display:inline-block}.form-item .mo .dropdown-container{margin:0 .5em 0 0}.mo [class^=icon-]:before,.mo [class*=" icon-"]:before{margin-right:0;margin-left:0}.mo i.icon{cursor:default}.mo a:link i.icon{cursor:pointer}.mo .icon_red{color:#bd362f}.mo .icon_green{color:#51a351}.mo img.icon{vertical-align:text-top}.mo a.hint,.mo a.info{color:#666665;font-size:80%;vertical-align:top;margin:0 .2em}.mo a.hint:hover,.mo a.info:hover{color:#9c010f}h1 .mo a.hint,h1 .mo a.info,h2 .mo a.hint,h2 .mo a.info,h3 .mo a.hint,h3 .mo a.info{font-size:60%}li .mo a.hint,li .mo a.info{color:#666665}.mo a.hint{cursor:help}.mo .suffix_icon{font-size:80%}.mo div.info{padding:.5em;background-color:#e4dfcf;margin:.5em 0}.mo .menu_step_circle{display:inline-block;background-color:#f1eee6;color:#333332;padding:.3em .6em;margin:0 .2em 0 0;border-radius:1em}.mo .menu_step_circle.current{background-color:#d2cbb1}.mo .menu_step_circle.disabled{color:#999998}.mo a.button_dropdown_split{border-left:1px solid #333332;padding-left:.5em}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo .button_links a.button_dropdown_split,li .mo .links.inline a.button_dropdown_split,li .mo .cell_links a.button_dropdown_split{color:#fefdfc}.mo .button_links a.button_dropdown_split img,.mo .links.inline a.button_dropdown_split img,.mo .cell_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo .button_links a.button_dropdown_split:hover,.mo .links.inline a.button_dropdown_split:hover,.mo .cell_links a.button_dropdown_split:hover,.mo .button_links a.button_dropdown_split.pressed,.mo .links.inline a.button_dropdown_split.pressed,.mo .cell_links a.button_dropdown_split.pressed,.mo .button_links a.button_dropdown_split.selected,.mo .links.inline a.button_dropdown_split.selected,.mo .cell_links a.button_dropdown_split.selected{text-decoration:none;background-color:#191919}.mo .button_links a.button_dropdown_split.disabled,.mo .links.inline a.button_dropdown_split.disabled,.mo .cell_links a.button_dropdown_split.disabled{color:#666665}.mo .button_links a.button_dropdown_split.disabled a,.mo .links.inline a.button_dropdown_split.disabled a,.mo .cell_links a.button_dropdown_split.disabled a,.mo .button_links a.button_dropdown_split.disabled .link,.mo .links.inline a.button_dropdown_split.disabled .link,.mo .cell_links a.button_dropdown_split.disabled .link{color:#666665}.mo .button_links a.button_dropdown_split.disabled:hover,.mo .links.inline a.button_dropdown_split.disabled:hover,.mo .cell_links a.button_dropdown_split.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .button_links a.button_dropdown_split.inline,.mo .links.inline a.button_dropdown_split.inline,.mo .cell_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo .button_links a.button_dropdown_split.primary,.mo .links.inline a.button_dropdown_split.primary,.mo .cell_links a.button_dropdown_split.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .button_links a.button_dropdown_split.primary:hover,.mo .links.inline a.button_dropdown_split.primary:hover,.mo .cell_links a.button_dropdown_split.primary:hover,.mo .button_links a.button_dropdown_split.primary.pressed,.mo .links.inline a.button_dropdown_split.primary.pressed,.mo .cell_links a.button_dropdown_split.primary.pressed,.mo .button_links a.button_dropdown_split.primary.selected,.mo .links.inline a.button_dropdown_split.primary.selected,.mo .cell_links a.button_dropdown_split.primary.selected{background-color:#69010a}.mo .button_links a.button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .button_links a.button_dropdown_split.big .suffix_icon,.mo .links.inline a.button_dropdown_split.big .suffix_icon,.mo .cell_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .button_links a.button_dropdown_split.with_button_dropdown_split,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo .button_links a.button_dropdown_split.loading,.mo .links.inline a.button_dropdown_split.loading,.mo .cell_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo .button_links a.button_dropdown_split,.mo .links.inline a.button_dropdown_split,.mo .cell_links a.button_dropdown_split,.mo .top_links a.button_dropdown_split{margin-left:-1.5em;border-left:1px solid #fefdfc!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;z-index:2}.mo a.button,.mo input.form-submit{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo a.button,li .mo input.form-submit{color:#fefdfc}.mo a.button img,.mo input.form-submit img{vertical-align:middle;margin:0 .2em}.mo a.button:hover,.mo input.form-submit:hover,.mo a.button.pressed,.mo input.form-submit.pressed,.mo a.button.selected,.mo input.form-submit.selected{text-decoration:none;background-color:#191919}.mo a.button.disabled,.mo input.form-submit.disabled{color:#666665}.mo a.button.disabled a,.mo input.form-submit.disabled a,.mo a.button.disabled .link,.mo input.form-submit.disabled .link{color:#666665}.mo a.button.disabled:hover,.mo input.form-submit.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo a.button.inline,.mo input.form-submit.inline{margin:0 7px 0 0}.mo a.button.primary,.mo input.form-submit.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo a.button.primary:hover,.mo input.form-submit.primary:hover,.mo a.button.primary.pressed,.mo input.form-submit.primary.pressed,.mo a.button.primary.selected,.mo input.form-submit.primary.selected{background-color:#69010a}.mo a.button.big,.mo input.form-submit.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo a.button.big .suffix_icon,.mo input.form-submit.big .suffix_icon{font-size:55%;vertical-align:middle}.mo a.button.with_button_dropdown_split,.mo input.form-submit.with_button_dropdown_split{padding-right:1.2em}.mo a.button.with_button_dropdown_split.big,.mo input.form-submit.with_button_dropdown_split.big{padding-right:1.8em}.mo a.button.loading,.mo input.form-submit.loading{opacity:.5;background-image:none}.mo ul.links a{font-weight:700}.mo ul.button_links li,.mo ul.inline li{padding:0}.mo ul.button_links li a,.mo ul.inline li a{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo ul.button_links li a,li .mo ul.inline li a{color:#fefdfc}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:middle;margin:0 .2em}.mo ul.button_links li a:hover,.mo ul.inline li a:hover,.mo ul.button_links li a.pressed,.mo ul.inline li a.pressed,.mo ul.button_links li a.selected,.mo ul.inline li a.selected{text-decoration:none;background-color:#191919}.mo ul.button_links li a.disabled,.mo ul.inline li a.disabled{color:#666665}.mo ul.button_links li a.disabled a,.mo ul.inline li a.disabled a,.mo ul.button_links li a.disabled .link,.mo ul.inline li a.disabled .link{color:#666665}.mo ul.button_links li a.disabled:hover,.mo ul.inline li a.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.button_links li a.inline,.mo ul.inline li a.inline{margin:0 7px 0 0}.mo ul.button_links li a.primary,.mo ul.inline li a.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.button_links li a.primary:hover,.mo ul.inline li a.primary:hover,.mo ul.button_links li a.primary.pressed,.mo ul.inline li a.primary.pressed,.mo ul.button_links li a.primary.selected,.mo ul.inline li a.primary.selected{background-color:#69010a}.mo ul.button_links li a.big,.mo ul.inline li a.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.button_links li a.big .suffix_icon,.mo ul.inline li a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.button_links li a.with_button_dropdown_split,.mo ul.inline li a.with_button_dropdown_split{padding-right:1.2em}.mo ul.button_links li a.with_button_dropdown_split.big,.mo ul.inline li a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.button_links li a.loading,.mo ul.inline li a.loading{opacity:.5;background-image:none}.mo ul.button_links li a img,.mo ul.inline li a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.buttonbar{white-space:nowrap}.mo ul.buttonbar>li,.mo ul.buttonbar>.dropdown-container>li{margin:0 1px 0 0;float:left}.mo ul.buttonbar>li a,.mo ul.buttonbar>.dropdown-container>li a,.mo ul.buttonbar>li a.big,.mo ul.buttonbar>.dropdown-container>li a.big{margin-left:0;margin-right:0;border-radius:0}.mo ul.buttonbar>li a.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.with_button_dropdown_split,.mo ul.buttonbar>li a.big.with_button_dropdown_split,.mo ul.buttonbar>.dropdown-container>li a.big.with_button_dropdown_split{margin-right:7px}.mo ul.buttonbar>li.first a,.mo ul.buttonbar>.dropdown-container>li.first a{border-radius:5px 0 0 5px}.mo ul.buttonbar>li.first a.big,.mo ul.buttonbar>.dropdown-container>li.first a.big{border-radius:7px 0 0 7px}.mo ul.buttonbar>li.last a,.mo ul.buttonbar>.dropdown-container>li.last a{border-radius:0 5px 5px 0}.mo ul.buttonbar>li.last a.big,.mo ul.buttonbar>.dropdown-container>li.last a.big{border-radius:0 7px 7px 0}.mo ul.buttonbar.top_links{margin-left:.5em}.mo ul.buttonbar:after{content:"";display:table;clear:both}.mo ul.cell_links>li,.mo ul.cell_links>.dropdown-container>li{padding:0}.mo ul.cell_links>li>a,.mo ul.cell_links>.dropdown-container>li>a{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;margin:0 .5em 0 0}li .mo ul.cell_links>li>a,li .mo ul.cell_links>.dropdown-container>li>a{color:#fefdfc}.mo ul.cell_links>li>a img,.mo ul.cell_links>.dropdown-container>li>a img{vertical-align:middle;margin:0 .2em}.mo ul.cell_links>li>a:hover,.mo ul.cell_links>.dropdown-container>li>a:hover,.mo ul.cell_links>li>a.pressed,.mo ul.cell_links>.dropdown-container>li>a.pressed,.mo ul.cell_links>li>a.selected,.mo ul.cell_links>.dropdown-container>li>a.selected{text-decoration:none;background-color:#191919}.mo ul.cell_links>li>a.disabled,.mo ul.cell_links>.dropdown-container>li>a.disabled{color:#666665}.mo ul.cell_links>li>a.disabled a,.mo ul.cell_links>.dropdown-container>li>a.disabled a,.mo ul.cell_links>li>a.disabled .link,.mo ul.cell_links>.dropdown-container>li>a.disabled .link{color:#666665}.mo ul.cell_links>li>a.disabled:hover,.mo ul.cell_links>.dropdown-container>li>a.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.cell_links>li>a.inline,.mo ul.cell_links>.dropdown-container>li>a.inline{margin:0 7px 0 0}.mo ul.cell_links>li>a.primary,.mo ul.cell_links>.dropdown-container>li>a.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.cell_links>li>a.primary:hover,.mo ul.cell_links>.dropdown-container>li>a.primary:hover,.mo ul.cell_links>li>a.primary.pressed,.mo ul.cell_links>.dropdown-container>li>a.primary.pressed,.mo ul.cell_links>li>a.primary.selected,.mo ul.cell_links>.dropdown-container>li>a.primary.selected{background-color:#69010a}.mo ul.cell_links>li>a.big,.mo ul.cell_links>.dropdown-container>li>a.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.cell_links>li>a.big .suffix_icon,.mo ul.cell_links>.dropdown-container>li>a.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.cell_links>li>a.with_button_dropdown_split,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split{padding-right:1.2em}.mo ul.cell_links>li>a.with_button_dropdown_split.big,.mo ul.cell_links>.dropdown-container>li>a.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.cell_links>li>a.loading,.mo ul.cell_links>.dropdown-container>li>a.loading{opacity:.5;background-image:none}.mo ul.cell_links a.button_dropdown_split{margin-top:0;margin-bottom:0}td .mo ul.cell_links{text-align:right}.mo .td_cell_links{text-align:right;white-space:nowrap}.mo ul.top_links,.mo ul.box_top_links{float:right;text-align:right}.mo ul.top_links>*,.mo ul.box_top_links>*{line-height:normal;text-align:left;margin-bottom:.4em}.mo ul.top_links li a,.mo ul.box_top_links li a,.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;border-radius:7px;padding:.25em .4em;font-size:1.3em}li .mo ul.top_links li a,li .mo ul.box_top_links li a,li .mo ul.top_links a.button_dropdown_split,li .mo ul.box_top_links a.button_dropdown_split{color:#fefdfc}.mo ul.top_links li a img,.mo ul.box_top_links li a img,.mo ul.top_links a.button_dropdown_split img,.mo ul.box_top_links a.button_dropdown_split img{vertical-align:middle;margin:0 .2em}.mo ul.top_links li a:hover,.mo ul.box_top_links li a:hover,.mo ul.top_links a.button_dropdown_split:hover,.mo ul.box_top_links a.button_dropdown_split:hover,.mo ul.top_links li a.pressed,.mo ul.box_top_links li a.pressed,.mo ul.top_links a.button_dropdown_split.pressed,.mo ul.box_top_links a.button_dropdown_split.pressed,.mo ul.top_links li a.selected,.mo ul.box_top_links li a.selected,.mo ul.top_links a.button_dropdown_split.selected,.mo ul.box_top_links a.button_dropdown_split.selected{text-decoration:none;background-color:#191919}.mo ul.top_links li a.disabled,.mo ul.box_top_links li a.disabled,.mo ul.top_links a.button_dropdown_split.disabled,.mo ul.box_top_links a.button_dropdown_split.disabled{color:#666665}.mo ul.top_links li a.disabled a,.mo ul.box_top_links li a.disabled a,.mo ul.top_links a.button_dropdown_split.disabled a,.mo ul.box_top_links a.button_dropdown_split.disabled a,.mo ul.top_links li a.disabled .link,.mo ul.box_top_links li a.disabled .link,.mo ul.top_links a.button_dropdown_split.disabled .link,.mo ul.box_top_links a.button_dropdown_split.disabled .link{color:#666665}.mo ul.top_links li a.disabled:hover,.mo ul.box_top_links li a.disabled:hover,.mo ul.top_links a.button_dropdown_split.disabled:hover,.mo ul.box_top_links a.button_dropdown_split.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo ul.top_links li a.inline,.mo ul.box_top_links li a.inline,.mo ul.top_links a.button_dropdown_split.inline,.mo ul.box_top_links a.button_dropdown_split.inline{margin:0 7px 0 0}.mo ul.top_links li a.primary,.mo ul.box_top_links li a.primary,.mo ul.top_links a.button_dropdown_split.primary,.mo ul.box_top_links a.button_dropdown_split.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo ul.top_links li a.primary:hover,.mo ul.box_top_links li a.primary:hover,.mo ul.top_links a.button_dropdown_split.primary:hover,.mo ul.box_top_links a.button_dropdown_split.primary:hover,.mo ul.top_links li a.primary.pressed,.mo ul.box_top_links li a.primary.pressed,.mo ul.top_links a.button_dropdown_split.primary.pressed,.mo ul.box_top_links a.button_dropdown_split.primary.pressed,.mo ul.top_links li a.primary.selected,.mo ul.box_top_links li a.primary.selected,.mo ul.top_links a.button_dropdown_split.primary.selected,.mo ul.box_top_links a.button_dropdown_split.primary.selected{background-color:#69010a}.mo ul.top_links li a.big,.mo ul.box_top_links li a.big,.mo ul.top_links a.button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo ul.top_links li a.big .suffix_icon,.mo ul.box_top_links li a.big .suffix_icon,.mo ul.top_links a.button_dropdown_split.big .suffix_icon,.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon{font-size:55%;vertical-align:middle}.mo ul.top_links li a.with_button_dropdown_split,.mo ul.box_top_links li a.with_button_dropdown_split,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split{padding-right:1.2em}.mo ul.top_links li a.with_button_dropdown_split.big,.mo ul.box_top_links li a.with_button_dropdown_split.big,.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big{padding-right:1.8em}.mo ul.top_links li a.loading,.mo ul.box_top_links li a.loading,.mo ul.top_links a.button_dropdown_split.loading,.mo ul.box_top_links a.button_dropdown_split.loading{opacity:.5;background-image:none}.mo ul.top_links li,.mo ul.box_top_links li{padding:0}.mo ul.top_links li a,.mo ul.box_top_links li a{margin:0 0 0 .5em}.mo ul.top_links a.button_dropdown_split,.mo ul.box_top_links a.button_dropdown_split{margin:0 0 0 -1em}.mo ul.top_links .dropdown,.mo ul.box_top_links .dropdown{margin-left:.5em}.mo ul.popup_links>li,.mo ul.popup_links>.dropdown-container>li{display:block;padding:0;margin:0}.mo ul.popup_links>li>a,.mo ul.popup_links>.dropdown-container>li>a{display:block;border:none;padding:.5em;margin:0;border-radius:0;position:relative;overflow:hidden;text-overflow:ellipsis;font-weight:700;background-color:transparent;color:#333332}.mo ul.popup_links>li>a img,.mo ul.popup_links>.dropdown-container>li>a img{vertical-align:text-top;margin:0 .5em 0 0}.mo ul.popup_links>li>a.disabled,.mo ul.popup_links>.dropdown-container>li>a.disabled{color:#999998!important}.mo ul.popup_links>li>a.disabled:hover,.mo ul.popup_links>.dropdown-container>li>a.disabled:hover{border:none}.mo ul.popup_links>li>a .badge,.mo ul.popup_links>.dropdown-container>li>a .badge{position:absolute;right:0;margin-left:1em;top:.6em}.mo ul.popup_links>li:hover,.mo ul.popup_links>.dropdown-container>li:hover{background-color:#333332;color:#fefdfc}.mo ul.popup_links>li:hover a,.mo ul.popup_links>.dropdown-container>li:hover a{color:#fefdfc}.mo ul.popup_links>li .cell_links>li>a,.mo ul.popup_links>.dropdown-container>li .cell_links>li>a{border-color:#999}.mo ul.popup_links>li.separator,.mo ul.popup_links>.dropdown-container>li.separator{border-top:1px solid #333332;margin:.5em 0}.mo ul.popup_links.table_columns>li>a,.mo ul.popup_links.table_columns>.dropdown-container>li>a{display:table-cell;vertical-align:middle;width:100%}.mo ul.popup_links.table_columns>li>.table_column,.mo ul.popup_links.table_columns>.dropdown-container>li>.table_column{display:table-cell;vertical-align:middle;width:auto}.mo .dropdown ul.popup_links{margin:-.5em -1em}.mo .dropdown ul.popup_links>li>a,.mo .dropdown ul.popup_links>.dropdown-container>li>a{text-align:left;width:100%}.mo select,.mo textarea{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s}.mo select:focus,.mo textarea:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo select.inline,.mo textarea.inline{margin-right:.5em;width:auto}.mo input:disabled,.mo select:disabled,.mo textarea:disabled{opacity:.5!important}.mo ::-webkit-input-placeholder{color:#807f7f;opacity:1}.mo :-ms-input-placeholder{color:#807f7f;opacity:1}.mo ::-ms-input-placeholder{color:#807f7f;opacity:1}.mo ::placeholder{color:#807f7f;opacity:1}.mo .async_loading{color:transparent;text-align:center;background:url(../../../../misc/others/loading.gif) no-repeat 50% 50% transparent;opacity:.5}.mo .async_loading_iframe{background:url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent}.mo .ui-helper-hidden{display:none}.mo .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}.mo .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.mo .ui-helper-clearfix:before,.mo .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.mo .ui-helper-clearfix:after{clear:both}.mo .ui-helper-clearfix{min-height:0}.mo .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.mo .ui-front{z-index:1004}.mo .ui-state-disabled{cursor:default!important}.mo .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.mo .ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.mo .ui-widget-overlay{background:#aaa none;opacity:.6;filter:alpha(opacity=60)}.mo .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa none;opacity:.3;filter:alpha(opacity=30);border-radius:8px}.mo .ui-corner-all{border-radius:5px}.mo .ui-button{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700}li .mo .ui-button{color:#fefdfc}.mo .ui-button img{vertical-align:middle;margin:0 .2em}.mo .ui-button:hover,.mo .ui-button.pressed,.mo .ui-button.selected{text-decoration:none;background-color:#191919}.mo .ui-button.disabled{color:#666665}.mo .ui-button.disabled a,.mo .ui-button.disabled .link{color:#666665}.mo .ui-button.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .ui-button.inline{margin:0 7px 0 0}.mo .ui-button.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .ui-button.primary:hover,.mo .ui-button.primary.pressed,.mo .ui-button.primary.selected{background-color:#69010a}.mo .ui-button.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .ui-button.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .ui-button.with_button_dropdown_split{padding-right:1.2em}.mo .ui-button.with_button_dropdown_split.big{padding-right:1.8em}.mo .ui-button.loading{opacity:.5;background-image:none}.mo .ui-button .ui-button-text,.mo .ui-button .ui-icon{color:#fefdfc}.mo .ui-button.ui-button-icon-only .ui-icon{margin:0 .1em}.mo .ui-button.ui-button-icon-only .ui-button-text{display:none}.mo .ui-button.ui-button-disabled{color:#666665}.mo .ui-button.ui-button-disabled a,.mo .ui-button.ui-button-disabled .link{color:#666665}.mo .ui-button.ui-button-disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .ui-button.ui-button-disabled .ui-button-text,.mo .ui-button.ui-button-disabled .ui-icon{color:#666665}.mo .ui-button.ui-state-active{text-decoration:none;background-color:#191919}.mo .ui-buttonset{margin-right:7px;vertical-align:middle;font-size:0}.mo .ui-buttonset>.ui-button{font-size:13.6px;margin-right:1px;border-radius:0}.mo .ui-buttonset>.ui-button.ui-corner-left{border-radius:5px 0 0 5px}.mo .ui-buttonset>.ui-button.ui-corner-right{border-radius:0 5px 5px 0}.mo .ui-dialog{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;position:absolute;overflow:hidden;width:300px;padding:0;font-size:1em;z-index:1005}.mo .ui-dialog .ui-dialog-titlebar{position:relative;padding:.5em 1em .3em;color:#333332;background:none #d2cbb1;border:none;font-weight:700;border-radius:0;font-size:1.1em}.mo .ui-dialog .ui-dialog-titlebar .ui-icon{color:#333332}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title{float:left;margin:.1em 16px .2em 0}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{position:absolute;right:.3em;top:35%;width:21px;margin:-10px 0 0;padding:1px;height:20px;cursor:pointer;border:0 none;background:none transparent;-webkit-box-shadow:none;box-shadow:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner{border:none}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon{position:absolute;top:50%;margin-top:-8px;left:50%;margin-left:-8px}.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text{display:block;line-height:normal;padding:.4em;text-indent:-9999999px}.mo .ui-dialog .ui-dialog-content{border:0;padding:.5em 1em;background:none;zoom:1;max-height:600px;position:relative}.mo .ui-dialog .ui-dialog-content .async_loading_iframe{margin:-.5em 0 0}.mo .ui-dialog .async_loading_iframe{width:100%;height:100%;min-height:100px}.mo .ui-dialog .async_loading_iframe.with_bg{width:10%;height:6%;min-height:50px;position:absolute;left:45%;top:47%}.mo .ui-dialog .async_loading_iframe.over{position:absolute;left:0;top:0}.mo .ui-dialog .ui-dialog-buttonpane{text-align:center;background-image:none;margin:.5em 0 0;border:none;padding:.3em 0}.mo .ui-dialog.dialog_info .ui-dialog-titlebar{background:none #81b1b3}.mo .ui-dialog.dialog_warn .ui-dialog-titlebar{background:none #c88170}.mo .ui-dialog.dialog_ok .ui-dialog-titlebar{background:none #92b781}.mo .ui-dialog.dialog_standard_href .ui-dialog-content{padding:0;min-height:600px}.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,.mo .ui-dialog.dialog_standard_content .ui-dialog-content,.mo .ui-dialog.dialog_standard_rel .ui-dialog-content{overflow:auto}.mo .ui-dialog.no-close .ui-dialog-titlebar-close{display:none}.mo .ui-dialog:focus,.mo .ui-dialog:-moz-focusring{outline:0 none!important}.mo .ui-menu{list-style:outside none none;padding:0;margin:0;display:block;outline:medium none}.mo .ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0}.mo .ui-autocomplete{top:0;left:0;cursor:default;position:absolute;z-index:1003;padding:.5em 1em;border-radius:5px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 4px 10px #807e7c;box-shadow:0 4px 10px #807e7c;background-color:#fff;max-height:300px;overflow:auto;min-width:100%;max-width:25em;white-space:normal;min-width:auto;max-width:none;margin:0;padding:0}.mo .ui-autocomplete.dropdown-right{right:0}.mo .ui-autocomplete.dropdown-bottom{bottom:0}a.button+div.dropdown_spacer+.mo .ui-autocomplete,.button_links .mo .ui-autocomplete,.links.inline .mo .ui-autocomplete{margin:-.4em 0 0}.cell_links .mo .ui-autocomplete,.top_links .mo .ui-autocomplete,.box_top_links .mo .ui-autocomplete,.slide_links .mo .ui-autocomplete{margin:.2em 0 0}.mo .ui-autocomplete hr{margin:.5em -1em;border-top:1px solid #999998;-webkit-box-shadow:none;box-shadow:none}.container-inline .mo .ui-autocomplete{display:block}.mo .ui-autocomplete .dropdown_footer{padding:.5em 0 0;margin:0}.mo .ui-autocomplete .ui-menu-item{display:block;padding:.5em;margin:0;font-weight:700}.mo .ui-autocomplete .ui-menu-item.ui-state-focus,.mo .ui-autocomplete .ui-menu-item.ui-state-active{background-color:#333332;color:#fefdfc}.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,.mo .ui-autocomplete .ui-menu-item.ui-state-active a{color:#fefdfc}.mo .ui-tabs .ui-tabs-nav{border-radius:0}.mo .ui-tabs.tabs_horizontal>ul{margin:0;border-bottom:1px solid #d2cbb1;padding:0 0 0 .5em}.mo .ui-tabs.tabs_horizontal>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:5px 5px 0 0;background-color:#d2cbb1;border:1px solid #d2cbb1}.mo .ui-tabs.tabs_horizontal>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal>ul li.ui-state-active a{border-bottom:1px solid #fefdfc;background:transparent;font-weight:700;background-color:transparent;color:#333332}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel{margin-top:.5em}.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tabs.tabs_horizontal.button_color>ul{background-color:#d2cbb1;margin:0;border-bottom:1px solid #d2cbb1}.mo .ui-tabs.tabs_horizontal.button_color>ul:after{content:"";display:table;clear:both}.mo .ui-tabs.tabs_horizontal.button_color>ul li{float:left;list-style-type:none;margin:.4em 0 -1px;display:block;text-align:center}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a{display:block;padding:.5em 1em;margin:0 .5em 0 0;border-radius:5px 5px 0 0;background-color:#333332;color:#fefdfc;border:none;font-weight:700}.mo .ui-tabs.tabs_horizontal.button_color>ul li>a:hover{background-color:#191919}.mo .ui-tabs.tabs_horizontal.button_color>ul li a:focus{outline:0 none!important}.mo .ui-tabs.tabs_horizontal.button_color>ul li.ui-state-active a{border-bottom:1px solid #fefdfc;background:transparent;font-weight:700;background-color:#fefdfc;color:#333332}.mo .ui-tabs.tabs_vertical{position:relative;margin:1em 0}.mo .ui-tabs.tabs_vertical>ul{margin:0;padding:0;text-align:left;float:left}.mo .ui-tabs.tabs_vertical>ul li{width:11em;list-style-type:none;padding:.5em 1em;margin:0;text-align:right}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active{background-color:#d2cbb1;font-weight:700;border-radius:5px 0 0 5px}.mo .ui-tabs.tabs_vertical>ul li.ui-state-active a{color:#333332}.mo .ui-tabs.tabs_vertical .ui-tabs-panel{background:#fefdfc;border:1px solid #d2cbb1;padding:.5em 1em;margin:.5em 0;overflow:auto}.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll{padding:0}.mo .ui-tooltip{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;max-width:300px;padding:.5em;z-index:1004}.mo .ui-spinner{display:block;margin:10px 0;padding:0;position:relative}.mo .ui-spinner input[type=number]{-moz-appearance:textfield}.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,.mo .ui-spinner input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mo .ui-spinner input[type=number]::-ms-clear{width:0;height:0}.mo .ui-spinner .ui-spinner-input{margin:0;margin-right:2em;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .ui-spinner .ui-spinner-button{width:2.5em;height:50%;min-height:inherit;padding:0;margin:0;position:absolute;right:0;line-height:1em;cursor:pointer}.mo .ui-spinner .ui-spinner-button .ui-icon{display:none}.mo .ui-spinner .ui-spinner-up{top:0;border-bottom:none;border-radius:0 5px 0 0}.mo .ui-spinner .ui-spinner-up .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d8"}.mo .ui-spinner .ui-spinner-down{bottom:0;border-top:none;border-radius:0 0 5px}.mo .ui-spinner .ui-spinner-down .ui-button-text:after{font-family:FontAwesome;font-weight:400;content:"\f0d7"}.mo .ui-icon{font-family:FontAwesome;background:none repeat scroll 0 0 transparent;text-indent:0;width:auto;height:auto;min-width:16px;vertical-align:middle;margin-top:0;margin-right:.5em}.mo .ui-icon-closethick:before{content:"\f00d"}.mo .ui-draggable .ui-dialog-titlebar{cursor:move}.mo .ui-draggable-handle,.mo .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.mo *,.mo :before,.mo :after{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.mo .ui-icon{overflow:visible}.mo .fa{display:inline-block;font-style:normal}.mo .buttons{text-align:center;padding-top:3px}.mo .propInput input[type=text],.mo .propInput input[type=number],.mo .propInput input[type=url],.mo .propInput select{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;margin:0}.mo .propInput input[type=text]:focus,.mo .propInput input[type=number]:focus,.mo .propInput input[type=url]:focus,.mo .propInput select:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput input[type=text].inline,.mo .propInput input[type=number].inline,.mo .propInput input[type=url].inline,.mo .propInput select.inline{margin-right:.5em;width:auto}.mo .propInput input[type=text].invalid,.mo .propInput input[type=number].invalid,.mo .propInput input[type=url].invalid,.mo .propInput select.invalid,.mo .propInput input[type=text].error,.mo .propInput input[type=number].error,.mo .propInput input[type=url].error,.mo .propInput select.error{border:2px solid #bd362f}.mo .propInput .data-select{display:block}@media(-ms-high-contrast:active),(-ms-high-contrast:none),not screen\0 {.mo .propInput .data-select{position:relative}.mo .propInput .data-select select{-webkit-appearance:none;-moz-appearance:none;padding-right:30px;font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .data-select select::-ms-expand{display:none}.mo .propInput .data-select:after{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;margin:0;position:absolute;top:0;right:0;bottom:0;line-height:30px;width:28px;margin-right:0;border-top-left-radius:0;border-bottom-left-radius:0;font-family:FontAwesome;content:"\f0d7";font-weight:400;pointer-events:none}li .mo .propInput .data-select:after{color:#fefdfc}.mo .propInput .data-select:after img{vertical-align:middle;margin:0 .2em}.mo .propInput .data-select:after:hover,.mo .propInput .data-select:after.pressed,.mo .propInput .data-select:after.selected{text-decoration:none;background-color:#191919}.mo .propInput .data-select:after.disabled{color:#666665}.mo .propInput .data-select:after.disabled a,.mo .propInput .data-select:after.disabled .link{color:#666665}.mo .propInput .data-select:after.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .propInput .data-select:after.inline{margin:0 7px 0 0}.mo .propInput .data-select:after.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .propInput .data-select:after.primary:hover,.mo .propInput .data-select:after.primary.pressed,.mo .propInput .data-select:after.primary.selected{background-color:#69010a}.mo .propInput .data-select:after.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .propInput .data-select:after.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .data-select:after.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .data-select:after.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .data-select:after.loading{opacity:.5;background-image:none}}.mo .propInput .ui-textbutton{width:100%;display:inline-table;table-layout:fixed;margin-right:0;vertical-align:middle}.mo .propInput .ui-textbutton .ui-textbutton-input.withButton{display:table-cell;margin:0;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button{display:table-cell;margin-right:0;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text{line-height:0}.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;width:1.6em}.mo .propEditor{display:table;width:100%}.mo .propLabel{padding:8px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:45%;float:left;text-align:right}.mo .propLabel[title]:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;float:right;position:initial;color:#666665;content:"\f059";font-size:80%;line-height:1.5em;margin-left:.5em}.mo .propInput{width:55%;float:left}.mo .propInput input,.mo .propInput select{width:100%}.mo .notnull.propEditor.checkboxes .propInput{width:50%}.mo .propCheck{width:5%;float:left;padding:5px;display:none}.mo .notnull .propCheck{display:block}.mo .propLabel:after,.mo .propInput:after,.mo .objEdit:after{content:"";display:table}.mo .objEdit{display:block;width:100%}.mo .objEdit.level1{background-color:#fefdfc;padding:2px}.mo .label.notused{display:none;font-size:50%;color:gray}.mo .label.notused:before{content:"[[["}.mo .label.notused:after{content:"]]]"}.mo .objLabel.level2{color:rgba(255,255,255,.7);float:left;position:absolute;display:none}.mo .objLabel.level3{color:rgba(255,255,255,.4);float:left;position:absolute;top:1em;display:none}.mo .objEdit.level1{padding-top:4px;padding-bottom:2px;margin-bottom:3px}.mo .objLabel.level1{color:black;display:block}.mo #toolstyles .objLabel.level1,.mo #tooltheme .objLabel.level1{padding-left:60px}.mo .objLabel{text-transform:uppercase;border-bottom:3px solid #d2cbb1;color:#333332;display:block;margin:-4px -2px 6px;padding:5px;border-radius:6px 6px 0 0}.mo .objEdit.level0{padding:0 1px;margin-top:12px}.mo .objLabel.level0{display:block;color:#333332;background-color:#fefdfc;font-weight:700;font-size:90%;border-bottom:3px solid #333332;border-radius:0;padding:3px 10px;margin:0 -7px 8px}.mo .supportsCustomStyles .objLabel.level0{margin-right:70px}.mo .objEdit.level-1{padding:0 15px;overflow:auto;height:95%;background-color:#fefdfc;border-radius:6px}.mo .objEdit{position:relative}.mo .objEdit.level1{margin-top:15px}.mo .objPreview{width:50px;height:50px;border-radius:100%;position:absolute;overflow:hidden;border:2px solid #d2cbb1;top:-11px;left:5px}.mo .objPreview>div{position:absolute;bottom:20%;left:20%}.mo .propEditor{padding:2px}.mo .objEdit .propEditor{padding:2px 0;border:0}.mo .propEditor.notnull{font-weight:700}.mo .propEditor.notnull input,.mo .propEditor.notnull select{font-weight:700}.mo .propEditor.notnull input[type=checkbox]{font-weight:400}.mo .propInput{position:relative}.mo .propInput .colorPicker{padding-right:30px}.mo .propInput .data-color input[type=text]{font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px;background-color:transparent;border-color:rgba(51,51,50,.2);-webkit-box-shadow:none;box-shadow:none;border-style:dashed}.mo .propInput .data-color input[type=text]:hover,.mo .propInput .data-color input[type=text]:focus{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;font-size:90%;font-family:monospace;width:5.5em;margin:0;margin-left:85px}.mo .propInput .data-color input[type=text]:hover:focus,.mo .propInput .data-color input[type=text]:focus:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .data-color input[type=text]:hover.inline,.mo .propInput .data-color input[type=text]:focus.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer{position:absolute;font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;margin:0;z-index:5;left:0;top:0;width:80px;height:30px;border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .evo-pointer:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}.mo .propInput .evo-pointer.inline{margin-right:.5em;width:auto}.mo .propInput .evo-pointer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;font-family:FontAwesome;content:"\f0d7";font-weight:400;border-left:1px solid rgba(254,253,252,.5)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;position:absolute;top:-1px;right:-1px;bottom:-1px;line-height:30px;width:28px;padding:0 8px;margin:0}li .mo .propInput .evo-pointer:before{color:#fefdfc}.mo .propInput .evo-pointer:before img{vertical-align:middle;margin:0 .2em}.mo .propInput .evo-pointer:before:hover,.mo .propInput .evo-pointer:before.pressed,.mo .propInput .evo-pointer:before.selected{text-decoration:none;background-color:#191919}.mo .propInput .evo-pointer:before.disabled{color:#666665}.mo .propInput .evo-pointer:before.disabled a,.mo .propInput .evo-pointer:before.disabled .link{color:#666665}.mo .propInput .evo-pointer:before.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}.mo .propInput .evo-pointer:before.inline{margin:0 7px 0 0}.mo .propInput .evo-pointer:before.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}.mo .propInput .evo-pointer:before.primary:hover,.mo .propInput .evo-pointer:before.primary.pressed,.mo .propInput .evo-pointer:before.primary.selected{background-color:#69010a}.mo .propInput .evo-pointer:before.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}.mo .propInput .evo-pointer:before.big .suffix_icon{font-size:55%;vertical-align:middle}.mo .propInput .evo-pointer:before.with_button_dropdown_split{padding-right:1.2em}.mo .propInput .evo-pointer:before.with_button_dropdown_split.big{padding-right:1.8em}.mo .propInput .evo-pointer:before.loading{opacity:.5;background-image:none}.mo .objEdit input[type=checkbox]{display:none}.mo .objEdit input[type=checkbox]+.checkbox-replacer{width:1.28571429em;display:block;text-align:center}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}.mo .objEdit input[type=checkbox]:checked+.checkbox-replacer:before{content:'\f205'}.mo .objEdit input[type=checkbox]+.checkbox-replacer:before{font-size:150%;text-align:center;content:'\f204'}.mo .propCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f041";content:"\f1b2";font-size:14px;opacity:1}.mo .propCheck input[type=checkbox]+.checkbox-replacer:before{content:'\f0ac';content:"\f1b3";font-size:14px;opacity:.8}.mo .propInput .ui-spinner{width:100%;margin:0}.mo .propInput .ui-spinner .ui-spinner-input{border-top-right-radius:15px;border-bottom-right-radius:15px}.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa{background-image:none;font-size:10px;top:9px}.mo .propLabel[title]{text-decoration:underline;cursor:help}.mo .noSelectedBlock,.mo .customStyleHelp,.mo .objEmpty,.mo .galleryEmpty,.mo .blockDescription{padding:1em;margin-bottom:.5em;background-color:#f1eee6;border-radius:7px;-webkit-box-shadow:none;box-shadow:none;color:#4f4f4f}.mo .customStyleHelp,.mo .objEmpty{margin-bottom:1em}.mo .evo-pop{right:0;width:auto;border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;border-width:0;padding:3px}.mo .evo-pop .evo-palette td{padding:12px;border:none}.mo .evo-pop .evo-palette th,.mo .evo-pop .evo-palette-ie th,.mo .evo-pop .evo-palette2 th{border:none}.mo .evo-pop .evo-palette,.mo .evo-pop .evo-palette-ie,.mo .evo-pop .evo-palette2{border-spacing:0;margin:0 auto;width:auto;border:none}.mo .evo-pop .evo-palette2 td{padding:8px 9px}.mo .evo-pop .evo-cHist div{padding:12px;margin:2px}.mo .evo-pop .evo-color div{padding:12px;margin:2px;border-color:silver}.mo .evo-pop .evo-color{width:120px;padding:1px 3px 2px 4px}.mo .evo-pop .evo-color span{font-size:17px;margin:5px 0 4px 4px}.mo .evo-pop .evo-more{padding:4px 5px}.mo .evo-pop .evo-more a{margin-right:1em}#toolbar{padding:5px 10px}#toolbar .button,#toolbar .ui-button,#toolbar .button_dropdown_split{margin-top:0;margin-bottom:0}#toolbar ul.top_right_links{float:right}#toolbar ul.top_right_links .dropdown{margin:.2em 0 0}@media(max-width:1460px){#toolbar label[for=previewFrameToggle]{display:none}#toolbar .ui-button[for=showGallery] .ui-icon{margin-right:0}#toolbar .ui-button[for=showGallery] .ui-button-text{display:none}}#toolbar .leftButtons{float:left}#toolbar .rightButtons{float:right}#toolbar #downloadForm{display:inline-block}#main-toolbox>div,#main-toolbox>div>div{height:100%;overflow:hidden}#main-toolbox #tooltabs.ui-tabs{overflow:hidden}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{top:40px;overflow-y:auto;overflow-x:hidden;z-index:100}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav{font-size:1.2em;padding:0 0 0 4px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li{margin:4px 4px 0 0;line-height:37px}#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a{width:100%;padding:0 .5em}#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel{margin:0;padding:.7em;position:absolute;bottom:4px;left:4px;right:4px;z-index:100;background-color:#fefdfc}#main-toolbox .draggable-item{display:inline-block}#main-toolbox .draggable{width:100px;height:100px;overflow:hidden;border:2px solid black;z-index:100;display:inline-block}#main-toolbox .draggable-item .block .handle{cursor:move;z-index:120;position:absolute;top:0;bottom:0;left:20px;right:20px}#main-toolbox .draggable-item{position:relative}#main-toolbox .draggable-item .addblockbutton{z-index:1000;position:absolute;bottom:10px;right:5px;display:none}#main-toolbox .draggable-item .image,#main-toolbox .draggable-item .block img{-webkit-box-shadow:0 0 1px gray;box-shadow:0 0 1px gray;margin:3px 0}#main-toolbox .draggable-item:hover{-webkit-transform:scale(1.05,1.05);transform:scale(1.05,1.05);z-index:10;position:relative}#main-toolbox .draggable-item:hover .addblockbutton{display:block}#main-toolbox .draggable-item:hover .image{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .draggable-item:hover .block img{-webkit-box-shadow:0 0 15px gray;box-shadow:0 0 15px gray}#main-toolbox .blockType{display:none}#main-toolbox .block-list{max-width:346px}#main-toolbox .block-list .draggable-item,#main-toolbox .block-list .draggable-item img{width:100%}#main-toolbox .objEdit.level1.selectable{position:relative}#main-toolbox .objEdit.level1.selectable:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-toolbox .objEdit.level1.selectable.selecteditem:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-toolbox .objEdit.level1.selectable:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-toolbox .objEdit.level1.selectable.selecteditem{z-index:10}#main-toolbox .objEdit.level1.selectable:hover{z-index:11}#main-toolbox .blockCheck{float:right;margin-top:-34px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer{width:56px}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{padding:1px;display:block;float:left;font-size:14px;line-height:18px;width:22px;opacity:1;height:18px;top:0;left:0;-webkit-box-sizing:content-box;box-sizing:content-box}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after{content:"\f1b2"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{content:"\f1b3"}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;border:1px solid transparent;height:auto;padding:5px 7px;margin:10px 0;width:100%;color:#333332;background:none #e4dfcf;border-radius:5px;border-color:#333332;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset;box-shadow:0 1px 1px rgba(0,0,0,.075) inset;-webkit-transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s,-webkit-box-shadow .15s ease-in-out 0s;width:22px;font-weight:400;min-height:18px;line-height:18px;color:rgba(51,51,50,.5);padding:2px;margin:-1px -2px;z-index:0}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after:focus,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before:focus{border-color:#66afe9;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(102,175,233,.6);outline:0 none}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before.inline{margin-right:.5em;width:auto}#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:after{padding-left:4px;padding-right:2px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:before{padding-left:2px;padding-right:4px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;display:inline-block;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;cursor:pointer;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;text-align:center;font-weight:700;font-weight:400;min-height:18px;line-height:18px;padding:4px;margin:-3px -2px;opacity:1;z-index:1}li #main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after,li #main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before{color:#fefdfc}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after img,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before img{vertical-align:middle;margin:0 .2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.selected{text-decoration:none;background-color:#191919}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled{color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled a,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled a,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled .link,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled .link{color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.disabled:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.inline,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.inline{margin:0 7px 0 0}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary:hover,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary:hover,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.pressed,#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.primary.selected,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.primary.selected{background-color:#69010a}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.big .suffix_icon,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.big .suffix_icon{font-size:55%;vertical-align:middle}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split{padding-right:1.2em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.with_button_dropdown_split.big,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.with_button_dropdown_split.big{padding-right:1.8em}#main-toolbox .blockCheck input[type=checkbox]:checked+.checkbox-replacer:after.loading,#main-toolbox .blockCheck input[type=checkbox]+.checkbox-replacer:before.loading{opacity:.5;background-image:none}#main-toolbox .workLocal .propInput.global,#main-toolbox .workLocal .propInput.global *{display:none}#main-toolbox .workGlobal .propInput.local.default,#main-toolbox .workGlobal .propInput.local.default *{display:none}#main-toolbox .workGlobal .propInput.global.overridden,#main-toolbox .workGlobal .propInput.global.overridden *{display:none}#main-toolbox .workGlobalContent .propInput.local,#main-toolbox .workGlobalContent .propInput.local *{display:none}#main-toolbox .workGlobalContent .blockCheck{display:none}#main-toolbox .workGlobalContent .objLabel.level0{margin-right:0}#main-toolbox .customStyled span{display:none}#main-toolbox .customStyled:before{content:" "}#main-toolbox .customStyled:after{visibility:visible;font-family:FontAwesome;color:#333332;position:relative;top:1px;left:-2px;display:inline-block;content:"\f1b2";font-size:14px;opacity:1}#main-toolbox #tooldebug{overflow:auto}.mo-standalone #main-toolbox #tooltabs.ui-tabs>.ui-tabs-nav{padding-left:40px}#toolimagesgallery{padding:10px}@-webkit-keyframes slideright{0%{left:-450px}100%{left:0}}@keyframes slideright{0%{left:-450px}100%{left:0}}@-webkit-keyframes slideleft{0%{left:0}100%{left:-450px}}@keyframes slideleft{0%{left:0}100%{left:-450px}}#toolimages .pane{text-align:center}#toolimages .loadbutton,#toolimages .galleryPager{margin:.5em}.slidebar{z-index:200;position:absolute;top:0;width:397px;left:0;-webkit-animation:slideright .2s ease-out 0s 1;animation:slideright .2s ease-out 0s 1;border-radius:0;background-color:#fefdfc;-webkit-box-shadow:1px 0 3px gray;box-shadow:1px 0 3px gray}.slidebar .close{float:right;visibility:hidden;cursor:pointer;width:24px;display:block}.slidebar .close:before{visibility:visible;font-size:24px;font-family:FontAwesome;content:'\f00d';position:relative;top:0;right:0;width:24px;height:24px}.slidebar .pane{background-color:#fefdfc;border-radius:5px;margin:5px;padding:5px}.slidebar .pane-title{padding:5px;display:block}.slidebar.hidden{left:-450px;-webkit-animation:slideleft .2s ease-out 0s 1;animation:slideleft .2s ease-out 0s 1}#toolimagestab{padding:.2em}#toolimagestab ul.ui-tabs-nav{padding:0}#toolimagestab li.ui-state-active a{background:none repeat scroll 0 0 #FFF}#toolimagestab .ui-tabs-panel{display:block;margin-top:0;padding:15px 18px;background:none repeat scroll 0 0 #FFF;border:1px solid #d2cbb1;border-width:0 1px 1px}#main-preview .button,#main-preview .ui-button,#main-preview .button_dropdown_split{margin-top:0;margin-bottom:0}#main-preview #preview-toolbar{padding:3px 10px;text-align:center;position:absolute;bottom:0;right:0;left:0;z-index:200}#main-preview #frame-container{position:absolute;top:40px;bottom:40px;left:0;right:0;background-color:#fefdfc;-webkit-box-shadow:inset 0 0 10px gray;box-shadow:inset 0 0 10px gray}#frame-container>iframe{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 6px;width:100%;height:100%;overflow:auto;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(1);transform:scale(1)}#frame-container.desktop>iframe{padding:12px;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5)}#frame-container.large>iframe{padding:15px;width:250%;height:250%;-webkit-transform:scale(.4);transform:scale(.4)}@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0){@media{#main-wysiwyg-area table:not(.img-wysiwyg),#main-wysiwyg-area .selected table:not(.img-wysiwyg):hover{position:relative}#main-wysiwyg-area table:not(.img-wysiwyg):hover,#main-wysiwyg-area .selected table:not(.img-wysiwyg){position:static}}}@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0){@media{#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper{visibility:hidden!important;z-index:-1!important;opacity:1!important;border-width:0!important;border-style:solid!important}}}#main-edit-area .editable{position:relative}#main-edit-area .sortable-blocks-edit.empty{min-height:200px;height:200px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 30px;border:2px dashed currentcolor;border-radius:20px;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite;position:relative}#main-edit-area .sortable-blocks-edit.empty:after{content:attr(data-empty-content);font-size:21.76px;font-weight:400;text-decoration:none;font-family:trebuchet ms,arial,sans-serif}#main-edit-area .isdragging .sortable-blocks-edit.empty:after{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;height:auto;bottom:-14px}@-webkit-keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@keyframes pulse{0%{left:-10px;right:-10px;opacity:.8}100%{left:-30px;right:-30px;opacity:0}}@-webkit-keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@keyframes slidein{0%{-webkit-transform:scale(1.5,1.5);transform:scale(1.5,1.5);opacity:0}100%{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:1}}@-webkit-keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}@keyframes slidein2{0%{margin-left:-30%;margin-right:30%;opacity:0}100%{margin-left:0;margin-right:0;opacity:1}}#main-edit-area .sortable-placeholder{-webkit-animation:slidein .2s linear 0s 1;animation:slidein .2s linear 0s 1}#main-edit-area .sortable-placeholder:after{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border:10px solid red;border-color:rgba(255,0,0,.1) red;z-index:50;opacity:.8}#main-edit-area .img-wysiwyg{position:relative;display:block;width:auto}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none;line-height:45px;height:auto;top:-10px;bottom:-10px}#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before{background-color:rgba(204,0,0,.8);-webkit-animation:none;animation:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder)+div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700;content:attr(data-drop-content);text-align:center;line-height:24px;position:absolute;-webkit-animation:droppable-pulsate 1s ease-in-out infinite alternate;animation:droppable-pulsate 1s ease-in-out infinite alternate;top:-14px;left:-10px;height:24px;background-color:rgba(204,0,0,.6);background-clip:content-box;color:white;right:-10px;border:2px dashed #c00;z-index:10;pointer-events:none}#main-edit-area .isdragging .sortable-blocks-edit>div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after{bottom:-20px;top:auto}#main-edit-area .editable.sortable-placeholder:hover .tools{visibility:hidden}#main-edit-area .editable:hover .tools{visibility:visible}#main-edit-area .ui-sortable-helper>*,#main-edit-area .ui-sortable-helper .tools>*{opacity:.3}#main-edit-area .ui-sortable-helper .tools,#main-edit-area .ui-sortable-helper .tools .handle{opacity:1}#main-edit-area .tool{font-size:1em;line-height:normal;min-height:30px;min-height:20px \9;vertical-align:middle;background-color:#333332;border:1px solid #333332;color:#fefdfc;border-radius:5px;padding:5px 7px;margin:10px 7px 10px 0;text-decoration:none;white-space:nowrap;font-weight:700;display:inline-block;text-align:center;width:25px;height:25px;font-size:20px;padding:3px;padding-bottom:2px;margin:0;min-height:25px;-webkit-box-shadow:0 0 5px #fff;box-shadow:0 0 5px #fff;cursor:pointer}li #main-edit-area .tool{color:#fefdfc}#main-edit-area .tool img{vertical-align:middle;margin:0 .2em}#main-edit-area .tool:hover,#main-edit-area .tool.pressed,#main-edit-area .tool.selected{text-decoration:none;background-color:#191919}#main-edit-area .tool.disabled{color:#666665}#main-edit-area .tool.disabled a,#main-edit-area .tool.disabled .link{color:#666665}#main-edit-area .tool.disabled:hover{background-color:#333332;border:1px solid #333332;color:#666665}#main-edit-area .tool.inline{margin:0 7px 0 0}#main-edit-area .tool.primary{color:#fefdfc;background-color:#9c010f;border-color:#9c010f}#main-edit-area .tool.primary:hover,#main-edit-area .tool.primary.pressed,#main-edit-area .tool.primary.selected{background-color:#69010a}#main-edit-area .tool.big{font-size:1.5em;border-radius:7px;padding:7.5px 10.5px}#main-edit-area .tool.big .suffix_icon{font-size:55%;vertical-align:middle}#main-edit-area .tool.with_button_dropdown_split{padding-right:1.2em}#main-edit-area .tool.with_button_dropdown_split.big{padding-right:1.8em}#main-edit-area .tool.loading{opacity:.5;background-image:none}#main-edit-area .tool input.fileupload{padding-top:50px}#main-edit-area .tool:hover{background-color:#191919}#main-edit-area .tools .tool.handle{float:left;margin-left:16px;cursor:move}#main-edit-area .tools .tool.moveup,#main-edit-area .tools .tool.movedown{float:left;margin-left:3px}#main-edit-area .tools .tool.delete,#main-edit-area .tools .tool.clone{float:right;margin-left:3px}#main-edit-area .tools .tool.delete{margin-right:16px}#main-edit-area .midtools{visibility:hidden;z-index:30;position:absolute;bottom:16px;text-align:left}#main-edit-area .img-wysiwyg:hover .midtools{visibility:visible}#main-edit-area .uploading .midtools{visibility:hidden!important}#main-edit-area .uploading .fileuploadtext{visibility:hidden!important}#main-edit-area .uploading .fileupload.withfile{visibility:hidden}#main-edit-area .img-wysiwyg .img-size{visibility:hidden;position:absolute;top:0;right:0;padding:2px;font-family:trebuchet ms,arial,sans-serif;font-size:12px;background-color:rgba(128,128,128,.5);color:white}#main-edit-area .img-wysiwyg:hover .img-size{visibility:visible}#main-edit-area .midtools{margin-left:4px}#main-edit-area .midtools .tool{margin-left:4px}#main-edit-area .tools{position:absolute;visibility:hidden;margin:0;top:-16px;left:0;right:0;height:1px;z-index:20;text-align:center}#main-wysiwyg-area{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:white}#main-edit-area,#main-toolbox,#main-preview{position:absolute;top:0;bottom:0}@-webkit-keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}@keyframes opacityAnimation{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}#main-wysiwyg-area a[href]{cursor:default!important}#main-wysiwyg-area a[contenteditable]{cursor:text!important}#main-wysiwyg-area .wysiwyg-loading{pointer-events:none;-webkit-animation:opacityAnimation 2s infinite;animation:opacityAnimation 2s infinite}#main-wysiwyg-area span[contenteditable],#main-wysiwyg-area a[contenteditable],#main-wysiwyg-area b[contenteditable],#main-wysiwyg-area i[contenteditable],#main-wysiwyg-area cite[contenteditable],#main-wysiwyg-area code[contenteditable],#main-wysiwyg-area em[contenteditable],#main-wysiwyg-area label[contenteditable],#main-wysiwyg-area small[contenteditable],#main-wysiwyg-area strong[contenteditable],#main-wysiwyg-area sub[contenteditable],#main-wysiwyg-area sup[contenteditable],#main-wysiwyg-area q[contenteditable]{display:inline-block}#main-wysiwyg-area [contenteditable]{min-width:1em}#main-wysiwyg-area [contenteditable]:empty:before{content:"\2063";display:inline-block;position:relative}#main-edit-area .mce-edit-focus{outline:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-12px;right:-12px;border:1px solid transparent;border-width:0;border-left-width:10px;border-right-width:10px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px dashed transparent;opacity:.3;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before{border-color:currentcolor}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before{border-color:transparent}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body{position:relative;cursor:text}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover{z-index:11}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img{position:relative}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper:after{content:"";display:block;position:absolute;top:-3px;bottom:-3px;left:-7px;right:-7px;border:1px solid transparent;border-width:0;border-left-width:5px;border-right-width:5px;outline:1px solid transparent;pointer-events:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after{outline-color:transparent;border-color:#c00;border-style:dashed solid;-webkit-animation:border-color-selection-pulsate 4s infinite;animation:border-color-selection-pulsate 4s infinite}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after{outline-color:currentcolor;border-top-color:transparent!important;border-bottom-color:transparent!important;-webkit-animation:none;animation:none}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem{z-index:10}#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover{z-index:11}#main-edit-area .textMiddle{text-shadow:none!important;font-weight:700;background-color:rgba(255,255,255,.2);padding:3px;position:absolute;top:2px;left:2px;right:2px}#main-wysiwyg-area replacedbody{position:relative;display:block;min-height:100%;max-width:700px;margin:0 auto!important;padding:16px 20px!important}@media(min-width:1400px){#main-wysiwyg-area replacedbody{max-width:800px}}@media(min-width:1600px){#main-wysiwyg-area replacedbody{max-width:900px}}@media(max-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:700px}}@media(min-width:1700px){.withPreviewFrame #main-wysiwyg-area replacedbody{max-width:800px}}@media(max-width:1400px){.withPreviewFrame #main-wysiwyg-area replacedbody:before,.withPreviewFrame #main-wysiwyg-area replacedbody:after{display:none}}@media(min-width:1100px){#main-wysiwyg-area replacedbody:before,#main-wysiwyg-area replacedbody:after{content:"";display:block;position:absolute;top:0;left:0;width:40px;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,0) 19%,white 21%,white 79%,rgba(255,255,255,0) 81%),linear-gradient(135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 28%,white 28%,white 72%,rgba(255,255,255,0) 72%,rgba(255,255,255,0) 75%),linear-gradient(135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%),linear-gradient(-135deg,rgba(255,255,255,0) 25%,#CCC 25%,white 28%,white 72%,#CCC 75%,rgba(255,255,255,0) 75%);background-size:80px 20px;background-position:left -40px top 0;z-index:1}#main-wysiwyg-area replacedbody:after{left:auto;right:0;background-position:left 0 top 0}}.mce-toolbar-grp.mce-panel .mce-btn-group{-webkit-box-shadow:0 0 5px #fff;box-shadow:0 0 5px #fff}.moxman-container.moxman-window,.mce-window{border:none;border-top-left-radius:7px;border-top-right-radius:7px;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;overflow:hidden}.moxman-window .moxman-window-head,.mce-window .moxman-window-head,.moxman-window .mce-window-head,.mce-window .mce-window-head{background:none #d2cbb1;font-size:1.1em}.moxman-window .moxman-window-head .moxman-title,.mce-window .moxman-window-head .moxman-title,.moxman-window .mce-window-head .moxman-title,.mce-window .mce-window-head .moxman-title,.moxman-window .moxman-window-head .mce-title,.mce-window .moxman-window-head .mce-title,.moxman-window .mce-window-head .mce-title,.mce-window .mce-window-head .mce-title{color:#333332}.moxman-window .moxman-window-head button.moxman-close,.mce-window .moxman-window-head button.moxman-close,.moxman-window .mce-window-head button.moxman-close,.mce-window .mce-window-head button.moxman-close,.moxman-window .moxman-window-head button.mce-close,.mce-window .moxman-window-head button.mce-close,.moxman-window .mce-window-head button.mce-close,.mce-window .mce-window-head button.mce-close{font-size:1.6em;top:6px}.moxman-window .moxman-window-head button.moxman-close:hover,.mce-window .moxman-window-head button.moxman-close:hover,.moxman-window .mce-window-head button.moxman-close:hover,.mce-window .mce-window-head button.moxman-close:hover,.moxman-window .moxman-window-head button.mce-close:hover,.mce-window .moxman-window-head button.mce-close:hover,.moxman-window .mce-window-head button.mce-close:hover,.mce-window .mce-window-head button.mce-close:hover{color:#333332}.moxman-window .moxman-panel,.mce-window .moxman-panel,.moxman-window .mce-panel,.mce-window .mce-panel{background-color:#fefdfc}.moxman-window .moxman-container-body .moxman-panel.moxman-first,.mce-window .moxman-container-body .moxman-panel.moxman-first,.moxman-window .mce-container-body .moxman-panel.moxman-first,.mce-window .mce-container-body .moxman-panel.moxman-first,.moxman-window .moxman-container-body .mce-panel.mce-first,.mce-window .moxman-container-body .mce-panel.mce-first,.moxman-window .mce-container-body .mce-panel.mce-first,.mce-window .mce-container-body .mce-panel.mce-first{border-bottom:none}.moxman-window div.moxman-filelist-head,.mce-window div.moxman-filelist-head{background-color:#fefdfc;border-bottom:none}.moxman-window .moxman-filelist,.mce-window .moxman-filelist{border-top:2px solid #f1e4d6}.moxman-window .moxman-filelist .moxman-filelist-row td,.mce-window .moxman-filelist .moxman-filelist-row td{background-color:#f1eee6;border-bottom:none}.moxman-window .moxman-filelist .moxman-filelist-odd td,.mce-window .moxman-filelist .moxman-filelist-odd td{background-color:#fefdfc}.moxman-window .moxman-filelist tr.moxman-checked,.mce-window .moxman-filelist tr.moxman-checked,.moxman-window .moxman-filelist tr.moxman-checked td,.mce-window .moxman-filelist tr.moxman-checked td{background-color:#ffff90;color:#333332}.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico{color:#333332}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down{border-top-color:#333332}.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up{border-bottom-color:#333332}.moxman-window .moxman-thumbnailview,.mce-window .moxman-thumbnailview{border-top:2px solid #f1e4d6}.moxman-window .moxman-thumbnailview .moxman-thumb,.mce-window .moxman-thumbnailview .moxman-thumb{border:1px solid #f1eee6}.moxman-window .moxman-thumbnailview .moxman-thumb:hover,.mce-window .moxman-thumbnailview .moxman-thumb:hover,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked{outline:2px solid #ffff90}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info{background-color:#f1eee6;color:#333332}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox{background-color:#fefdfc;color:#333332;border:1px solid #333332}.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before{color:#333332}.moxman-window i.moxman-i-checkbox,.mce-window i.moxman-i-checkbox,.moxman-window i.mce-i-checkbox,.mce-window i.mce-i-checkbox{background-color:transparent}.moxman-window .mce-listbox,.mce-window .mce-listbox,.moxman-window .mce-listbox:hover,.mce-window .mce-listbox:hover,.moxman-window .mce-listbox.mce-active,.mce-window .mce-listbox.mce-active,.moxman-window .mce-listbox.mce-active:hover,.mce-window .mce-listbox.mce-active:hover,.moxman-window .mce-listbox:focus,.mce-window .mce-listbox:focus{background-color:transparent;text-shadow:none;border:1px solid #c5c5c5}.moxman-window .mce-listbox span,.mce-window .mce-listbox span,.moxman-window .mce-listbox:hover span,.mce-window .mce-listbox:hover span,.moxman-window .mce-listbox.mce-active span,.mce-window .mce-listbox.mce-active span,.moxman-window .mce-listbox.mce-active:hover span,.mce-window .mce-listbox.mce-active:hover span,.moxman-window .mce-listbox:focus span,.mce-window .mce-listbox:focus span,.moxman-window .mce-listbox .mce-ico,.mce-window .mce-listbox .mce-ico,.moxman-window .mce-listbox:hover .mce-ico,.mce-window .mce-listbox:hover .mce-ico,.moxman-window .mce-listbox.mce-active .mce-ico,.mce-window .mce-listbox.mce-active .mce-ico,.moxman-window .mce-listbox.mce-active:hover .mce-ico,.mce-window .mce-listbox.mce-active:hover .mce-ico,.moxman-window .mce-listbox:focus .mce-ico,.mce-window .mce-listbox:focus .mce-ico{color:#333332}.moxman-window .mce-listbox i.mce-caret,.mce-window .mce-listbox i.mce-caret,.moxman-window .mce-listbox:hover i.mce-caret,.mce-window .mce-listbox:hover i.mce-caret,.moxman-window .mce-listbox.mce-active i.mce-caret,.mce-window .mce-listbox.mce-active i.mce-caret,.moxman-window .mce-listbox.mce-active:hover i.mce-caret,.mce-window .mce-listbox.mce-active:hover i.mce-caret,.moxman-window .mce-listbox:focus i.mce-caret,.mce-window .mce-listbox:focus i.mce-caret{border-top-color:#333332}.moxman-window .moxman-btn i,.mce-window .moxman-btn i,.moxman-window .mce-btn i,.mce-window .mce-btn i{text-shadow:none}.moxman-window input,.mce-window input,.moxman-window select,.mce-window select,.moxman-window textarea,.mce-window textarea,.moxman-window button,.mce-window button{max-width:none}.moxman-tooltip,.mce-tooltip{z-index:500000!important}.mce-toolbar-grp.mce-panel,.mce-tinymce-inline{background-color:transparent!important;border-color:transparent!important}.mce-menu,.moxman-menu{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden}body.moxman-v2 .moxman-btn{border:none;background-color:transparent}body.moxman-v2 .moxman-btn button{background-color:#333332;color:#fefdfc;border:1px solid #333332;border-radius:5px}body.moxman-v2 .moxman-btn button i{color:#fefdfc}body.moxman-v2 .moxman-btn button .moxman-caret{border-top-color:#fefdfc}body.moxman-v2 .moxman-btn.moxman-active button{background-color:#191919}body.moxman-v2 .moxman-btn.moxman-primary button{color:#fefdfc;background-color:#9c010f;border:1px solid #9c010f}body.moxman-v2 .moxman-btn.moxman-primary button i{color:#fefdfc}body.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret{border-top-color:#fefdfc}body.moxman-v2 .moxman-combobox .moxman-textbox{border-top-left-radius:5px;border-bottom-left-radius:5px}body.moxman-v2 .moxman-combobox .moxman-btn button{border-top-left-radius:0;border-bottom-left-radius:0}@-webkit-keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#c00}60%{border-color:#c00}100%{border-color:currentcolor}}@keyframes border-color-selection-pulsate{0%{border-color:currentcolor}40%{border-color:#c00}60%{border-color:#c00}100%{border-color:currentcolor}}@-webkit-keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}@keyframes droppable-pulsate{0%{opacity:1}100%{opacity:.1}}body{background-color:#d2cbb1;margin:0;overflow:hidden}input,select,textarea,button{font-family:inherit;font-size:inherit;max-width:100%}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable],[contenteditable] *,.evo-color span{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}a[disabledhref]{color:#06C;color:-webkit-link;text-decoration:underline;cursor:auto}a[disabledhref]:-moz-read-write{text-decoration:underline -moz-anchor-decoration;color:-moz-hyperlinktext}#page{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#main-edit-area{left:0;right:0;overflow:hidden}#main-edit-area,#toolbar{min-width:600px}#toolbar{z-index:110!important;background-color:#d2cbb1;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0;right:0;height:40px}#main-toolbox{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;left:0;width:400px;-webkit-box-shadow:0 0 10px gray,0 0 5px gray;box-shadow:0 0 10px gray,0 0 5px gray}.withToolbox #main-toolbox{display:block}.withToolbox #main-edit-area,.withToolbox #toolbar{left:400px}#main-preview{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;right:0;width:340px;overflow:hidden}.withPreviewFrame #main-preview{display:block}.withPreviewFrame #main-edit-area{right:345px}#main-edit-area:before,#main-edit-area:after,#frame-container:before,#frame-container:after{content:"";display:block;position:absolute;border:0;height:40px;-webkit-box-shadow:0 1px 10px gray,0 0 5px gray;box-shadow:0 1px 10px gray,0 0 5px gray;left:0;right:0;top:0;z-index:100}#main-edit-area:after{top:auto;bottom:-40px}#frame-container:before{top:-40px}#frame-container:after{top:auto;bottom:-40px}#main-wysiwyg-area{position:absolute;top:40px;left:0;right:0;bottom:0;overflow-y:auto;-webkit-transform:translate3d(0,0,0)}#main-toolbox .draggable.image{width:85px;height:85px;text-align:center;vertical-align:middle;padding:5px;border:0;background-size:contain;background-repeat:no-repeat;background-position:center;background-origin:content-box}#main-toolbox .draggable.image img{opacity:0}.ui-draggable-dragging{z-index:10000}.ui-draggable-dragging.sortable-placeholder{top:0!important;left:0!important}.uploading .fileuploadtext{display:none}.fileuploadtext{top:0!important;left:0!important;right:0!important;bottom:0!important;color:#000}.uploadzone .fileuploadtext{font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-weight:700}.isdragging .uploadzone .fileuploadtext,.isdraggingimg .uploadzone .fileuploadtext{display:none!important}.uploadzone .progress{display:none}.uploadzone.uploading .progress{display:block}.mo-uploadzone{position:absolute;z-index:15;top:0;left:0;bottom:0;right:0;display:block}.toast-bottom-full-width{margin-left:25%;margin-right:25%;width:50%!important}body>.ui-tooltip{border-radius:7px;border:0 solid #807e7c;border-width:1px \9;border-color:rgba(128,126,124,0);-webkit-box-shadow:0 2px 20px #807e7c;box-shadow:0 2px 20px #807e7c;color:#333332;background-color:#fff;padding:0;overflow:hidden;font-family:trebuchet ms,arial,sans-serif;font-size:16px;text-decoration:none!important;font-size:14px;border-width:0;padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #AAA;box-shadow:0 0 5px #AAA}.ui-helper-hidden-accessible{border:0 none;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}i.mce-i-newsletter-profile:before{content:'\e826';font-family:fontello}@-webkit-keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}@keyframes loading{0%{-webkit-transform:scale(1,1) rotate(0deg);transform:scale(1,1) rotate(0deg)}50%{-webkit-transform:scale(1.5,1.5) rotate(360deg);transform:scale(1.5,1.5) rotate(360deg)}100%{-webkit-transform:scale(1,1) rotate(720deg);transform:scale(1,1) rotate(720deg)}}.mo-standalone #loading.loading img{-webkit-animation:loading 4s linear infinite;animation:loading 4s linear infinite}@-webkit-keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}@keyframes broken{0%{opacity:0}95%{opacity:0}100%{opacity:1}}#loading.loading div{-webkit-animation:broken 10s linear forwards;animation:broken 10s linear forwards;padding:1em;opacity:1}#carousel-dialog .carousel-buttons{position:absolute;right:5px;bottom:10px}#carousel-dialog .carousel-buttons .button{font-size:1.2em}#carousel-dialog .carousel-remember{font-size:1.2em;position:absolute;left:10px;bottom:17px}#carousel-dialog .carousel-remember input{vertical-align:middle;margin-right:.2em}#carousel-dialog .owl-carousel{height:550px}#carousel-dialog .owl-controls{position:absolute;left:0;right:0;bottom:7px}#carousel-dialog .owl-controls .owl-page.active span{background-color:#333332}#carousel-dialog .owl-controls .owl-page span{background-color:#d2cbb1}#carousel-dialog .carousel-help{margin-top:5px;font-size:1.2em}#carousel-dialog .carousel-help-text{line-height:1.5em}#carousel-dialog .carousel-help-text.large-width{width:80%;margin:0 auto}#carousel-dialog .carousel-help-text p{padding:.5em}#carousel-dialog .carousel-help .left{margin-right:20px}#carousel-dialog .carousel-help .top{margin-bottom:10px}#carousel-dialog .carousel-help-balloon{display:-webkit-box;display:flex;display:-ms-flexbox;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;overflow:auto;padding:0 .5em}#carousel-dialog .carousel-help-balloon>div{width:100%}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}.evo-pop{z-index:10000;width:204px;padding:3px 3px 0}.evo-pop-ie{z-index:10000;width:212px;padding:3px}.evo-palette td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette tr.top>td{border-bottom:0}.evo-palette tr.in>td{border-top:0;border-bottom:0}.evo-palette tr.bottom>td{border-top:0}.evo-palette div.sep{height:3px}.evo-palette,.evo-palette-ie{border-collapse:separate;border-spacing:4px 0}.evo-palette th,.evo-palette-ie th{border:0;padding:5px 3px;text-align:left;font-weight:400;background:transparent!important}.evo-palette-ie td{font-size:1px;border:solid 1px silver;padding:7px;cursor:pointer}.evo-palette2,.evo-palette2-ie{margin:auto;border-collapse:collapse}.evo-palette2 td,.evo-palette2-ie td{font-size:1px;cursor:pointer}.evo-palette2 td{padding:6px 7px}.evo-palette2-ie td{padding:5px}.evo-palcenter{padding:5px;text-align:center}.evo-colorind,.evo-colorind-ie,.evo-colorind-ff{border:solid 1px #c3c3c3;width:18px;height:18px;float:right}.evo-colorind-ie{position:relative;top:-23px}.evo-colorbox-ie{font-size:8px;padding:3px 9px!important}.evo-pop:after,.evo-pop-ie:after,.evo-colorind:after,.evo-colorind-ie:after,.evo-colorind-ff:after,.evo-color span:after,.evo-cHist:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0}.evo-color{width:94px;padding:1px 3px 0 4px}.evo-color div{border:solid 1px gray;border-right:solid 1px silver;border-bottom:solid 1px silver;padding:3px;margin-bottom:5px;width:10px;height:10px;float:left}.evo-color span{font-size:15px;margin:1px 0 4px 3px;float:left}.evo-sep{height:10px;font-size:0}.evo-more{padding:4px 5px;font-size:smaller}.evo-cHist{padding:3px}.evo-cHist div{cursor:pointer;border:solid 1px silver;padding:3px;margin:5px;width:10px;height:10px;float:left}.evo-transparent{background-image:repeating-linear-gradient(135deg,black,black 1px,white 1px,white 3px)}.evo-tr-box{cursor:pointer;border:solid 1px silver;padding:3px;width:7px;height:7px;float:right;position:relative;right:-3px;top:2px}a.evo-hist{margin-left:6px}.evo-pointer{cursor:pointer}.evo-hidden-button{display:none} +/*# sourceMappingURL=mosaico.min.css.map */ \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico.min.css.map b/client/static/mosaico/rs/mosaico.min.css.map new file mode 100644 index 00000000..da58883c --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../build/mosaico.css","../../node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/core.less","../../node_modules/font-awesome/less/larger.less","../../node_modules/font-awesome/less/fixed-width.less","../../node_modules/font-awesome/less/list.less","../../node_modules/font-awesome/less/bordered-pulled.less","../../node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/mixins.less","../../node_modules/font-awesome/less/rotated-flipped.less","../../node_modules/font-awesome/less/stacked.less","../../node_modules/font-awesome/less/icons.less","../../node_modules/font-awesome/less/screen-reader.less","../../node_modules/font-awesome/less/mixins.less","../../root/mosaico/node_modules/font-awesome/less/path.less","../../root/mosaico/node_modules/font-awesome/less/core.less","../../root/mosaico/node_modules/font-awesome/less/larger.less","../../root/mosaico/node_modules/font-awesome/less/fixed-width.less","../../root/mosaico/node_modules/font-awesome/less/list.less","../../root/mosaico/node_modules/font-awesome/less/bordered-pulled.less","../../root/mosaico/node_modules/font-awesome/less/animated.less","../../root/mosaico/node_modules/font-awesome/less/rotated-flipped.less","../../root/mosaico/node_modules/font-awesome/less/stacked.less","../../root/mosaico/node_modules/font-awesome/less/screen-reader.less","../../src/css/style_mosaico_tools.less","../../src/css/style_mosaico.less","../../src/css/style_elements.less","../../src/css/style_elements_mixins.less","../../src/css/style_elements_jquery.less","../../src/css/safarihack.css","../../src/css/style_mosaico_content.less","../../src/css/style_elements_moxie.less","../../node_modules/toastr/toastr.less","../../node_modules/evol-colorpicker/css/evol-colorpicker.css"],"names":[],"mappings":"AAAA;;;GAGG,ACAH,WACE,wBAAA,AACA,qDAAA,AACA,iXAAA,CDMD,AEZA,ICIC,qBAAA,AACA,6CAAA,AACA,kBAAA,AACA,oBAAA,AACA,mCAAA,AACA,iCAAA,CHWD,AEpBA,OEKC,uBAAA,AACA,kBAAA,AACA,mBAAA,CJmBD,AE1BA,OESsB,aAAA,CJoBtB,AE7BA,OEUsB,aAAA,CJsBtB,AEhCA,OEWsB,aAAA,CJwBtB,AEnCA,OEYsB,aAAA,CJ0BtB,AEtCA,OGGC,mBAAA,AACA,iBAAA,CLsCD,AE1CA,OIIC,eAAA,AACA,yBAAA,AACA,oBAAA,CNyCD,AE/CA,UIOQ,iBAAA,CN2CR,AElDA,OIUC,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,gBAAA,AACA,iBAAA,CN2CD,AEzDA,aIgBG,kBAAA,CN4CH,AE5DA,WKIC,yBAAA,AACA,wBAAA,AACA,kBAAA,CP2DD,AEjEA,cKS6B,UAAA,CP2D7B,AEpEA,eKU8B,WAAA,CP6D9B,AEvEA,iBKagC,iBAAA,CP6DhC,AE1EA,kBKciC,gBAAA,CP+DjC,AO3DD,YAAc,WAAA,CP+Db,AO9DD,WAAa,UAAA,CPiEZ,AO9DC,cAAc,iBAAA,CPiEf,AOhEC,eAAe,gBAAA,CPmEhB,AE1FA,SMIC,6CAAA,AACQ,oCAAA,CRyFT,AE9FA,UMSC,+CAAA,AACQ,sCAAA,CRwFT,AQrFD,2BACE,GACE,+BAAA,AACQ,sBAAA,CRuFT,AQrFD,KACE,iCAAA,AACQ,wBAAA,CRuFT,CACF,AQpFD,mBACE,GACE,+BAAA,AACQ,sBAAA,CRsFT,AQpFD,KACE,iCAAA,AACQ,wBAAA,CRsFT,CACF,AEtHA,cOcC,sEAAA,AACA,gCAAA,AAEQ,uBAAA,CT2GT,AE5HA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTiHT,AElIA,eOcC,sEAAA,AACA,iCAAA,AAEQ,wBAAA,CTuHT,AExIA,oBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CTsHT,AE9IA,kBOqBC,+EAAA,AACA,8BAAA,AAEQ,qBAAA,CT4HT,AEpJA,gHQkBC,oBAAA,WAAA,CVyID,AE3JA,USIC,kBAAA,AACA,qBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,qBAAA,CX0JD,AEnKA,0BSYC,kBAAA,AACA,OAAA,AACA,WAAA,AACA,iBAAA,CX2JD,AE1KA,aSiB4B,mBAAA,CX4J5B,AE7KA,aSkB4B,aAAA,CX8J5B,AEhLA,YSmB2B,UAAA,CXgK3B,AEnLA,iBUGgC,eAAA,CZqLhC,AExLA,iBUIgC,eAAA,CZuLhC,AE3LA,kBUKiC,eAAA,CZyLjC,AE9LA,sBUMqC,eAAA,CZ2LrC,AEjMA,iBUOgC,eAAA,CZ6LhC,AEpMA,gBUQ+B,eAAA,CZ+L/B,AEvMA,kBUSiC,eAAA,CZiMjC,AE1MA,gBUU+B,eAAA,CZmM/B,AE7MA,gBUW+B,eAAA,CZqM/B,AEhNA,oBUYmC,eAAA,CZuMnC,AEnNA,cUa6B,eAAA,CZyM7B,AEtNA,mBUckC,eAAA,CZ2MlC,AEzNA,iBUegC,eAAA,CZ6MhC,AE5NA,oDUkBgC,eAAA,CZ+MhC,AEjOA,uBUmBsC,eAAA,CZiNtC,AEpOA,wBUoBuC,eAAA,CZmNvC,AEvOA,qBUqBoC,eAAA,CZqNpC,AE1OA,kBUsBiC,eAAA,CZuNjC,AE7OA,+BUwB8B,eAAA,CZyN9B,AEjPA,mBUyBkC,eAAA,CZ2NlC,AEpPA,gBU0B+B,eAAA,CZ6N/B,AEvPA,kBU2BiC,eAAA,CZ+NjC,AE1PA,mBU4BkC,eAAA,CZiOlC,AE7PA,gBU6B+B,eAAA,CZmO/B,AEhQA,oBU8BmC,eAAA,CZqOnC,AEnQA,+BU+B8C,eAAA,CZuO9C,AEtQA,6BUgC4C,eAAA,CZyO5C,AEzQA,iBUiCgC,eAAA,CZ2OhC,AE5QA,yBUkCwC,eAAA,CZ6OxC,AE/QA,0CUoCiC,eAAA,CZ+OjC,AEnRA,mBUqCkC,eAAA,CZiPlC,AEtRA,oBUsCmC,eAAA,CZmPnC,AEzRA,gBUuC+B,eAAA,CZqP/B,AE5RA,gBUwC+B,eAAA,CZuP/B,AE/RA,sBUyCqC,eAAA,CZyPrC,AElSA,sBU0CqC,eAAA,CZ2PrC,AErSA,uBU2CsC,eAAA,CZ6PtC,AExSA,qBU4CoC,eAAA,CZ+PpC,AE3SA,kBU6CiC,eAAA,CZiQjC,AE9SA,mBU8CkC,eAAA,CZmQlC,AEjTA,eU+C8B,eAAA,CZqQ9B,AEpTA,gBUgD+B,eAAA,CZuQ/B,AEvTA,gBUiD+B,eAAA,CZyQ/B,AE1TA,oBUkDmC,eAAA,CZ2QnC,AE7TA,iBUmDgC,eAAA,CZ6QhC,AEhUA,kBUoDiC,eAAA,CZ+QjC,AEnUA,gBUqD+B,eAAA,CZiR/B,AEtUA,gBUsD+B,eAAA,CZmR/B,AEzUA,kBUuDiC,eAAA,CZqRjC,AE5UA,uBUwDsC,eAAA,CZuRtC,AE/UA,sBUyDqC,eAAA,CZyRrC,AElVA,sBU0DqC,eAAA,CZ2RrC,AErVA,wBU2DuC,eAAA,CZ6RvC,AExVA,uBU4DsC,eAAA,CZ+RtC,AE3VA,yBU6DwC,eAAA,CZiSxC,AE9VA,gBU8D+B,eAAA,CZmS/B,AEjWA,qCUgEkC,eAAA,CZqSlC,AErWA,kBUiEiC,eAAA,CZuSjC,AExWA,wBUkEuC,eAAA,CZySvC,AE3WA,uDUqEoC,eAAA,CZ2SpC,AEhXA,kBUsEiC,eAAA,CZ6SjC,AEnXA,sBUuEqC,eAAA,CZ+SrC,AEtXA,kBUwEiC,eAAA,CZiTjC,AEzXA,gBUyE+B,eAAA,CZmT/B,AE5XA,2CU2E0C,eAAA,CZqT1C,AEhYA,0BU4EyC,eAAA,CZuTzC,AEnYA,0BU6EyC,eAAA,CZyTzC,AEtYA,kBU8EiC,eAAA,CZ2TjC,AEzYA,yBU+EwC,eAAA,CZ6TxC,AE5YA,yBUgFwC,eAAA,CZ+TxC,AE/YA,oBUiFmC,eAAA,CZiUnC,AElZA,gBUkF+B,eAAA,CZmU/B,AErZA,iBUmFgC,eAAA,CZqUhC,AExZA,gBUoF+B,eAAA,CZuU/B,AE3ZA,mBUqFkC,eAAA,CZyUlC,AE9ZA,wBUsFuC,eAAA,CZ2UvC,AEjaA,wBUuFuC,eAAA,CZ6UvC,AEpaA,iBUwFgC,eAAA,CZ+UhC,AEvaA,wBUyFuC,eAAA,CZiVvC,AE1aA,yBU0FwC,eAAA,CZmVxC,AE7aA,uBU2FsC,eAAA,CZqVtC,AEhbA,wBU4FuC,eAAA,CZuVvC,AEnbA,wBU6FuC,eAAA,CZyVvC,AEtbA,wBU8FuC,eAAA,CZ2VvC,AEzbA,2BU+F0C,eAAA,CZ6V1C,AE5bA,uBUgGsC,eAAA,CZ+VtC,AE/bA,sBUiGqC,eAAA,CZiWrC,AElcA,0BUkGyC,eAAA,CZmWzC,AErcA,0BUmGyC,eAAA,CZqWzC,AExcA,eUoG8B,eAAA,CZuW9B,AE3cA,sBUqGqC,eAAA,CZyWrC,AE9cA,uBUsGsC,eAAA,CZ2WtC,AEjdA,oBUuGmC,eAAA,CZ6WnC,AEpdA,sBUwGqC,eAAA,CZ+WrC,AEvdA,yCU0GgC,eAAA,CZiXhC,AE3dA,kBU2GiC,eAAA,CZmXjC,AE9dA,oBU4GmC,eAAA,CZqXnC,AEjeA,gBU6G+B,eAAA,CZuX/B,AEpeA,iBU8GgC,eAAA,CZyXhC,AEveA,oBU+GmC,eAAA,CZ2XnC,AE1eA,8BUgH6C,eAAA,CZ6X7C,AE7eA,gBUiH+B,eAAA,CZ+X/B,AEhfA,gBUkH+B,eAAA,CZiY/B,AEnfA,gBUmH+B,eAAA,CZmY/B,AEtfA,eUoH8B,eAAA,CZqY9B,AEzfA,qBUqHoC,eAAA,CZuYpC,AE5fA,mDUuH+C,eAAA,CZyY/C,AEhgBA,iBUwHgC,eAAA,CZ2YhC,AEngBA,oBUyHmC,eAAA,CZ6YnC,AEtgBA,kBU0HiC,eAAA,CZ+YjC,AEzgBA,mBU2HkC,eAAA,CZiZlC,AE5gBA,kBU4HiC,eAAA,CZmZjC,AE/gBA,sBU6HqC,eAAA,CZqZrC,AElhBA,wBU8HuC,eAAA,CZuZvC,AErhBA,mBU+HkC,eAAA,CZyZlC,AExhBA,yBUgIwC,eAAA,CZ2ZxC,AE3hBA,kBUiIiC,eAAA,CZ6ZjC,AE9hBA,uBUkIsC,eAAA,CZ+ZtC,AEjiBA,oBUmImC,eAAA,CZianC,AEpiBA,oBUoImC,eAAA,CZmanC,AEviBA,4CUsIoC,eAAA,CZqapC,AE3iBA,0BUuIyC,eAAA,CZuazC,AE9iBA,2BUwI0C,eAAA,CZya1C,AEjjBA,wBUyIuC,eAAA,CZ2avC,AEpjBA,eU0I8B,eAAA,CZ6a9B,AEvjBA,iCU4I+B,eAAA,CZ+a/B,AE3jBA,oBU6ImC,eAAA,CZibnC,AE9jBA,uBU8IsC,eAAA,CZmbtC,AEjkBA,yBU+IwC,eAAA,CZqbxC,AEpkBA,qBUgJoC,eAAA,CZubpC,AEvkBA,mBUiJkC,eAAA,CZyblC,AE1kBA,oBUkJmC,eAAA,CZ2bnC,AE7kBA,2BUmJ0C,eAAA,CZ6b1C,AEhlBA,sBUoJqC,eAAA,CZ+brC,AEnlBA,yBUqJwC,eAAA,CZicxC,AEtlBA,mBUsJkC,eAAA,CZmclC,AEzlBA,kBUuJiC,eAAA,CZqcjC,AE5lBA,yBUwJwC,eAAA,CZucxC,AE/lBA,kBUyJiC,eAAA,CZycjC,AElmBA,mBU0JkC,eAAA,CZ2clC,AErmBA,iBU2JgC,eAAA,CZ6chC,AExmBA,oBU4JmC,eAAA,CZ+cnC,AE3mBA,sBU6JqC,eAAA,CZidrC,AE9mBA,wBU8JuC,eAAA,CZmdvC,AEjnBA,mBU+JkC,eAAA,CZqdlC,AEpnBA,0CUiKmC,eAAA,CZudnC,AExnBA,kBUkKiC,eAAA,CZydjC,AE3nBA,kBUmKiC,eAAA,CZ2djC,AE9nBA,uBUoKsC,eAAA,CZ6dtC,AEjoBA,+BUsK8B,eAAA,CZ+d9B,AEroBA,iBUuKgC,eAAA,CZiehC,AExoBA,oBUwKmC,eAAA,CZmenC,AE3oBA,gBUyK+B,eAAA,CZqe/B,AE9oBA,uBU0KsC,eAAA,CZuetC,AEjpBA,wBU2KuC,eAAA,CZyevC,AEppBA,uBU4KsC,eAAA,CZ2etC,AEvpBA,qBU6KoC,eAAA,CZ6epC,AE1pBA,uBU8KsC,eAAA,CZ+etC,AE7pBA,6BU+K4C,eAAA,CZif5C,AEhqBA,8BUgL6C,eAAA,CZmf7C,AEnqBA,2BUiL0C,eAAA,CZqf1C,AEtqBA,6BUkL4C,eAAA,CZuf5C,AEzqBA,iBUmLgC,eAAA,CZyfhC,AE5qBA,kBUoLiC,eAAA,CZ2fjC,AE/qBA,iBUqLgC,eAAA,CZ6fhC,AElrBA,kBUsLiC,eAAA,CZ+fjC,AErrBA,qBUuLoC,eAAA,CZigBpC,AExrBA,sBUwLqC,eAAA,CZmgBrC,AE3rBA,kCU0LgC,eAAA,CZqgBhC,AE/rBA,iCU4L+B,eAAA,CZugB/B,AEnsBA,iBU6LgC,eAAA,CZygBhC,AEtsBA,iBU8LgC,eAAA,CZ2gBhC,AEzsBA,mCUgMmC,eAAA,CZ6gBnC,AE7sBA,mCUkMkC,eAAA,CZ+gBlC,AEjtBA,qBUmMoC,eAAA,CZihBpC,AEptBA,oCUqMmC,eAAA,CZmhBnC,AExtBA,kBUsMiC,eAAA,CZqhBjC,AE3tBA,sDUyM+B,eAAA,CZuhB/B,AEhuBA,mBU0MkC,eAAA,CZyhBlC,AEnuBA,mBU2MkC,eAAA,CZ2hBlC,AEtuBA,yBU4MwC,eAAA,CZ6hBxC,AEzuBA,qBU6MoC,eAAA,CZ+hBpC,AE5uBA,iBU8MgC,eAAA,CZiiBhC,AE/uBA,iBU+MgC,eAAA,CZmiBhC,AElvBA,iBUgNgC,eAAA,CZqiBhC,AErvBA,qBUiNoC,eAAA,CZuiBpC,AExvBA,4BUkN2C,eAAA,CZyiB3C,AE3vBA,8BUmN6C,eAAA,CZ2iB7C,AE9vBA,uBUoNsC,eAAA,CZ6iBtC,AEjwBA,iBUqNgC,eAAA,CZ+iBhC,AEpwBA,sBUsNqC,eAAA,CZijBrC,AEvwBA,oBUuNmC,eAAA,CZmjBnC,AE1wBA,sBUwNqC,eAAA,CZqjBrC,AE7wBA,uBUyNsC,eAAA,CZujBtC,AEhxBA,mBU0NkC,eAAA,CZyjBlC,AEnxBA,oCU4N+B,eAAA,CZ2jB/B,AEvxBA,0CU8NoC,eAAA,CZ6jBpC,AE3xBA,uCUgOmC,eAAA,CZ+jBnC,AE/xBA,oBUiOmC,eAAA,CZikBnC,AElyBA,oBUkOmC,eAAA,CZmkBnC,AEryBA,uCUoO+B,eAAA,CZqkB/B,AEzyBA,kCUsOgC,eAAA,CZukBhC,AE7yBA,2CUwOqC,eAAA,CZykBrC,AEjzBA,qBUyOoC,eAAA,CZ2kBpC,AEpzBA,sBU0OqC,eAAA,CZ6kBrC,AEvzBA,iCU4O+B,eAAA,CZ+kB/B,AE3zBA,mBU6OkC,eAAA,CZilBlC,AE9zBA,oBU8OmC,eAAA,CZmlBnC,AEj0BA,sCUgPoC,eAAA,CZqlBpC,AEr0BA,uBUiPsC,eAAA,CZulBtC,AEx0BA,oBUkPmC,eAAA,CZylBnC,AE30BA,0BUmPyC,eAAA,CZ2lBzC,AE90BA,wBUoPuC,eAAA,CZ6lBvC,AEj1BA,mBUqPkC,eAAA,CZ+lBlC,AEp1BA,uBUsPsC,eAAA,CZimBtC,AEv1BA,oBUuPmC,eAAA,CZmmBnC,AE11BA,kBUwPiC,eAAA,CZqmBjC,AE71BA,kBUyPiC,eAAA,CZumBjC,AEh2BA,mBU0PkC,eAAA,CZymBlC,AEn2BA,uBU2PsC,eAAA,CZ2mBtC,AEt2BA,sBU4PqC,eAAA,CZ6mBrC,AEz2BA,sBU6PqC,eAAA,CZ+mBrC,AE52BA,qBU8PoC,eAAA,CZinBpC,AE/2BA,kBU+PiC,eAAA,CZmnBjC,AEl3BA,uBUgQsC,eAAA,CZqnBtC,AEr3BA,gBUiQ+B,eAAA,CZunB/B,AEx3BA,oBUkQmC,eAAA,CZynBnC,AE33BA,uBUmQsC,eAAA,CZ2nBtC,AE93BA,6BUoQ4C,eAAA,CZ6nB5C,AEj4BA,8BUqQ6C,eAAA,CZ+nB7C,AEp4BA,2BUsQ0C,eAAA,CZioB1C,AEv4BA,6BUuQ4C,eAAA,CZmoB5C,AE14BA,sBUwQqC,eAAA,CZqoBrC,AE74BA,uBUyQsC,eAAA,CZuoBtC,AEh5BA,oBU0QmC,eAAA,CZyoBnC,AEn5BA,sBU2QqC,eAAA,CZ2oBrC,AEt5BA,mBU4QkC,eAAA,CZ6oBlC,AEz5BA,kBU6QiC,eAAA,CZ+oBjC,AE55BA,kBU8QiC,eAAA,CZipBjC,AE/5BA,0CUgRiC,eAAA,CZmpBjC,AEn6BA,oBUiRmC,eAAA,CZqpBnC,AEt6BA,sBUkRqC,eAAA,CZupBrC,AEz6BA,uBUmRsC,eAAA,CZypBtC,AE56BA,mBUoRkC,eAAA,CZ2pBlC,AE/6BA,kBUqRiC,eAAA,CZ6pBjC,AEl7BA,uCUuRgC,eAAA,CZ+pBhC,AEt7BA,sBUwRqC,eAAA,CZiqBrC,AEz7BA,oBUyRmC,eAAA,CZmqBnC,AE57BA,yBU0RwC,eAAA,CZqqBxC,AE/7BA,mBU2RkC,eAAA,CZuqBlC,AEl8BA,mBU4RkC,eAAA,CZyqBlC,AEr8BA,iBU6RgC,eAAA,CZ2qBhC,AEx8BA,mBU8RkC,eAAA,CZ6qBlC,AE38BA,sBU+RqC,eAAA,CZ+qBrC,AE98BA,kBUgSiC,eAAA,CZirBjC,AEj9BA,0BUiSyC,eAAA,CZmrBzC,AEp9BA,oBUkSmC,eAAA,CZqrBnC,AEv9BA,gBUmS+B,eAAA,CZurB/B,AE19BA,+CUqSoC,eAAA,CZyrBpC,AE99BA,4EUwSsC,eAAA,CZ2rBtC,AEn+BA,0BUySyC,eAAA,CZ6rBzC,AEt+BA,gBU0S+B,eAAA,CZ+rB/B,AEz+BA,qBU2SoC,eAAA,CZisBpC,AE5+BA,0CU6SuC,eAAA,CZmsBvC,AEh/BA,oBU8SmC,eAAA,CZqsBnC,AEn/BA,gBU+S+B,eAAA,CZusB/B,AEt/BA,uBUgTsC,eAAA,CZysBtC,AEz/BA,uBUiTsC,eAAA,CZ2sBtC,AE5/BA,qBUkToC,eAAA,CZ6sBpC,AE//BA,kBUmTiC,eAAA,CZ+sBjC,AElgCA,wBUoTuC,eAAA,CZitBvC,AErgCA,sBUqTqC,eAAA,CZmtBrC,AExgCA,4BUsT2C,eAAA,CZqtB3C,AE3gCA,kBUuTiC,eAAA,CZutBjC,AE9gCA,sBUwTqC,eAAA,CZytBrC,AEjhCA,6BUyT4C,eAAA,CZ2tB5C,AEphCA,kBU0TiC,eAAA,CZ6tBjC,AEvhCA,kBU2TiC,eAAA,CZ+tBjC,AE1hCA,+BU4T8C,eAAA,CZiuB9C,AE7hCA,gCU6T+C,eAAA,CZmuB/C,AEhiCA,6BU8T4C,eAAA,CZquB5C,AEniCA,+BU+T8C,eAAA,CZuuB9C,AEtiCA,iBUgUgC,eAAA,CZyuBhC,AEziCA,gBUiU+B,eAAA,CZ2uB/B,AE5iCA,kBUkUiC,eAAA,CZ6uBjC,AE/iCA,sBUmUqC,eAAA,CZ+uBrC,AEljCA,oBUoUmC,eAAA,CZivBnC,AErjCA,sBUqUqC,eAAA,CZmvBrC,AExjCA,sBUsUqC,eAAA,CZqvBrC,AE3jCA,sBUuUqC,eAAA,CZuvBrC,AE9jCA,uBUwUsC,eAAA,CZyvBtC,AEjkCA,kBUyUiC,eAAA,CZ2vBjC,AEpkCA,wBU0UuC,eAAA,CZ6vBvC,AEvkCA,0BU2UyC,eAAA,CZ+vBzC,AE1kCA,oBU4UmC,eAAA,CZiwBnC,AE7kCA,sBU6UqC,eAAA,CZmwBrC,AEhlCA,wBU8UuC,eAAA,CZqwBvC,AEnlCA,yBU+UwC,eAAA,CZuwBxC,AEtlCA,gCUgV+C,eAAA,CZywB/C,AEzlCA,wBUiVuC,eAAA,CZ2wBvC,AE5lCA,mBUkVkC,eAAA,CZ6wBlC,AE/lCA,sDUoV8C,eAAA,CZ+wB9C,AEnmCA,kDUsV4C,eAAA,CZixB5C,AEvmCA,wDUwV+C,eAAA,CZmxB/C,AE3mCA,+BU0V8B,eAAA,CZqxB9B,AE/mCA,eU2V8B,eAAA,CZuxB9B,AElnCA,iCU6V8B,eAAA,CZyxB9B,AEtnCA,gCU+V8B,eAAA,CZ2xB9B,AE1nCA,4DUmW8B,eAAA,CZ6xB9B,AEhoCA,kDUsW8B,eAAA,CZ+xB9B,AEroCA,8BUwW8B,eAAA,CZiyB9B,AEzoCA,kCU0W8B,eAAA,CZmyB9B,AE7oCA,gBU2W+B,eAAA,CZqyB/B,AEhpCA,qBU4WoC,eAAA,CZuyBpC,AEnpCA,0BU6WyC,eAAA,CZyyBzC,AEtpCA,2BU8W0C,eAAA,CZ2yB1C,AEzpCA,2BU+W0C,eAAA,CZ6yB1C,AE5pCA,4BUgX2C,eAAA,CZ+yB3C,AE/pCA,4BUiX2C,eAAA,CZizB3C,AElqCA,6BUkX4C,eAAA,CZmzB5C,AErqCA,qBUmXoC,eAAA,CZqzBpC,AExqCA,uBUoXsC,eAAA,CZuzBtC,AE3qCA,0BUqXyC,eAAA,CZyzBzC,AE9qCA,mBUsXkC,eAAA,CZ2zBlC,AEjrCA,gBUuX+B,eAAA,CZ6zB/B,AEprCA,uBUwXsC,eAAA,CZ+zBtC,AEvrCA,wBUyXuC,eAAA,CZi0BvC,AE1rCA,mBU0XkC,eAAA,CZm0BlC,AE7rCA,0BU2XyC,eAAA,CZq0BzC,AEhsCA,qBU4XoC,eAAA,CZu0BpC,AEnsCA,kBU6XiC,eAAA,CZy0BjC,AEtsCA,eU8X8B,eAAA,CZ20B9B,AEzsCA,qBU+XoC,eAAA,CZ60BpC,AE5sCA,4BUgY2C,eAAA,CZ+0B3C,AE/sCA,kBUiYiC,eAAA,CZi1BjC,AEltCA,yBUkYwC,eAAA,CZm1BxC,AErtCA,2BUmY0C,eAAA,CZq1B1C,AExtCA,yBUoYwC,eAAA,CZu1BxC,AE3tCA,2BUqY0C,eAAA,CZy1B1C,AE9tCA,4BUsY2C,eAAA,CZ21B3C,AEjuCA,iBUuYgC,eAAA,CZ61BhC,AEpuCA,mBUwYkC,eAAA,CZ+1BlC,AEvuCA,mBUyYkC,eAAA,CZi2BlC,AE1uCA,iBU0YgC,eAAA,CZm2BhC,AE7uCA,oBU2YmC,eAAA,CZq2BnC,AEhvCA,iBU4YgC,eAAA,CZu2BhC,AEnvCA,sBU6YqC,eAAA,CZy2BrC,AEtvCA,kBU8YiC,eAAA,CZ22BjC,AEzvCA,kBU+YiC,eAAA,CZ62BjC,AE5vCA,gBUgZ+B,eAAA,CZ+2B/B,AE/vCA,sCUkZmC,eAAA,CZi3BnC,AEnwCA,iBUmZgC,eAAA,CZm3BhC,AEtwCA,kBUoZiC,eAAA,CZq3BjC,AEzwCA,mBUqZkC,eAAA,CZu3BlC,AE5wCA,eUsZ8B,eAAA,CZy3B9B,AE/wCA,cUuZ6B,eAAA,CZ23B7B,AElxCA,iBUwZgC,eAAA,CZ63BhC,AErxCA,kBUyZiC,eAAA,CZ+3BjC,AExxCA,qBU0ZoC,eAAA,CZi4BpC,AE3xCA,0BU2ZyC,eAAA,CZm4BzC,AE9xCA,gCU4Z+C,eAAA,CZq4B/C,AEjyCA,+BU6Z8C,eAAA,CZu4B9C,AEpyCA,sDU+Z8C,eAAA,CZy4B9C,AExyCA,wBUgauC,eAAA,CZ24BvC,AE3yCA,sBUiaqC,eAAA,CZ64BrC,AE9yCA,wBUkauC,eAAA,CZ+4BvC,AEjzCA,uCUoa8B,eAAA,CZi5B9B,AErzCA,yBUqawC,eAAA,CZm5BxC,AExzCA,yBUsawC,eAAA,CZq5BxC,AE3zCA,iBUuagC,eAAA,CZu5BhC,AE9zCA,2BUwa0C,eAAA,CZy5B1C,AEj0CA,qBUyaoC,eAAA,CZ25BpC,AEp0CA,kBU0aiC,eAAA,CZ65BjC,AEv0CA,6DU6aqC,eAAA,CZ+5BrC,AE50CA,kDU+ayC,eAAA,CZi6BzC,AEh1CA,iBUgbgC,eAAA,CZm6BhC,AEn1CA,kBUibiC,eAAA,CZq6BjC,AEt1CA,kBUkbiC,eAAA,CZu6BjC,AEz1CA,yBUmbwC,eAAA,CZy6BxC,AE51CA,8BUob6C,eAAA,CZ26B7C,AE/1CA,uBUqbsC,eAAA,CZ66BtC,AEl2CA,qBUsboC,eAAA,CZ+6BpC,AEr2CA,gBUub+B,eAAA,CZi7B/B,AEx2CA,yBUwbwC,eAAA,CZm7BxC,AE32CA,0BUybyC,eAAA,CZq7BzC,AE92CA,kBU0biC,eAAA,CZu7BjC,AEj3CA,kBU2biC,eAAA,CZy7BjC,AEp3CA,oBU4bmC,eAAA,CZ27BnC,AEv3CA,eU6b8B,eAAA,CZ67B9B,AE13CA,oBU8bmC,eAAA,CZ+7BnC,AE73CA,iBU+bgC,eAAA,CZi8BhC,AEh4CA,eUgc8B,eAAA,CZm8B9B,AEn4CA,iBUicgC,eAAA,CZq8BhC,AEt4CA,gBUkc+B,eAAA,CZu8B/B,AEz4CA,iBUmcgC,eAAA,CZy8BhC,AE54CA,mBUockC,eAAA,CZ28BlC,AE/4CA,0BUqcyC,eAAA,CZ68BzC,AEl5CA,iBUscgC,eAAA,CZ+8BhC,AEr5CA,wBUucuC,eAAA,CZi9BvC,AEx5CA,mBUwckC,eAAA,CZm9BlC,AE35CA,qCU0c8B,eAAA,CZq9B9B,AE/5CA,+BU4c+B,eAAA,CZu9B/B,AEn6CA,gBU6c+B,eAAA,CZy9B/B,AEt6CA,mBU8ckC,eAAA,CZ29BlC,AEz6CA,sBU+cqC,eAAA,CZ69BrC,AE56CA,sBUgdqC,eAAA,CZ+9BrC,AE/6CA,oBUidmC,eAAA,CZi+BnC,AEl7CA,sBUkdqC,eAAA,CZm+BrC,AEr7CA,uBUmdsC,eAAA,CZq+BtC,AEx7CA,wBUoduC,eAAA,CZu+BvC,AE37CA,6BUqd4C,eAAA,CZy+B5C,AE97CA,0EUwduC,eAAA,CZ2+BvC,AEn8CA,gDU0dyC,eAAA,CZ6+BzC,AEv8CA,gDU4duC,eAAA,CZ++BvC,AE38CA,gDU8duC,eAAA,CZi/BvC,AE/8CA,uBU+dsC,eAAA,CZm/BtC,AEl9CA,gBUge+B,eAAA,CZq/B/B,AEr9CA,mBUiekC,eAAA,CZu/BlC,AEx9CA,oBUkemC,eAAA,CZy/BnC,AE39CA,wGUueoC,eAAA,CZ2/BpC,AEl+CA,0BUweyC,eAAA,CZ6/BzC,AEr+CA,qDU2egC,eAAA,CZ+/BhC,AE1+CA,gCU6eiC,eAAA,CZigCjC,AE9+CA,sBU8eqC,eAAA,CZmgCrC,AEj/CA,eU+e8B,eAAA,CZqgC9B,AEp/CA,2EUkfsC,eAAA,CZugCtC,AEz/CA,yBUmfwC,eAAA,CZygCxC,AE5/CA,cUof6B,eAAA,CZ2gC7B,AE//CA,oCUsfiC,eAAA,CZ6gCjC,AEngDA,uCUwfsC,eAAA,CZ+gCtC,AEvgDA,2CU0fwC,eAAA,CZihCxC,AE3gDA,mBU2fkC,eAAA,CZmhClC,AE9gDA,uBU4fsC,eAAA,CZqhCtC,AEjhDA,kBU6fiC,eAAA,CZuhCjC,AEphDA,qBU8foC,eAAA,CZyhCpC,AEvhDA,mBU+fkC,eAAA,CZ2hClC,AE1hDA,qBUggBoC,eAAA,CZ6hCpC,AE7hDA,4BUigB2C,eAAA,CZ+hC3C,AEhiDA,gBUkgB+B,eAAA,CZiiC/B,AEniDA,6CUogBmC,eAAA,CZmiCnC,AEviDA,eUqgB8B,eAAA,CZqiC9B,AE1iDA,sBUsgBqC,eAAA,CZuiCrC,AE7iDA,gBUugB+B,eAAA,CZyiC/B,AEhjDA,sBUwgBqC,eAAA,CZ2iCrC,AEnjDA,kBUygBiC,eAAA,CZ6iCjC,AEtjDA,gBU0gB+B,eAAA,CZ+iC/B,AEzjDA,uBU2gBsC,eAAA,CZijCtC,AE5jDA,gBU4gB+B,eAAA,CZmjC/B,AE/jDA,sBU6gBqC,eAAA,CZqjCrC,AElkDA,kBU8gBiC,eAAA,CZujCjC,AErkDA,yBU+gBwC,eAAA,CZyjCxC,AExkDA,mBUghBkC,eAAA,CZ2jClC,AE3kDA,yBUihBwC,eAAA,CZ6jCxC,AE9kDA,uBUkhBsC,eAAA,CZ+jCtC,AEjlDA,mBUmhBkC,eAAA,CZikClC,AEplDA,qBUohBoC,eAAA,CZmkCpC,AEvlDA,qBUqhBoC,eAAA,CZqkCpC,AE1lDA,sBUshBqC,eAAA,CZukCrC,AE7lDA,wBUuhBuC,eAAA,CZykCvC,AEhmDA,iBUwhBgC,eAAA,CZ2kChC,AEnmDA,qBUyhBoC,eAAA,CZ6kCpC,AEtmDA,cU0hB6B,eAAA,CZ+kC7B,AEzmDA,sBU2hBqC,eAAA,CZilCrC,AE5mDA,uBU4hBsC,eAAA,CZmlCtC,AE/mDA,yBU6hBwC,eAAA,CZqlCxC,AElnDA,sBU8hBqC,eAAA,CZulCrC,AErnDA,qBU+hBoC,eAAA,CZylCpC,AExnDA,sBUgiBqC,eAAA,CZ2lCrC,AE3nDA,kBUiiBiC,eAAA,CZ6lCjC,AE9nDA,yBUkiBwC,eAAA,CZ+lCxC,AEjoDA,sBUmiBqC,eAAA,CZimCrC,AEpoDA,qBUoiBoC,eAAA,CZmmCpC,AEvoDA,mBUqiBkC,eAAA,CZqmClC,AE1oDA,eUsiB8B,eAAA,CZumC9B,AE7oDA,mBUuiBkC,eAAA,CZymClC,AEhpDA,qBUwiBoC,eAAA,CZ2mCpC,AEnpDA,cUyiB6B,eAAA,CZ6mC7B,AEtpDA,mDU4iB8B,eAAA,CZ+mC9B,AE3pDA,oBU6iBmC,eAAA,CZinCnC,AE9pDA,sBU8iBqC,eAAA,CZmnCrC,AEjqDA,0BU+iByC,eAAA,CZqnCzC,AEpqDA,oBUgjBmC,eAAA,CZunCnC,AEvqDA,oBUijBmC,eAAA,CZynCnC,AE1qDA,mBUkjBkC,eAAA,CZ2nClC,AE7qDA,kBUmjBiC,eAAA,CZ6nCjC,AEhrDA,wBUojBuC,eAAA,CZ+nCvC,AEnrDA,uBUqjBsC,eAAA,CZioCtC,AEtrDA,oBUsjBmC,eAAA,CZmoCnC,AEzrDA,qBUujBoC,eAAA,CZqoCpC,AE5rDA,2BUwjB0C,eAAA,CZuoC1C,AE/rDA,mBUyjBkC,eAAA,CZyoClC,AElsDA,gBU0jB+B,eAAA,CZ2oC/B,AErsDA,uBU2jBsC,eAAA,CZ6oCtC,AExsDA,sBU4jBqC,eAAA,CZ+oCrC,AE3sDA,uBU6jBsC,eAAA,CZipCtC,AE9sDA,qBU8jBoC,eAAA,CZmpCpC,AEjtDA,iBU+jBgC,eAAA,CZqpChC,AEptDA,gBUgkB+B,eAAA,CZupC/B,AEvtDA,mBUikBkC,eAAA,CZypClC,AE1tDA,2CUmkBsC,eAAA,CZ2pCtC,AE9tDA,2BUokB0C,eAAA,CZ6pC1C,AEjuDA,wBUqkBuC,eAAA,CZ+pCvC,AEpuDA,uBUskBsC,eAAA,CZiqCtC,AEvuDA,sBUukBqC,eAAA,CZmqCrC,AE1uDA,uBUwkBsC,eAAA,CZqqCtC,AE7uDA,yBUykBwC,eAAA,CZuqCxC,AEhvDA,yBU0kBwC,eAAA,CZyqCxC,AEnvDA,kBU2kBiC,eAAA,CZ2qCjC,AEtvDA,sBU4kBqC,eAAA,CZ6qCrC,AEzvDA,6BU6kB4C,eAAA,CZ+qC5C,AE5vDA,uBU8kBsC,eAAA,CZirCtC,AE/vDA,oBU+kBmC,eAAA,CZmrCnC,AElwDA,kBUglBiC,eAAA,CZqrCjC,AErwDA,qBUilBoC,eAAA,CZurCpC,AExwDA,sBUklBqC,eAAA,CZyrCrC,AE3wDA,gCUolB8B,eAAA,CZ2rC9B,AE/wDA,mBUqlBkC,eAAA,CZ6rClC,AElxDA,iBUslBgC,eAAA,CZ+rChC,AErxDA,kBUulBiC,eAAA,CZisCjC,AExxDA,kBUwlBiC,eAAA,CZmsCjC,AE3xDA,sCU0lBuC,eAAA,CZqsCvC,AE/xDA,yBU2lBwC,eAAA,CZusCxC,AElyDA,oBU4lBmC,eAAA,CZysCnC,AEryDA,wBU6lBuC,eAAA,CZ2sCvC,AExyDA,gEUgmBuC,eAAA,CZ6sCvC,AE7yDA,uDUkmBiD,eAAA,CZ+sCjD,AEjzDA,6CUomBuC,eAAA,CZitCvC,AErzDA,gDUsmB0C,eAAA,CZmtC1C,AEzzDA,8CUwmBwC,eAAA,CZqtCxC,AE7zDA,yBUymBwC,eAAA,CZutCxC,AEh0DA,oBU0mBmC,eAAA,CZytCnC,AEn0DA,wBU2mBuC,eAAA,CZ2tCvC,AEt0DA,0BU4mByC,eAAA,CZ6tCzC,AEz0DA,uBU6mBsC,eAAA,CZ+tCtC,AE50DA,yBU8mBwC,eAAA,CZiuCxC,AE/0DA,kBU+mBiC,eAAA,CZmuCjC,AEl1DA,0BUgnByC,eAAA,CZquCzC,AEr1DA,iBUinBgC,eAAA,CZuuChC,AEx1DA,yBUknBwC,eAAA,CZyuCxC,AE31DA,uBUmnBsC,eAAA,CZ2uCtC,AE91DA,kDUqnB0C,eAAA,CZ6uC1C,AEl2DA,iDUunByC,eAAA,CZ+uCzC,AEt2DA,gDUynBwC,eAAA,CZivCxC,AE12DA,qBU0nBoC,eAAA,CZmvCpC,AE72DA,8CU4nBsC,eAAA,CZqvCtC,AEj3DA,+CU8nBuC,eAAA,CZuvCvC,AEr3DA,2BU+nB0C,eAAA,CZyvC1C,AEx3DA,yBUgoBwC,eAAA,CZ2vCxC,AE33DA,wBUioBuC,eAAA,CZ6vCvC,AE93DA,0BUkoByC,eAAA,CZ+vCzC,AEj4DA,wBUmoBuC,eAAA,CZiwCvC,AEp4DA,qBUooBoC,eAAA,CZmwCpC,AEv4DA,sBUqoBqC,eAAA,CZqwCrC,AE14DA,4BUsoB2C,eAAA,CZuwC3C,AE74DA,cUuoB6B,eAAA,CZywC7B,AEh5DA,qBUwoBoC,eAAA,CZ2wCpC,AEn5DA,uBUyoBsC,eAAA,CZ6wCtC,AEt5DA,yBU0oBwC,eAAA,CZ+wCxC,AEz5DA,gCU2oB+C,eAAA,CZixC/C,AE55DA,sBU4oBqC,eAAA,CZmxCrC,AE/5DA,uBU6oBsC,eAAA,CZqxCtC,AEl6DA,kBU8oBiC,eAAA,CZuxCjC,AEr6DA,kBU+oBiC,eAAA,CZyxCjC,AEx6DA,mBUgpBkC,eAAA,CZ2xClC,AE36DA,iBUipBgC,eAAA,CZ6xChC,AE96DA,6BUkpB4C,eAAA,CZ+xC5C,AEj7DA,oCUopBqC,eAAA,CZiyCrC,AEr7DA,kBUqpBiC,eAAA,CZmyCjC,AEx7DA,iBUspBgC,eAAA,CZqyChC,AE37DA,kBUupBiC,eAAA,CZuyCjC,AE97DA,2BUwpB0C,eAAA,CZyyC1C,AEj8DA,4BUypB2C,eAAA,CZ2yC3C,AEp8DA,4BU0pB2C,eAAA,CZ6yC3C,AEv8DA,4BU2pB2C,eAAA,CZ+yC3C,AE18DA,oBU4pBmC,eAAA,CZizCnC,AE78DA,mBU6pBkC,eAAA,CZmzClC,AEh9DA,qBU8pBoC,eAAA,CZqzCpC,AEn9DA,iBU+pBgC,eAAA,CZuzChC,AEt9DA,eUgqB8B,eAAA,CZyzC9B,AEz9DA,sBUiqBqC,eAAA,CZ2zCrC,AE59DA,wBUkqBuC,eAAA,CZ6zCvC,AE/9DA,iBUmqBgC,eAAA,CZ+zChC,AEl+DA,iBUoqBgC,eAAA,CZi0ChC,AEr+DA,qBUqqBoC,eAAA,CZm0CpC,AEx+DA,qBUsqBoC,eAAA,CZq0CpC,AE3+DA,wBUuqBuC,eAAA,CZu0CvC,AE9+DA,gBUwqB+B,eAAA,CZy0C/B,AEj/DA,2BUyqB0C,eAAA,CZ20C1C,AEp/DA,oBU0qBmC,eAAA,CZ60CnC,AEv/DA,gBU2qB+B,eAAA,CZ+0C/B,AE1/DA,wBU4qBuC,eAAA,CZi1CvC,AE7/DA,eU6qB8B,eAAA,CZm1C9B,AEhgEA,wBU8qBuC,eAAA,CZq1CvC,AEngEA,oBU+qBmC,eAAA,CZu1CnC,AEtgEA,kBUgrBiC,eAAA,CZy1CjC,AEzgEA,wBUirBuC,eAAA,CZ21CvC,AE5gEA,0BUkrByC,eAAA,CZ61CzC,AE/gEA,uBUmrBsC,eAAA,CZ+1CtC,AElhEA,yBUorBwC,eAAA,CZi2CxC,AErhEA,wBUqrBuC,eAAA,CZm2CvC,AExhEA,2BUsrB0C,eAAA,CZq2C1C,AE3hEA,mBUurBkC,eAAA,CZu2ClC,AE9hEA,qBUwrBoC,eAAA,CZy2CpC,AEjiEA,uBUyrBsC,eAAA,CZ22CtC,AEpiEA,mBU0rBkC,eAAA,CZ62ClC,AEviEA,kBU2rBiC,eAAA,CZ+2CjC,AE1iEA,sBU4rBqC,eAAA,CZi3CrC,AE7iEA,mBU6rBkC,eAAA,CZm3ClC,AEhjEA,kBU8rBiC,eAAA,CZq3CjC,AEnjEA,4BU+rB2C,eAAA,CZu3C3C,AEtjEA,0BUgsByC,eAAA,CZy3CzC,AEzjEA,6BUisB4C,eAAA,CZ23C5C,AE5jEA,iBUksBgC,eAAA,CZ63ChC,AE/jEA,6BUmsB4C,eAAA,CZ+3C5C,AElkEA,gCUosB+C,eAAA,CZi4C/C,AErkEA,mBUqsBkC,eAAA,CZm4ClC,AExkEA,uCUssBsD,eAAA,CZq4CtD,AE3kEA,2EUwsB8D,eAAA,CZu4C9D,AE/kEA,+DU2sB+B,eAAA,CZy4C/B,AEplEA,iBU4sBgC,eAAA,CZ24ChC,AEvlEA,mBU6sBkC,eAAA,CZ64ClC,AE1lEA,4CU+sBwC,eAAA,CZ+4CxC,AE9lEA,sBUgtBqC,eAAA,CZi5CrC,AEjmEA,kBUitBiC,eAAA,CZm5CjC,AEpmEA,yBUktBwC,eAAA,CZq5CxC,AEvmEA,oBUmtBmC,eAAA,CZu5CnC,AE1mEA,0BUotByC,eAAA,CZy5CzC,AE7mEA,2BUqtB0C,eAAA,CZ25C1C,AEhnEA,sBUstBqC,eAAA,CZ65CrC,AEnnEA,uBUutBsC,eAAA,CZ+5CtC,AEtnEA,iBUwtBgC,eAAA,CZi6ChC,AEznEA,qBUytBoC,eAAA,CZm6CpC,AE5nEA,8DU2tB+C,eAAA,CZq6C/C,AEhoEA,sCU6tBuC,eAAA,CZu6CvC,AEpoEA,uBU8tBsC,eAAA,CZy6CtC,AEvoEA,yBU+tBwC,eAAA,CZ26CxC,AE1oEA,2BUguB0C,eAAA,CZ66C1C,AE7oEA,kBUiuBiC,eAAA,CZ+6CjC,AEhpEA,wBUkuBuC,eAAA,CZi7CvC,AEnpEA,0BUmuByC,eAAA,CZm7CzC,AEtpEA,yCUquBuC,eAAA,CZq7CvC,AE1pEA,6CUuuByC,eAAA,CZu7CzC,AE9pEA,uBUwuBsC,eAAA,CZy7CtC,AEjqEA,yBUyuBwC,eAAA,CZ27CxC,AEpqEA,kBU0uBiC,eAAA,CZ67CjC,AEvqEA,oBU2uBmC,eAAA,CZ+7CnC,AE1qEA,8CU6uBkC,eAAA,CZi8ClC,AE9qEA,kDU+uBoC,eAAA,CZm8CpC,AElrEA,iBUgvBgC,eAAA,CZq8ChC,AErrEA,0BUivByC,eAAA,CZu8CzC,AExrEA,oBUkvBmC,eAAA,CZy8CnC,AE3rEA,4EUqvB2C,eAAA,CZ28C3C,AEhsEA,+DUuvBqD,eAAA,CZ68CrD,AEpsEA,qDUyvB2C,eAAA,CZ+8C3C,AExsEA,wDU2vB8C,eAAA,CZi9C9C,AE5sEA,sDU6vB4C,eAAA,CZm9C5C,AEhtEA,kBU8vBiC,eAAA,CZq9CjC,AEntEA,kDUiwB+B,eAAA,CZu9C/B,AExtEA,mBUkwBkC,eAAA,CZy9ClC,AE3tEA,2BUmwB0C,eAAA,CZ29C1C,AE9tEA,2BUowB0C,eAAA,CZ69C1C,AEjuEA,0BUqwByC,eAAA,CZ+9CzC,AEpuEA,mDUuwBuC,eAAA,CZi+CvC,AExuEA,uDUywByC,eAAA,CZm+CzC,AE5uEA,oBU0wBmC,eAAA,CZq+CnC,AE/uEA,gBU2wB+B,eAAA,CZu+C/B,AElvEA,gBU4wB+B,eAAA,CZy+C/B,AErvEA,gBU6wB+B,eAAA,CZ2+C/B,AExvEA,mBU8wBkC,eAAA,CZ6+ClC,AE3vEA,mBU+wBkC,eAAA,CZ++ClC,AE9vEA,qBUgxBoC,eAAA,CZi/CpC,AEjwEA,uBUixBsC,eAAA,CZm/CtC,AEpwEA,uBUkxBsC,eAAA,CZq/CtC,AEvwEA,sBUmxBqC,eAAA,CZu/CrC,AE1wEA,kBUoxBiC,eAAA,CZy/CjC,Aa1wED,SJ8BE,kBAAA,AACA,UAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AACA,gBAAA,AACA,mBAAA,AACA,QAAA,CT+uED,AcruEC,mDAEE,gBAAA,AACA,WAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,SAAA,CduuEH,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BA6B+B,eAAA,CF+kF/B,AE5mFA,oBA8BmC,eAAA,CFilFnC,AE/mFA,+BA+B8C,eAAA,CFmlF9C,AElnFA,6BAgC4C,eAAA,CFqlF5C,AErnFA,iBAiCgC,eAAA,CFulFhC,AExnFA,yBAkCwC,eAAA,CFylFxC,AE3nFA,0CAoCiC,eAAA,CF2lFjC,AE/nFA,mBAqCkC,eAAA,CF6lFlC,AEloFA,oBAsCmC,eAAA,CF+lFnC,AEroFA,gBAuC+B,eAAA,CFimF/B,AExoFA,gBAwC+B,eAAA,CFmmF/B,AE3oFA,sBAyCqC,eAAA,CFqmFrC,AE9oFA,sBA0CqC,eAAA,CFumFrC,AEjpFA,uBA2CsC,eAAA,CFymFtC,AEppFA,qBA4CoC,eAAA,CF2mFpC,AEvpFA,kBA6CiC,eAAA,CF6mFjC,AE1pFA,mBA8CkC,eAAA,CF+mFlC,AE7pFA,eA+C8B,eAAA,CFinF9B,AEhqFA,gBAgD+B,eAAA,CFmnF/B,AEnqFA,gBAiD+B,eAAA,CFqnF/B,AEtqFA,oBAkDmC,eAAA,CFunFnC,AEzqFA,iBAmDgC,eAAA,CFynFhC,AE5qFA,kBAoDiC,eAAA,CF2nFjC,AE/qFA,gBAqD+B,eAAA,CF6nF/B,AElrFA,gBAsD+B,eAAA,CF+nF/B,AErrFA,kBAuDiC,eAAA,CFioFjC,AExrFA,uBAwDsC,eAAA,CFmoFtC,AE3rFA,sBAyDqC,eAAA,CFqoFrC,AE9rFA,sBA0DqC,eAAA,CFuoFrC,AEjsFA,wBA2DuC,eAAA,CFyoFvC,AEpsFA,uBA4DsC,eAAA,CF2oFtC,AEvsFA,yBA6DwC,eAAA,CF6oFxC,AE1sFA,gBA8D+B,eAAA,CF+oF/B,AE7sFA,qCAgEkC,eAAA,CFipFlC,AEjtFA,kBAiEiC,eAAA,CFmpFjC,AEptFA,wBAkEuC,eAAA,CFqpFvC,AEvtFA,uDAqEoC,eAAA,CFupFpC,AE5tFA,kBAsEiC,eAAA,CFypFjC,AE/tFA,sBAuEqC,eAAA,CF2pFrC,AEluFA,kBAwEiC,eAAA,CF6pFjC,AEruFA,gBAyE+B,eAAA,CF+pF/B,AExuFA,2CA2E0C,eAAA,CFiqF1C,AE5uFA,0BA4EyC,eAAA,CFmqFzC,AE/uFA,0BA6EyC,eAAA,CFqqFzC,AElvFA,kBA8EiC,eAAA,CFuqFjC,AErvFA,yBA+EwC,eAAA,CFyqFxC,AExvFA,yBAgFwC,eAAA,CF2qFxC,AE3vFA,oBAiFmC,eAAA,CF6qFnC,AE9vFA,gBAkF+B,eAAA,CF+qF/B,AEjwFA,iBAmFgC,eAAA,CFirFhC,AEpwFA,gBAoF+B,eAAA,CFmrF/B,AEvwFA,mBAqFkC,eAAA,CFqrFlC,AE1wFA,wBAsFuC,eAAA,CFurFvC,AE7wFA,wBAuFuC,eAAA,CFyrFvC,AEhxFA,iBAwFgC,eAAA,CF2rFhC,AEnxFA,wBAyFuC,eAAA,CF6rFvC,AEtxFA,yBA0FwC,eAAA,CF+rFxC,AEzxFA,uBA2FsC,eAAA,CFisFtC,AE5xFA,wBA4FuC,eAAA,CFmsFvC,AE/xFA,wBA6FuC,eAAA,CFqsFvC,AElyFA,wBA8FuC,eAAA,CFusFvC,AEryFA,2BA+F0C,eAAA,CFysF1C,AExyFA,uBAgGsC,eAAA,CF2sFtC,AE3yFA,sBAiGqC,eAAA,CF6sFrC,AE9yFA,0BAkGyC,eAAA,CF+sFzC,AEjzFA,0BAmGyC,eAAA,CFitFzC,AEpzFA,eAoG8B,eAAA,CFmtF9B,AEvzFA,sBAqGqC,eAAA,CFqtFrC,AE1zFA,uBAsGsC,eAAA,CFutFtC,AE7zFA,oBAuGmC,eAAA,CFytFnC,AEh0FA,sBAwGqC,eAAA,CF2tFrC,AEn0FA,yCA0GgC,eAAA,CF6tFhC,AEv0FA,kBA2GiC,eAAA,CF+tFjC,AE10FA,oBA4GmC,eAAA,CFiuFnC,AE70FA,gBA6G+B,eAAA,CFmuF/B,AEh1FA,iBA8GgC,eAAA,CFquFhC,AEn1FA,oBA+GmC,eAAA,CFuuFnC,AEt1FA,8BAgH6C,eAAA,CFyuF7C,AEz1FA,gBAiH+B,eAAA,CF2uF/B,AE51FA,gBAkH+B,eAAA,CF6uF/B,AE/1FA,gBAmH+B,eAAA,CF+uF/B,AEl2FA,eAoH8B,eAAA,CFivF9B,AEr2FA,qBAqHoC,eAAA,CFmvFpC,AEx2FA,mDAuH+C,eAAA,CFqvF/C,AE52FA,iBAwHgC,eAAA,CFuvFhC,AE/2FA,oBAyHmC,eAAA,CFyvFnC,AEl3FA,kBA0HiC,eAAA,CF2vFjC,AEr3FA,mBA2HkC,eAAA,CF6vFlC,AEx3FA,kBA4HiC,eAAA,CF+vFjC,AE33FA,sBA6HqC,eAAA,CFiwFrC,AE93FA,wBA8HuC,eAAA,CFmwFvC,AEj4FA,mBA+HkC,eAAA,CFqwFlC,AEp4FA,yBAgIwC,eAAA,CFuwFxC,AEv4FA,kBAiIiC,eAAA,CFywFjC,AE14FA,uBAkIsC,eAAA,CF2wFtC,AE74FA,oBAmImC,eAAA,CF6wFnC,AEh5FA,oBAoImC,eAAA,CF+wFnC,AEn5FA,4CAsIoC,eAAA,CFixFpC,AEv5FA,0BAuIyC,eAAA,CFmxFzC,AE15FA,2BAwI0C,eAAA,CFqxF1C,AE75FA,wBAyIuC,eAAA,CFuxFvC,AEh6FA,eA0I8B,eAAA,CFyxF9B,AEn6FA,iCA4I+B,eAAA,CF2xF/B,AEv6FA,oBA6ImC,eAAA,CF6xFnC,AE16FA,uBA8IsC,eAAA,CF+xFtC,AE76FA,yBA+IwC,eAAA,CFiyFxC,AEh7FA,qBAgJoC,eAAA,CFmyFpC,AEn7FA,mBAiJkC,eAAA,CFqyFlC,AEt7FA,oBAkJmC,eAAA,CFuyFnC,AEz7FA,2BAmJ0C,eAAA,CFyyF1C,AE57FA,sBAoJqC,eAAA,CF2yFrC,AE/7FA,yBAqJwC,eAAA,CF6yFxC,AEl8FA,mBAsJkC,eAAA,CF+yFlC,AEr8FA,kBAuJiC,eAAA,CFizFjC,AEx8FA,yBAwJwC,eAAA,CFmzFxC,AE38FA,kBAyJiC,eAAA,CFqzFjC,AE98FA,mBA0JkC,eAAA,CFuzFlC,AEj9FA,iBA2JgC,eAAA,CFyzFhC,AEp9FA,oBA4JmC,eAAA,CF2zFnC,AEv9FA,sBA6JqC,eAAA,CF6zFrC,AE19FA,wBA8JuC,eAAA,CF+zFvC,AE79FA,mBA+JkC,eAAA,CFi0FlC,AEh+FA,0CAiKmC,eAAA,CFm0FnC,AEp+FA,kBAkKiC,eAAA,CFq0FjC,AEv+FA,kBAmKiC,eAAA,CFu0FjC,AE1+FA,uBAoKsC,eAAA,CFy0FtC,AE7+FA,+BAsK8B,eAAA,CF20F9B,AEj/FA,iBAuKgC,eAAA,CF60FhC,AEp/FA,oBAwKmC,eAAA,CF+0FnC,AEv/FA,gBAyK+B,eAAA,CFi1F/B,AE1/FA,uBA0KsC,eAAA,CFm1FtC,AE7/FA,wBA2KuC,eAAA,CFq1FvC,AEhgGA,uBA4KsC,eAAA,CFu1FtC,AEngGA,qBA6KoC,eAAA,CFy1FpC,AEtgGA,uBA8KsC,eAAA,CF21FtC,AEzgGA,6BA+K4C,eAAA,CF61F5C,AE5gGA,8BAgL6C,eAAA,CF+1F7C,AE/gGA,2BAiL0C,eAAA,CFi2F1C,AElhGA,6BAkL4C,eAAA,CFm2F5C,AErhGA,iBAmLgC,eAAA,CFq2FhC,AExhGA,kBAoLiC,eAAA,CFu2FjC,AE3hGA,iBAqLgC,eAAA,CFy2FhC,AE9hGA,kBAsLiC,eAAA,CF22FjC,AEjiGA,qBAuLoC,eAAA,CF62FpC,AEpiGA,sBAwLqC,eAAA,CF+2FrC,AEviGA,kCA0LgC,eAAA,CFi3FhC,AE3iGA,iCA4L+B,eAAA,CFm3F/B,AE/iGA,iBA6LgC,eAAA,CFq3FhC,AEljGA,iBA8LgC,eAAA,CFu3FhC,AErjGA,mCAgMmC,eAAA,CFy3FnC,AEzjGA,mCAkMkC,eAAA,CF23FlC,AE7jGA,qBAmMoC,eAAA,CF63FpC,AEhkGA,oCAqMmC,eAAA,CF+3FnC,AEpkGA,kBAsMiC,eAAA,CFi4FjC,AEvkGA,sDAyM+B,eAAA,CFm4F/B,AE5kGA,mBA0MkC,eAAA,CFq4FlC,AE/kGA,mBA2MkC,eAAA,CFu4FlC,AEllGA,yBA4MwC,eAAA,CFy4FxC,AErlGA,qBA6MoC,eAAA,CF24FpC,AExlGA,iBA8MgC,eAAA,CF64FhC,AE3lGA,iBA+MgC,eAAA,CF+4FhC,AE9lGA,iBAgNgC,eAAA,CFi5FhC,AEjmGA,qBAiNoC,eAAA,CFm5FpC,AEpmGA,4BAkN2C,eAAA,CFq5F3C,AEvmGA,8BAmN6C,eAAA,CFu5F7C,AE1mGA,uBAoNsC,eAAA,CFy5FtC,AE7mGA,iBAqNgC,eAAA,CF25FhC,AEhnGA,sBAsNqC,eAAA,CF65FrC,AEnnGA,oBAuNmC,eAAA,CF+5FnC,AEtnGA,sBAwNqC,eAAA,CFi6FrC,AEznGA,uBAyNsC,eAAA,CFm6FtC,AE5nGA,mBA0NkC,eAAA,CFq6FlC,AE/nGA,oCA4N+B,eAAA,CFu6F/B,AEnoGA,0CA8NoC,eAAA,CFy6FpC,AEvoGA,uCAgOmC,eAAA,CF26FnC,AE3oGA,oBAiOmC,eAAA,CF66FnC,AE9oGA,oBAkOmC,eAAA,CF+6FnC,AEjpGA,uCAoO+B,eAAA,CFi7F/B,AErpGA,kCAsOgC,eAAA,CFm7FhC,AEzpGA,2CAwOqC,eAAA,CFq7FrC,AE7pGA,qBAyOoC,eAAA,CFu7FpC,AEhqGA,sBA0OqC,eAAA,CFy7FrC,AEnqGA,iCA4O+B,eAAA,CF27F/B,AEvqGA,mBA6OkC,eAAA,CF67FlC,AE1qGA,oBA8OmC,eAAA,CF+7FnC,AE7qGA,sCAgPoC,eAAA,CFi8FpC,AEjrGA,uBAiPsC,eAAA,CFm8FtC,AEprGA,oBAkPmC,eAAA,CFq8FnC,AEvrGA,0BAmPyC,eAAA,CFu8FzC,AE1rGA,wBAoPuC,eAAA,CFy8FvC,AE7rGA,mBAqPkC,eAAA,CF28FlC,AEhsGA,uBAsPsC,eAAA,CF68FtC,AEnsGA,oBAuPmC,eAAA,CF+8FnC,AEtsGA,kBAwPiC,eAAA,CFi9FjC,AEzsGA,kBAyPiC,eAAA,CFm9FjC,AE5sGA,mBA0PkC,eAAA,CFq9FlC,AE/sGA,uBA2PsC,eAAA,CFu9FtC,AEltGA,sBA4PqC,eAAA,CFy9FrC,AErtGA,sBA6PqC,eAAA,CF29FrC,AExtGA,qBA8PoC,eAAA,CF69FpC,AE3tGA,kBA+PiC,eAAA,CF+9FjC,AE9tGA,uBAgQsC,eAAA,CFi+FtC,AEjuGA,gBAiQ+B,eAAA,CFm+F/B,AEpuGA,oBAkQmC,eAAA,CFq+FnC,AEvuGA,uBAmQsC,eAAA,CFu+FtC,AE1uGA,6BAoQ4C,eAAA,CFy+F5C,AE7uGA,8BAqQ6C,eAAA,CF2+F7C,AEhvGA,2BAsQ0C,eAAA,CF6+F1C,AEnvGA,6BAuQ4C,eAAA,CF++F5C,AEtvGA,sBAwQqC,eAAA,CFi/FrC,AEzvGA,uBAyQsC,eAAA,CFm/FtC,AE5vGA,oBA0QmC,eAAA,CFq/FnC,AE/vGA,sBA2QqC,eAAA,CFu/FrC,AElwGA,mBA4QkC,eAAA,CFy/FlC,AErwGA,kBA6QiC,eAAA,CF2/FjC,AExwGA,kBA8QiC,eAAA,CF6/FjC,AE3wGA,0CAgRiC,eAAA,CF+/FjC,AE/wGA,oBAiRmC,eAAA,CFigGnC,AElxGA,sBAkRqC,eAAA,CFmgGrC,AErxGA,uBAmRsC,eAAA,CFqgGtC,AExxGA,mBAoRkC,eAAA,CFugGlC,AE3xGA,kBAqRiC,eAAA,CFygGjC,AE9xGA,uCAuRgC,eAAA,CF2gGhC,AElyGA,sBAwRqC,eAAA,CF6gGrC,AEryGA,oBAyRmC,eAAA,CF+gGnC,AExyGA,yBA0RwC,eAAA,CFihGxC,AE3yGA,mBA2RkC,eAAA,CFmhGlC,AE9yGA,mBA4RkC,eAAA,CFqhGlC,AEjzGA,iBA6RgC,eAAA,CFuhGhC,AEpzGA,mBA8RkC,eAAA,CFyhGlC,AEvzGA,sBA+RqC,eAAA,CF2hGrC,AE1zGA,kBAgSiC,eAAA,CF6hGjC,AE7zGA,0BAiSyC,eAAA,CF+hGzC,AEh0GA,oBAkSmC,eAAA,CFiiGnC,AEn0GA,gBAmS+B,eAAA,CFmiG/B,AEt0GA,+CAqSoC,eAAA,CFqiGpC,AE10GA,4EAwSsC,eAAA,CFuiGtC,AE/0GA,0BAySyC,eAAA,CFyiGzC,AEl1GA,gBA0S+B,eAAA,CF2iG/B,AEr1GA,qBA2SoC,eAAA,CF6iGpC,AEx1GA,0CA6SuC,eAAA,CF+iGvC,AE51GA,oBA8SmC,eAAA,CFijGnC,AE/1GA,gBA+S+B,eAAA,CFmjG/B,AEl2GA,uBAgTsC,eAAA,CFqjGtC,AEr2GA,uBAiTsC,eAAA,CFujGtC,AEx2GA,qBAkToC,eAAA,CFyjGpC,AE32GA,kBAmTiC,eAAA,CF2jGjC,AE92GA,wBAoTuC,eAAA,CF6jGvC,AEj3GA,sBAqTqC,eAAA,CF+jGrC,AEp3GA,4BAsT2C,eAAA,CFikG3C,AEv3GA,kBAuTiC,eAAA,CFmkGjC,AE13GA,sBAwTqC,eAAA,CFqkGrC,AE73GA,6BAyT4C,eAAA,CFukG5C,AEh4GA,kBA0TiC,eAAA,CFykGjC,AEn4GA,kBA2TiC,eAAA,CF2kGjC,AEt4GA,+BA4T8C,eAAA,CF6kG9C,AEz4GA,gCA6T+C,eAAA,CF+kG/C,AE54GA,6BA8T4C,eAAA,CFilG5C,AE/4GA,+BA+T8C,eAAA,CFmlG9C,AEl5GA,iBAgUgC,eAAA,CFqlGhC,AEr5GA,gBAiU+B,eAAA,CFulG/B,AEx5GA,kBAkUiC,eAAA,CFylGjC,AE35GA,sBAmUqC,eAAA,CF2lGrC,AE95GA,oBAoUmC,eAAA,CF6lGnC,AEj6GA,sBAqUqC,eAAA,CF+lGrC,AEp6GA,sBAsUqC,eAAA,CFimGrC,AEv6GA,sBAuUqC,eAAA,CFmmGrC,AE16GA,uBAwUsC,eAAA,CFqmGtC,AE76GA,kBAyUiC,eAAA,CFumGjC,AEh7GA,wBA0UuC,eAAA,CFymGvC,AEn7GA,0BA2UyC,eAAA,CF2mGzC,AEt7GA,oBA4UmC,eAAA,CF6mGnC,AEz7GA,sBA6UqC,eAAA,CF+mGrC,AE57GA,wBA8UuC,eAAA,CFinGvC,AE/7GA,yBA+UwC,eAAA,CFmnGxC,AEl8GA,gCAgV+C,eAAA,CFqnG/C,AEr8GA,wBAiVuC,eAAA,CFunGvC,AEx8GA,mBAkVkC,eAAA,CFynGlC,AE38GA,sDAoV8C,eAAA,CF2nG9C,AE/8GA,kDAsV4C,eAAA,CF6nG5C,AEn9GA,wDAwV+C,eAAA,CF+nG/C,AEv9GA,+BA0V8B,eAAA,CFioG9B,AE39GA,eA2V8B,eAAA,CFmoG9B,AE99GA,iCA6V8B,eAAA,CFqoG9B,AEl+GA,gCA+V8B,eAAA,CFuoG9B,AEt+GA,4DAmW8B,eAAA,CFyoG9B,AE5+GA,kDAsW8B,eAAA,CF2oG9B,AEj/GA,8BAwW8B,eAAA,CF6oG9B,AEr/GA,kCA0W8B,eAAA,CF+oG9B,AEz/GA,gBA2W+B,eAAA,CFipG/B,AE5/GA,qBA4WoC,eAAA,CFmpGpC,AE//GA,0BA6WyC,eAAA,CFqpGzC,AElgHA,2BA8W0C,eAAA,CFupG1C,AErgHA,2BA+W0C,eAAA,CFypG1C,AExgHA,4BAgX2C,eAAA,CF2pG3C,AE3gHA,4BAiX2C,eAAA,CF6pG3C,AE9gHA,6BAkX4C,eAAA,CF+pG5C,AEjhHA,qBAmXoC,eAAA,CFiqGpC,AEphHA,uBAoXsC,eAAA,CFmqGtC,AEvhHA,0BAqXyC,eAAA,CFqqGzC,AE1hHA,mBAsXkC,eAAA,CFuqGlC,AE7hHA,gBAuX+B,eAAA,CFyqG/B,AEhiHA,uBAwXsC,eAAA,CF2qGtC,AEniHA,wBAyXuC,eAAA,CF6qGvC,AEtiHA,mBA0XkC,eAAA,CF+qGlC,AEziHA,0BA2XyC,eAAA,CFirGzC,AE5iHA,qBA4XoC,eAAA,CFmrGpC,AE/iHA,kBA6XiC,eAAA,CFqrGjC,AEljHA,eA8X8B,eAAA,CFurG9B,AErjHA,qBA+XoC,eAAA,CFyrGpC,AExjHA,4BAgY2C,eAAA,CF2rG3C,AE3jHA,kBAiYiC,eAAA,CF6rGjC,AE9jHA,yBAkYwC,eAAA,CF+rGxC,AEjkHA,2BAmY0C,eAAA,CFisG1C,AEpkHA,yBAoYwC,eAAA,CFmsGxC,AEvkHA,2BAqY0C,eAAA,CFqsG1C,AE1kHA,4BAsY2C,eAAA,CFusG3C,AE7kHA,iBAuYgC,eAAA,CFysGhC,AEhlHA,mBAwYkC,eAAA,CF2sGlC,AEnlHA,mBAyYkC,eAAA,CF6sGlC,AEtlHA,iBA0YgC,eAAA,CF+sGhC,AEzlHA,oBA2YmC,eAAA,CFitGnC,AE5lHA,iBA4YgC,eAAA,CFmtGhC,AE/lHA,sBA6YqC,eAAA,CFqtGrC,AElmHA,kBA8YiC,eAAA,CFutGjC,AErmHA,kBA+YiC,eAAA,CFytGjC,AExmHA,gBAgZ+B,eAAA,CF2tG/B,AE3mHA,sCAkZmC,eAAA,CF6tGnC,AE/mHA,iBAmZgC,eAAA,CF+tGhC,AElnHA,kBAoZiC,eAAA,CFiuGjC,AErnHA,mBAqZkC,eAAA,CFmuGlC,AExnHA,eAsZ8B,eAAA,CFquG9B,AE3nHA,cAuZ6B,eAAA,CFuuG7B,AE9nHA,iBAwZgC,eAAA,CFyuGhC,AEjoHA,kBAyZiC,eAAA,CF2uGjC,AEpoHA,qBA0ZoC,eAAA,CF6uGpC,AEvoHA,0BA2ZyC,eAAA,CF+uGzC,AE1oHA,gCA4Z+C,eAAA,CFivG/C,AE7oHA,+BA6Z8C,eAAA,CFmvG9C,AEhpHA,sDA+Z8C,eAAA,CFqvG9C,AEppHA,wBAgauC,eAAA,CFuvGvC,AEvpHA,sBAiaqC,eAAA,CFyvGrC,AE1pHA,wBAkauC,eAAA,CF2vGvC,AE7pHA,uCAoa8B,eAAA,CF6vG9B,AEjqHA,yBAqawC,eAAA,CF+vGxC,AEpqHA,yBAsawC,eAAA,CFiwGxC,AEvqHA,iBAuagC,eAAA,CFmwGhC,AE1qHA,2BAwa0C,eAAA,CFqwG1C,AE7qHA,qBAyaoC,eAAA,CFuwGpC,AEhrHA,kBA0aiC,eAAA,CFywGjC,AEnrHA,6DA6aqC,eAAA,CF2wGrC,AExrHA,kDA+ayC,eAAA,CF6wGzC,AE5rHA,iBAgbgC,eAAA,CF+wGhC,AE/rHA,kBAibiC,eAAA,CFixGjC,AElsHA,kBAkbiC,eAAA,CFmxGjC,AErsHA,yBAmbwC,eAAA,CFqxGxC,AExsHA,8BAob6C,eAAA,CFuxG7C,AE3sHA,uBAqbsC,eAAA,CFyxGtC,AE9sHA,qBAsboC,eAAA,CF2xGpC,AEjtHA,gBAub+B,eAAA,CF6xG/B,AEptHA,yBAwbwC,eAAA,CF+xGxC,AEvtHA,0BAybyC,eAAA,CFiyGzC,AE1tHA,kBA0biC,eAAA,CFmyGjC,AE7tHA,kBA2biC,eAAA,CFqyGjC,AEhuHA,oBA4bmC,eAAA,CFuyGnC,AEnuHA,eA6b8B,eAAA,CFyyG9B,AEtuHA,oBA8bmC,eAAA,CF2yGnC,AEzuHA,iBA+bgC,eAAA,CF6yGhC,AE5uHA,eAgc8B,eAAA,CF+yG9B,AE/uHA,iBAicgC,eAAA,CFizGhC,AElvHA,gBAkc+B,eAAA,CFmzG/B,AErvHA,iBAmcgC,eAAA,CFqzGhC,AExvHA,mBAockC,eAAA,CFuzGlC,AE3vHA,0BAqcyC,eAAA,CFyzGzC,AE9vHA,iBAscgC,eAAA,CF2zGhC,AEjwHA,wBAucuC,eAAA,CF6zGvC,AEpwHA,mBAwckC,eAAA,CF+zGlC,AEvwHA,qCA0c8B,eAAA,CFi0G9B,AE3wHA,+BA4c+B,eAAA,CFm0G/B,AE/wHA,gBA6c+B,eAAA,CFq0G/B,AElxHA,mBA8ckC,eAAA,CFu0GlC,AErxHA,sBA+cqC,eAAA,CFy0GrC,AExxHA,sBAgdqC,eAAA,CF20GrC,AE3xHA,oBAidmC,eAAA,CF60GnC,AE9xHA,sBAkdqC,eAAA,CF+0GrC,AEjyHA,uBAmdsC,eAAA,CFi1GtC,AEpyHA,wBAoduC,eAAA,CFm1GvC,AEvyHA,6BAqd4C,eAAA,CFq1G5C,AE1yHA,0EAwduC,eAAA,CFu1GvC,AE/yHA,gDA0dyC,eAAA,CFy1GzC,AEnzHA,gDA4duC,eAAA,CF21GvC,AEvzHA,gDA8duC,eAAA,CF61GvC,AE3zHA,uBA+dsC,eAAA,CF+1GtC,AE9zHA,gBAge+B,eAAA,CFi2G/B,AEj0HA,mBAiekC,eAAA,CFm2GlC,AEp0HA,oBAkemC,eAAA,CFq2GnC,AEv0HA,wGAueoC,eAAA,CFu2GpC,AE90HA,0BAweyC,eAAA,CFy2GzC,AEj1HA,qDA2egC,eAAA,CF22GhC,AEt1HA,gCA6eiC,eAAA,CF62GjC,AE11HA,sBA8eqC,eAAA,CF+2GrC,AE71HA,eA+e8B,eAAA,CFi3G9B,AEh2HA,2EAkfsC,eAAA,CFm3GtC,AEr2HA,yBAmfwC,eAAA,CFq3GxC,AEx2HA,cAof6B,eAAA,CFu3G7B,AE32HA,oCAsfiC,eAAA,CFy3GjC,AE/2HA,uCAwfsC,eAAA,CF23GtC,AEn3HA,2CA0fwC,eAAA,CF63GxC,AEv3HA,mBA2fkC,eAAA,CF+3GlC,AE13HA,uBA4fsC,eAAA,CFi4GtC,AE73HA,kBA6fiC,eAAA,CFm4GjC,AEh4HA,qBA8foC,eAAA,CFq4GpC,AEn4HA,mBA+fkC,eAAA,CFu4GlC,AEt4HA,qBAggBoC,eAAA,CFy4GpC,AEz4HA,4BAigB2C,eAAA,CF24G3C,AE54HA,gBAkgB+B,eAAA,CF64G/B,AE/4HA,6CAogBmC,eAAA,CF+4GnC,AEn5HA,eAqgB8B,eAAA,CFi5G9B,AEt5HA,sBAsgBqC,eAAA,CFm5GrC,AEz5HA,gBAugB+B,eAAA,CFq5G/B,AE55HA,sBAwgBqC,eAAA,CFu5GrC,AE/5HA,kBAygBiC,eAAA,CFy5GjC,AEl6HA,gBA0gB+B,eAAA,CF25G/B,AEr6HA,uBA2gBsC,eAAA,CF65GtC,AEx6HA,gBA4gB+B,eAAA,CF+5G/B,AE36HA,sBA6gBqC,eAAA,CFi6GrC,AE96HA,kBA8gBiC,eAAA,CFm6GjC,AEj7HA,yBA+gBwC,eAAA,CFq6GxC,AEp7HA,mBAghBkC,eAAA,CFu6GlC,AEv7HA,yBAihBwC,eAAA,CFy6GxC,AE17HA,uBAkhBsC,eAAA,CF26GtC,AE77HA,mBAmhBkC,eAAA,CF66GlC,AEh8HA,qBAohBoC,eAAA,CF+6GpC,AEn8HA,qBAqhBoC,eAAA,CFi7GpC,AEt8HA,sBAshBqC,eAAA,CFm7GrC,AEz8HA,wBAuhBuC,eAAA,CFq7GvC,AE58HA,iBAwhBgC,eAAA,CFu7GhC,AE/8HA,qBAyhBoC,eAAA,CFy7GpC,AEl9HA,cA0hB6B,eAAA,CF27G7B,AEr9HA,sBA2hBqC,eAAA,CF67GrC,AEx9HA,uBA4hBsC,eAAA,CF+7GtC,AE39HA,yBA6hBwC,eAAA,CFi8GxC,AE99HA,sBA8hBqC,eAAA,CFm8GrC,AEj+HA,qBA+hBoC,eAAA,CFq8GpC,AEp+HA,sBAgiBqC,eAAA,CFu8GrC,AEv+HA,kBAiiBiC,eAAA,CFy8GjC,AE1+HA,yBAkiBwC,eAAA,CF28GxC,AE7+HA,sBAmiBqC,eAAA,CF68GrC,AEh/HA,qBAoiBoC,eAAA,CF+8GpC,AEn/HA,mBAqiBkC,eAAA,CFi9GlC,AEt/HA,eAsiB8B,eAAA,CFm9G9B,AEz/HA,mBAuiBkC,eAAA,CFq9GlC,AE5/HA,qBAwiBoC,eAAA,CFu9GpC,AE//HA,cAyiB6B,eAAA,CFy9G7B,AElgIA,mDA4iB8B,eAAA,CF29G9B,AEvgIA,oBA6iBmC,eAAA,CF69GnC,AE1gIA,sBA8iBqC,eAAA,CF+9GrC,AE7gIA,0BA+iByC,eAAA,CFi+GzC,AEhhIA,oBAgjBmC,eAAA,CFm+GnC,AEnhIA,oBAijBmC,eAAA,CFq+GnC,AEthIA,mBAkjBkC,eAAA,CFu+GlC,AEzhIA,kBAmjBiC,eAAA,CFy+GjC,AE5hIA,wBAojBuC,eAAA,CF2+GvC,AE/hIA,uBAqjBsC,eAAA,CF6+GtC,AEliIA,oBAsjBmC,eAAA,CF++GnC,AEriIA,qBAujBoC,eAAA,CFi/GpC,AExiIA,2BAwjB0C,eAAA,CFm/G1C,AE3iIA,mBAyjBkC,eAAA,CFq/GlC,AE9iIA,gBA0jB+B,eAAA,CFu/G/B,AEjjIA,uBA2jBsC,eAAA,CFy/GtC,AEpjIA,sBA4jBqC,eAAA,CF2/GrC,AEvjIA,uBA6jBsC,eAAA,CF6/GtC,AE1jIA,qBA8jBoC,eAAA,CF+/GpC,AE7jIA,iBA+jBgC,eAAA,CFigHhC,AEhkIA,gBAgkB+B,eAAA,CFmgH/B,AEnkIA,mBAikBkC,eAAA,CFqgHlC,AEtkIA,2CAmkBsC,eAAA,CFugHtC,AE1kIA,2BAokB0C,eAAA,CFygH1C,AE7kIA,wBAqkBuC,eAAA,CF2gHvC,AEhlIA,uBAskBsC,eAAA,CF6gHtC,AEnlIA,sBAukBqC,eAAA,CF+gHrC,AEtlIA,uBAwkBsC,eAAA,CFihHtC,AEzlIA,yBAykBwC,eAAA,CFmhHxC,AE5lIA,yBA0kBwC,eAAA,CFqhHxC,AE/lIA,kBA2kBiC,eAAA,CFuhHjC,AElmIA,sBA4kBqC,eAAA,CFyhHrC,AErmIA,6BA6kB4C,eAAA,CF2hH5C,AExmIA,uBA8kBsC,eAAA,CF6hHtC,AE3mIA,oBA+kBmC,eAAA,CF+hHnC,AE9mIA,kBAglBiC,eAAA,CFiiHjC,AEjnIA,qBAilBoC,eAAA,CFmiHpC,AEpnIA,sBAklBqC,eAAA,CFqiHrC,AEvnIA,gCAolB8B,eAAA,CFuiH9B,AE3nIA,mBAqlBkC,eAAA,CFyiHlC,AE9nIA,iBAslBgC,eAAA,CF2iHhC,AEjoIA,kBAulBiC,eAAA,CF6iHjC,AEpoIA,kBAwlBiC,eAAA,CF+iHjC,AEvoIA,sCA0lBuC,eAAA,CFijHvC,AE3oIA,yBA2lBwC,eAAA,CFmjHxC,AE9oIA,oBA4lBmC,eAAA,CFqjHnC,AEjpIA,wBA6lBuC,eAAA,CFujHvC,AEppIA,gEAgmBuC,eAAA,CFyjHvC,AEzpIA,uDAkmBiD,eAAA,CF2jHjD,AE7pIA,6CAomBuC,eAAA,CF6jHvC,AEjqIA,gDAsmB0C,eAAA,CF+jH1C,AErqIA,8CAwmBwC,eAAA,CFikHxC,AEzqIA,yBAymBwC,eAAA,CFmkHxC,AE5qIA,oBA0mBmC,eAAA,CFqkHnC,AE/qIA,wBA2mBuC,eAAA,CFukHvC,AElrIA,0BA4mByC,eAAA,CFykHzC,AErrIA,uBA6mBsC,eAAA,CF2kHtC,AExrIA,yBA8mBwC,eAAA,CF6kHxC,AE3rIA,kBA+mBiC,eAAA,CF+kHjC,AE9rIA,0BAgnByC,eAAA,CFilHzC,AEjsIA,iBAinBgC,eAAA,CFmlHhC,AEpsIA,yBAknBwC,eAAA,CFqlHxC,AEvsIA,uBAmnBsC,eAAA,CFulHtC,AE1sIA,kDAqnB0C,eAAA,CFylH1C,AE9sIA,iDAunByC,eAAA,CF2lHzC,AEltIA,gDAynBwC,eAAA,CF6lHxC,AEttIA,qBA0nBoC,eAAA,CF+lHpC,AEztIA,8CA4nBsC,eAAA,CFimHtC,AE7tIA,+CA8nBuC,eAAA,CFmmHvC,AEjuIA,2BA+nB0C,eAAA,CFqmH1C,AEpuIA,yBAgoBwC,eAAA,CFumHxC,AEvuIA,wBAioBuC,eAAA,CFymHvC,AE1uIA,0BAkoByC,eAAA,CF2mHzC,AE7uIA,wBAmoBuC,eAAA,CF6mHvC,AEhvIA,qBAooBoC,eAAA,CF+mHpC,AEnvIA,sBAqoBqC,eAAA,CFinHrC,AEtvIA,4BAsoB2C,eAAA,CFmnH3C,AEzvIA,cAuoB6B,eAAA,CFqnH7B,AE5vIA,qBAwoBoC,eAAA,CFunHpC,AE/vIA,uBAyoBsC,eAAA,CFynHtC,AElwIA,yBA0oBwC,eAAA,CF2nHxC,AErwIA,gCA2oB+C,eAAA,CF6nH/C,AExwIA,sBA4oBqC,eAAA,CF+nHrC,AE3wIA,uBA6oBsC,eAAA,CFioHtC,AE9wIA,kBA8oBiC,eAAA,CFmoHjC,AEjxIA,kBA+oBiC,eAAA,CFqoHjC,AEpxIA,mBAgpBkC,eAAA,CFuoHlC,AEvxIA,iBAipBgC,eAAA,CFyoHhC,AE1xIA,6BAkpB4C,eAAA,CF2oH5C,AE7xIA,oCAopBqC,eAAA,CF6oHrC,AEjyIA,kBAqpBiC,eAAA,CF+oHjC,AEpyIA,iBAspBgC,eAAA,CFipHhC,AEvyIA,kBAupBiC,eAAA,CFmpHjC,AE1yIA,2BAwpB0C,eAAA,CFqpH1C,AE7yIA,4BAypB2C,eAAA,CFupH3C,AEhzIA,4BA0pB2C,eAAA,CFypH3C,AEnzIA,4BA2pB2C,eAAA,CF2pH3C,AEtzIA,oBA4pBmC,eAAA,CF6pHnC,AEzzIA,mBA6pBkC,eAAA,CF+pHlC,AE5zIA,qBA8pBoC,eAAA,CFiqHpC,AE/zIA,iBA+pBgC,eAAA,CFmqHhC,AEl0IA,eAgqB8B,eAAA,CFqqH9B,AEr0IA,sBAiqBqC,eAAA,CFuqHrC,AEx0IA,wBAkqBuC,eAAA,CFyqHvC,AE30IA,iBAmqBgC,eAAA,CF2qHhC,AE90IA,iBAoqBgC,eAAA,CF6qHhC,AEj1IA,qBAqqBoC,eAAA,CF+qHpC,AEp1IA,qBAsqBoC,eAAA,CFirHpC,AEv1IA,wBAuqBuC,eAAA,CFmrHvC,AE11IA,gBAwqB+B,eAAA,CFqrH/B,AE71IA,2BAyqB0C,eAAA,CFurH1C,AEh2IA,oBA0qBmC,eAAA,CFyrHnC,AEn2IA,gBA2qB+B,eAAA,CF2rH/B,AEt2IA,wBA4qBuC,eAAA,CF6rHvC,AEz2IA,eA6qB8B,eAAA,CF+rH9B,AE52IA,wBA8qBuC,eAAA,CFisHvC,AE/2IA,oBA+qBmC,eAAA,CFmsHnC,AEl3IA,kBAgrBiC,eAAA,CFqsHjC,AEr3IA,wBAirBuC,eAAA,CFusHvC,AEx3IA,0BAkrByC,eAAA,CFysHzC,AE33IA,uBAmrBsC,eAAA,CF2sHtC,AE93IA,yBAorBwC,eAAA,CF6sHxC,AEj4IA,wBAqrBuC,eAAA,CF+sHvC,AEp4IA,2BAsrB0C,eAAA,CFitH1C,AEv4IA,mBAurBkC,eAAA,CFmtHlC,AE14IA,qBAwrBoC,eAAA,CFqtHpC,AE74IA,uBAyrBsC,eAAA,CFutHtC,AEh5IA,mBA0rBkC,eAAA,CFytHlC,AEn5IA,kBA2rBiC,eAAA,CF2tHjC,AEt5IA,sBA4rBqC,eAAA,CF6tHrC,AEz5IA,mBA6rBkC,eAAA,CF+tHlC,AE55IA,kBA8rBiC,eAAA,CFiuHjC,AE/5IA,4BA+rB2C,eAAA,CFmuH3C,AEl6IA,0BAgsByC,eAAA,CFquHzC,AEr6IA,6BAisB4C,eAAA,CFuuH5C,AEx6IA,iBAksBgC,eAAA,CFyuHhC,AE36IA,6BAmsB4C,eAAA,CF2uH5C,AE96IA,gCAosB+C,eAAA,CF6uH/C,AEj7IA,mBAqsBkC,eAAA,CF+uHlC,AEp7IA,uCAssBsD,eAAA,CFivHtD,AEv7IA,2EAwsB8D,eAAA,CFmvH9D,AE37IA,+DA2sB+B,eAAA,CFqvH/B,AEh8IA,iBA4sBgC,eAAA,CFuvHhC,AEn8IA,mBA6sBkC,eAAA,CFyvHlC,AEt8IA,4CA+sBwC,eAAA,CF2vHxC,AE18IA,sBAgtBqC,eAAA,CF6vHrC,AE78IA,kBAitBiC,eAAA,CF+vHjC,AEh9IA,yBAktBwC,eAAA,CFiwHxC,AEn9IA,oBAmtBmC,eAAA,CFmwHnC,AEt9IA,0BAotByC,eAAA,CFqwHzC,AEz9IA,2BAqtB0C,eAAA,CFuwH1C,AE59IA,sBAstBqC,eAAA,CFywHrC,AE/9IA,uBAutBsC,eAAA,CF2wHtC,AEl+IA,iBAwtBgC,eAAA,CF6wHhC,AEr+IA,qBAytBoC,eAAA,CF+wHpC,AEx+IA,8DA2tB+C,eAAA,CFixH/C,AE5+IA,sCA6tBuC,eAAA,CFmxHvC,AEh/IA,uBA8tBsC,eAAA,CFqxHtC,AEn/IA,yBA+tBwC,eAAA,CFuxHxC,AEt/IA,2BAguB0C,eAAA,CFyxH1C,AEz/IA,kBAiuBiC,eAAA,CF2xHjC,AE5/IA,wBAkuBuC,eAAA,CF6xHvC,AE//IA,0BAmuByC,eAAA,CF+xHzC,AElgJA,yCAquBuC,eAAA,CFiyHvC,AEtgJA,6CAuuByC,eAAA,CFmyHzC,AE1gJA,uBAwuBsC,eAAA,CFqyHtC,AE7gJA,yBAyuBwC,eAAA,CFuyHxC,AEhhJA,kBA0uBiC,eAAA,CFyyHjC,AEnhJA,oBA2uBmC,eAAA,CF2yHnC,AEthJA,8CA6uBkC,eAAA,CF6yHlC,AE1hJA,kDA+uBoC,eAAA,CF+yHpC,AE9hJA,iBAgvBgC,eAAA,CFizHhC,AEjiJA,0BAivByC,eAAA,CFmzHzC,AEpiJA,oBAkvBmC,eAAA,CFqzHnC,AEviJA,4EAqvB2C,eAAA,CFuzH3C,AE5iJA,+DAuvBqD,eAAA,CFyzHrD,AEhjJA,qDAyvB2C,eAAA,CF2zH3C,AEpjJA,wDA2vB8C,eAAA,CF6zH9C,AExjJA,sDA6vB4C,eAAA,CF+zH5C,AE5jJA,kBA8vBiC,eAAA,CFi0HjC,AE/jJA,kDAiwB+B,eAAA,CFm0H/B,AEpkJA,mBAkwBkC,eAAA,CFq0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UEgCE,WAAA,AACA,yBAAA,AACA,iBAAA,AACA,eAAA,AACA,+BAAA,C3Bi0JD,AyBr2JD,mCEuCI,YAAA,AACA,UAAA,AACA,4BAAA,C3Bk0JH,AyB32JD,aE4CI,kBAAA,AAEA,gBAAA,AACA,kBAAA,AACA,gCAAA,AACA,sBAAA,AACA,wBAAA,C3Bi0JH,AyBn3JD,aEqDI,kBAAA,AACA,aAAA,AAEA,yBAAA,AACA,kBAAA,AACA,qBAAA,C3Bg0JH,A2B/zJG,oBACE,wBAAA,C3Bi0JL,AyB73JD,gDEgEI,wBAAA,C3Bi0JH,A2Bh0JG,8DACE,wBAAA,C3Bm0JL,AyBr4JD,wCE0EM,0BAAA,C3B8zJL,AyBx4JD,uCE6EM,2BAAA,C3B8zJL,AyB34JD,yBEsFI,SAAA,C3BwzJH,AyB94JD,yDEyFI,kCAAA,C3ByzJH,AyBl5JD,wJE4FI,kCAAA,C3B4zJH,AyBx5JD,0BEgGE,WAAA,AACA,eAAA,C3B2zJD,AyB55JD,YEoGE,cAAA,AACA,gBAAA,AACA,gBAAA,AACA,iBAAA,C3B2zJD,AyBl6JD,gBE0GE,oBAAA,AACA,sBAAA,AAgCA,UAAA,C3B4xJD,AyBv6JD,aEsHE,SAAA,AACA,SAAA,C3BozJD,A2BnzJC,oBACE,cAAA,C3BqzJH,AyB96JD,gBE4HI,eAAA,AACA,qBAAA,AACA,cAAA,C3BqzJH,AyBn7JD,WEmIE,aAAA,C3BmzJD,AyBt7JD,SEuIE,cAAA,C3BkzJD,AyBz7JD,iBE2IE,UAAA,C3BizJD,AyB57JD,gBE+IE,eAAA,C3BgzJD,AyB/7JD,qBEmJE,eAAA,C3B+yJD,AyBl8JD,mBEuJE,mBAAA,C3B8yJD,AyBr8JD,gBE0JE,mBAAA,C3B8yJD,AyBx8JD,yBE6JE,mBAAA,C3B8yJD,AyB38JD,gBEgKE,oBAAA,C3B8yJD,AyB98JD,kBEmKE,oBAAA,C3B8yJD,AyBj9JD,eEuKE,cAAA,C3B6yJD,AyBp9JD,UE2KE,yBAAA,AAEA,aAAA,AACA,YAAA,C3B2yJD,AyBz9JD,wBEgLI,YAAA,C3B4yJH,AyB59JD,uBEmLI,eAAA,C3B4yJH,AyB/9JD,cG4OE,kBAAA,AACA,aAAA,AACA,SAAA,AACA,iBAAA,AACA,kBAAA,AAEA,uBAAA,AACA,oBAAA,AAEA,iCAAA,AACA,sCAAA,8BAAA,AACA,sBAAA,AAEA,iBAAA,AACA,cAAA,AACA,eAAA,AACA,eAAA,AACA,kBAAA,C5BmvJD,A4BlvJC,6BAAmB,OAAA,C5BqvJpB,A4BpvJC,8BAAoB,QAAA,C5BuvJrB,A4BtvJC,mGACE,gBAAA,C5B0vJH,A4BxvJC,2GACE,eAAA,C5B6vJH,AyBjgKD,iBGuQI,iBAAA,AACA,6BAAA,AACA,wBAAA,eAAA,C5B6vJH,A4B3vJC,gCACE,aAAA,C5B6vJH,AyBzgKD,+BG+QI,iBAAA,AAAoC,QAAA,C5B8vJvC,AyB7gKD,wBE2LE,kBAAA,AACA,mBAAA,AACA,oBAAA,C3Bq1JD,A2Bp1JC,0CACE,oBAAA,C3Bs1JH,A2Bp1JC,mCACE,iBAAA,C3Bs1JH,AyBxhKD,uDE0ME,eAAA,AACA,aAAA,C3Bk1JD,AyB7hKD,WE+ME,cAAA,C3Bi1JD,AyBhiKD,kBEkNE,cAAA,C3Bi1JD,AyBniKD,cEoNY,aAAA,C3Bk1JX,AyBtiKD,gBEqNc,aAAA,C3Bo1Jb,AyBziKD,aEuNE,uBAAA,C3Bq1JD,AyB5iKD,sBE0NE,cAAA,AACA,cAAA,AACA,mBAAA,AACA,aAAA,C3Bs1JD,A2Br1JC,kCACE,aAAA,C3Bw1JH,A2Bt1JC,oFACE,aAAA,C3B61JH,A2B31JC,4BACE,aAAA,C3B81JH,AyBnkKD,WEyOE,WAAA,C3B61JD,AyBtkKD,iBE6OE,aAAA,C3B41JD,AyBzkKD,aEiPE,aAAA,AACA,yBAAA,AACA,aAAA,C3B21JD,AyB9kKD,sBEwPE,qBAAA,AACA,yBAAA,AAA4C,cAAA,AAC5C,kBAAA,AAAsB,kBAAA,AAAuB,iBAAA,C3B41J9C,A2B31JC,8BACE,wBAAA,C3B61JH,A2B31JC,+BACE,aAAA,C3B61JH,AyB5lKD,4BEkRE,8BAAA,AACA,iBAAA,C3B60JD,AyBhmKD,4HGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,eAAA,C5BupKD,A4BhqKC,qIAAO,aAAA,C5BqqKR,AyB1nKD,wIGhCI,sBAAA,AACA,aAAA,C5B+pKH,A4B7pKC,ybACE,qBAAA,AACA,wBAAA,C5BuqKH,A4BrqKC,uJACE,aAAA,C5ByqKH,A4B1qKC,sUAGI,aAAA,C5B+qKL,A4B7qKG,yKACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BirKL,A4B3qKC,iJACE,gBAAA,C5B+qKH,A4B7qKC,oJACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BirKH,A4BhrKG,igBACE,wBAAA,C5B0rKL,A4BtrKC,wIACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5B0rKH,A4B7rKC,+KAMI,cAAA,AACA,qBAAA,C5B4rKL,A4BzrKC,6MACE,mBAAA,C5B6rKH,A4B5rKG,yNACE,mBAAA,C5BgsKL,A4B7rKC,oJACE,WAAA,AACA,qBAAA,C5B8sKH,AyBjuKD,mKEyRE,mBAAA,AACA,wCAAA,AACA,mCAAA,AACA,sCAAA,AACA,SAAA,C3B88JD,AyB3uKD,mCGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,eAAA,C5BiyKD,A4B1yKC,yCAAO,aAAA,C5B8yKR,AyBnwKD,2CGhCI,sBAAA,AACA,aAAA,C5BuyKH,A4BryKC,uJACE,qBAAA,AACA,wBAAA,C5B4yKH,A4B1yKC,qDACE,aAAA,C5B6yKH,A4B9yKC,0HAGI,aAAA,C5BizKL,A4B/yKG,iEACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BkzKL,A4B5yKC,iDACE,gBAAA,C5B+yKH,A4B7yKC,mDACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BgzKH,A4B/yKG,uMACE,wBAAA,C5BszKL,A4BlzKC,2CACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5BqzKH,A4BxzKC,qEAMI,cAAA,AACA,qBAAA,C5BszKL,A4BnzKC,yFACE,mBAAA,C5BszKH,A4BrzKG,iGACE,mBAAA,C5BwzKL,A4BrzKC,mDACE,WAAA,AACA,qBAAA,C5Bq0KH,AyBx1KD,eEsSI,eAAA,C3BqjKH,AyB31KD,wCE2SE,SAAA,C3BojKD,AyB/1KD,4CGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,eAAA,C5Bq5KD,A4B95KC,kDAAO,aAAA,C5Bk6KR,AyBv3KD,oDGhCI,sBAAA,AACA,aAAA,C5B25KH,A4Bz5KC,kLACE,qBAAA,AACA,wBAAA,C5Bg6KH,A4B95KC,8DACE,aAAA,C5Bi6KH,A4Bl6KC,4IAGI,aAAA,C5Bq6KL,A4Bn6KG,0EACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5Bs6KL,A4Bh6KC,0DACE,gBAAA,C5Bm6KH,A4Bj6KC,4DACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5Bo6KH,A4Bn6KG,kOACE,wBAAA,C5B06KL,A4Bt6KC,oDACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5By6KH,A4B56KC,8EAMI,cAAA,AACA,qBAAA,C5B06KL,A4Bv6KC,kGACE,mBAAA,C5B06KH,A4Bz6KG,0GACE,mBAAA,C5B46KL,A4Bz6KC,4DACE,WAAA,AACA,qBAAA,C5By7KH,AyB58KD,oDE+SM,wBAAA,AACA,iBAAA,C3BiqKL,AyBj9KD,iBEqTE,kBAAA,C3B+pKD,AyBp9KD,4DEuTI,iBAAA,AACA,UAAA,C3BiqKH,AyBz9KD,wIE0TM,cAAA,AACA,eAAA,AACA,eAAA,C3BqqKL,A2BpqKK,oPACE,gBAAA,C3ByqKP,A2BtqKG,4EACE,yBAAA,C3ByqKL,A2BxqKK,oFACE,yBAAA,C3B2qKP,A2BxqKG,0EACE,yBAAA,C3B2qKL,A2B1qKK,kFACE,yBAAA,C3B6qKP,A2BzqKC,2BACE,gBAAA,C3B2qKH,A4BjrKC,uBACE,WAAA,AACA,cAAA,AACA,UAAA,C5BmrKH,AyB//KD,8DEsVI,SAAA,C3B6qKH,AyBngLD,kEGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AD2XI,iBAAA,C3B+rKL,A4BnkLC,wEAAO,aAAA,C5BukLR,AyB5hLD,0EGhCI,sBAAA,AACA,aAAA,C5BgkLH,A4B9jLC,oPACE,qBAAA,AACA,wBAAA,C5BqkLH,A4BnkLC,oFACE,aAAA,C5BskLH,A4BvkLC,wLAGI,aAAA,C5B0kLL,A4BxkLG,gGACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5B2kLL,A4BrkLC,gFACE,gBAAA,C5BwkLH,A4BtkLC,kFACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BykLH,A4BxkLG,oSACE,wBAAA,C5B+kLL,A4B3kLC,0EACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5B8kLH,A4BjlLC,oGAMI,cAAA,AACA,qBAAA,C5B+kLL,A4B5kLC,wHACE,mBAAA,C5B+kLH,A4B9kLG,gIACE,mBAAA,C5BilLL,A4B9kLC,kFACE,WAAA,AACA,qBAAA,C5B8lLH,AyBjnLD,0CE8VI,aAAA,AACA,eAAA,C3BsxKH,A2BnxKC,qBACE,gBAAA,C3BqxKH,AyBxnLD,mBEuWE,iBAAA,AACA,kBAAA,C3BoxKD,AyB5nLD,sCE4WE,YAAA,AACA,gBAAA,C3BoxKD,AyBjoLD,0CE+WI,mBAAA,AACA,gBAAA,AACA,kBAAA,C3BsxKH,AyBvoLD,sIGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,ADuZE,kBAAA,AACA,mBAAA,AACA,eAAA,C3ByyKH,A4B3sLC,kJAAO,aAAA,C5BitLR,AyBtqLD,sJGhCI,sBAAA,AACA,aAAA,C5B4sLH,A4B1sLC,8eACE,qBAAA,AACA,wBAAA,C5ButLH,A4BrtLC,0KACE,aAAA,C5B0tLH,A4B3tLC,oXAGI,aAAA,C5BkuLL,A4BhuLG,kMACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BquLL,A4B/tLC,kKACE,gBAAA,C5BouLH,A4BluLC,sKACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BuuLH,A4BtuLG,8kBACE,wBAAA,C5BmvLL,A4B/uLC,sJACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5BovLH,A4BvvLC,0MAMI,cAAA,AACA,qBAAA,C5BuvLL,A4BpvLC,kPACE,mBAAA,C5ByvLH,A4BxvLG,kQACE,mBAAA,C5B6vLL,A4B1vLC,sKACE,WAAA,AACA,qBAAA,C5B4wLH,AyB/xLD,4CE0XI,SAAA,C3By6KH,AyBnyLD,gDE4XM,iBAAA,C3B26KL,AyBvyLD,sFEgYI,iBAAA,C3B26KH,AyB3yLD,0DEmYI,gBAAA,C3B46KH,AyB/yLD,gEGiKI,cAAA,AACA,UAAA,AAAY,QAAA,C5BmpLf,AyBrzLD,oEGsKM,cAAA,AACA,YAAA,AACA,aAAA,AACA,SAAA,AACA,gBAAA,AACA,kBAAA,AACA,gBAAA,AAAkB,uBAAA,AAClB,gBAAA,AACA,6BAAA,AACA,aAAA,C5BopLL,AyBn0LD,4EGiLQ,wBAAA,AACA,iBAAA,C5BspLP,A4BppLK,sFACE,uBAAA,C5BupLP,A4BtpLO,kGACE,WAAA,C5BypLT,AyBh1LD,kFG2LQ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,QAAA,C5BypLP,A4BnpLG,4EACE,yBAAA,AACA,aAAA,C5BspLL,A4BxpLG,gFAII,aAAA,C5BwpLP,AyBh2LD,kGG6MM,iBAAA,C5BupLL,A4BrpLG,oFACE,6BAAA,AACA,aAAA,C5BwpLL,A4BrpLC,gGAGM,mBAAA,AACA,sBAAA,AACA,UAAA,C5BspLP,A4B3pLC,wHAQM,mBAAA,AACA,sBAAA,AACA,UAAA,C5B2pLP,AyBz3LD,6BE2YE,iBAAA,C3Bi/KD,AyB53LD,wFE6YI,gBAAA,AACA,UAAA,C3Bm/KH,AyBj4LD,wBGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,wBAAA,AACA,kBAAA,AACA,qBAAA,AACA,oDAAA,4CAAA,AACA,2FAAA,mFAAA,2EAAA,iHAAA,C5B+0LD,A4B70LC,oCACE,qBAAA,AACA,iFAAA,yEAAA,AACA,cAAA,C5Bg1LH,A4B90LC,sCACE,kBAAA,AACA,UAAA,C5Bi1LH,AyBh6LD,6DE2ZE,oBAAA,C3B0gLD,AyBr6LD,gCE+ZE,cAAA,AACA,SAAA,C3BygLD,AyBz6LD,2BE+ZE,cAAA,AACA,SAAA,C3BygLD,AyBz6LD,4BE+ZE,cAAA,AACA,SAAA,C3BygLD,AyBz6LD,kBE+ZE,cAAA,AACA,SAAA,C3BygLD,AyBz6LD,mBEwaE,kBAAA,AACA,kBAAA,AACA,kFAAA,AACA,UAAA,C3BogLD,AyB/6LD,0BE+aE,oFAAA,C3BmgLD,AyBl7LD,sBI7DmB,YAAA,C7Bk/LlB,AyBr7LD,iCI5D8B,SAAA,AAAU,mBAAA,AAAoB,WAAA,AAAY,YAAA,AAAa,gBAAA,AAAiB,UAAA,AAAW,4BAAA,AAA8B,SAAA,C7B2/L9I,AyB/7LD,qBI3DkB,SAAA,AAAU,UAAA,AAAW,SAAA,AAAU,UAAA,AAAW,gBAAA,AAAiB,qBAAA,AAAsB,eAAA,AAAgB,eAAA,C7BogMlH,AyBz8LD,6DI1DsD,WAAA,AAAY,cAAA,AAAe,wBAAA,C7BygMhF,AyB/8LD,8BIzD2B,UAAA,C7B2gM1B,AyBl9LD,wBIxDqB,YAAA,C7B8gMpB,AyBt9LD,oBIvDiB,WAAA,AAAY,YAAA,AAAa,MAAA,AAAO,OAAA,AAAQ,kBAAA,AAAmB,UAAA,AAAW,uBAAA,C7BshMtF,AyB/9LD,cItDW,YAAA,C7BwhMV,AyBl+LD,uBInDoB,wBAAA,C7BwhMnB,AyBr+LD,aIhDU,cAAA,AAAe,qBAAA,AAAsB,gBAAA,AAAiB,2BAAA,C7B2hM/D,AyB3+LD,uBI7CoB,eAAA,AAAgB,MAAA,AAAO,OAAA,AAAQ,WAAA,AAAY,WAAA,C7B+hM9D,AyBl/LD,uBI5CoB,qBAAA,AAAyB,WAAA,AAAY,wBAAA,C7BmiMxD,AyBv/LD,sBI3CmB,qBAAA,AAAsB,YAAA,AAAa,qBAAA,AAAyB,WAAA,AAAY,yBAAA,AAA0B,iBAAA,C7B0iMpH,AyB//LD,mBIzCiB,iBAAA,C7B2iMhB,AyBlgMD,eGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,eAAA,C5BujMD,A4BhkMC,kBAAO,aAAA,C5BmkMR,AyBxhMD,mBGhCI,sBAAA,AACA,aAAA,C5B2jMH,A4BzjMC,oEACE,qBAAA,AACA,wBAAA,C5B6jMH,A4B3jMC,wBACE,aAAA,C5B6jMH,A4B9jMC,wDAGI,aAAA,C5B+jML,A4B7jMG,8BACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5B+jML,A4BzjMC,sBACE,gBAAA,C5B2jMH,A4BzjMC,uBACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5B2jMH,A4B1jMG,4FACE,wBAAA,C5B8jML,A4B1jMC,mBACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5B4jMH,A4B/jMC,gCAMI,cAAA,AACA,qBAAA,C5B4jML,A4BzjMC,0CACE,mBAAA,C5B2jMH,A4B1jMG,8CACE,mBAAA,C5B4jML,A4BzjMC,uBACE,WAAA,AACA,qBAAA,C5BwkMH,AyB3lMD,uDInCI,aAAA,C7BkoMH,A6BhoMC,4CACa,aAAA,C7BkoMd,A6BnoMC,mDAEoB,YAAA,C7BooMrB,A6BloMC,kCDKE,aAAA,C5BgoMH,A6BroMC,4EDOI,aAAA,C5BkoML,A4BhoMG,wCACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BkoML,A6B9oMC,6FDOI,aAAA,C5B2oML,A6B5oMC,+BDLE,qBAAA,AACA,wBAAA,C5BopMH,AyBznMD,kBGqCE,iBAAA,AACA,sBAAA,AACA,WAAA,C5BulMD,AyB9nMD,6BGyCI,iBAAA,AACA,iBAAA,AACA,eAAA,C5BwlMH,A4BvlMG,4CACE,yBAAA,C5BylML,A4BvlMG,6CACE,yBAAA,C5BylML,AyBzoMD,eGsIE,kBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,cAAA,AACA,sBAAA,ACzJA,kBAAA,AACA,gBAAA,AACA,YAAA,AACA,UAAA,AACA,cAAA,AACA,YAAA,C7B+pMD,AyBxpMD,mCGmJE,kBAAA,AAAoB,sBAAA,AAEpB,cAAA,AAIA,wBAAA,AACA,YAAA,AACA,gBAAA,AACA,gBAAA,AC/JE,eAAA,C7BqqMH,AyBlqMD,4CGuJI,aAAA,C5B8gMH,AyBrqMD,oDIAM,WAAA,AAAa,uBAAA,C7ByqMlB,AyBzqMD,6DIGM,kBAAA,AACA,WAAA,AACA,QAAA,AACA,WAAA,AACA,iBAAA,AACA,YAAA,AACA,YAAA,AACA,eAAA,AACA,cAAA,AACA,4BAAA,AAEA,wBAAA,eAAA,C7BwqML,A6BvqMK,+EACE,WAAA,C7ByqMP,AyBzrMD,sEIoBQ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,SAAA,AACA,gBAAA,C7BwqMP,A6BrqMK,iGACE,cAAA,AACA,mBAAA,AACA,aAAA,AACA,sBAAA,C7BuqMP,AyBtsMD,kCIoCI,SAAA,AAAW,iBAAA,AAAmB,gBAAA,AAAkB,OAAA,AAChD,iBAAA,AACA,iBAAA,C7BwqMH,AyB9sMD,wDIwCM,gBAAA,C7ByqML,AyBjtMD,qCI4CI,WAAA,AAAa,YAAA,AACb,gBAAA,C7ByqMH,A6BxqMG,6CACE,UAAA,AAAY,UAAA,AAAY,gBAAA,AACxB,kBAAA,AAAoB,SAAA,AAAW,OAAA,C7B8qMpC,A6B5qMG,0CACE,kBAAA,AAAoB,OAAA,AAAS,KAAA,C7BgrMlC,AyBnuMD,qCIuDI,kBAAA,AACA,sBAAA,AACA,gBAAA,AACA,YAAA,AACA,cAAA,C7B+qMH,A6B7qMC,+CACE,uBAAA,C7B+qMH,A6B7qMC,+CACE,uBAAA,C7B+qMH,A6B7qMC,6CACE,uBAAA,C7B+qMH,A6B7qMC,uDACE,UAAA,AACA,gBAAA,C7B+qMH,A6B7qMC,mKACE,aAAA,C7BirMH,A6B/qMC,kDAAuC,YAAA,C7BkrMxC,A6B9qMC,mDACE,wBAAA,C7BirMH,AyBnwMD,aIwFE,6BAAA,AACA,UAAA,AACA,SAAA,AACA,cAAA,AACA,mBAAA,C7B8qMD,AyB1wMD,2BI8FI,kBAAA,AACA,SAAA,AAAa,yBAAA,AACb,eAAA,AACA,YAAA,C7BgrMH,AyBjxMD,qBIwGE,MAAA,AACA,OAAA,AACA,eAAA,ADkIA,kBAAA,AACA,aAAA,AAEA,iBAAA,AACA,kBAAA,AAEA,uBAAA,AACA,oBAAA,AAEA,iCAAA,AACA,sCAAA,8BAAA,AACA,sBAAA,AAEA,iBAAA,AACA,cAAA,AACA,eAAA,AACA,eAAA,AACA,mBAAA,AChJA,eAAA,AACA,eAAA,AACA,SAAA,AAAW,SAAA,C7ByrMZ,A4B1iMC,oCAAmB,OAAA,C5B6iMpB,A4B5iMC,qCAAoB,QAAA,C5B+iMrB,A4B9iMC,wHACE,gBAAA,C5BkjMH,A4BhjMC,uIACE,eAAA,C5BqjMH,AyBzzMD,wBGuQI,iBAAA,AACA,6BAAA,AACA,wBAAA,eAAA,C5BqjMH,A4BnjMC,uCACE,aAAA,C5BqjMH,AyBj0MD,sCG+QI,iBAAA,AAAoC,QAAA,C5BsjMvC,AyBr0MD,mCIiHI,cAAA,AACA,aAAA,AAAgB,SAAA,AAChB,eAAA,C7BwtMH,A6BvtMG,qGACE,yBAAA,AACA,aAAA,C7B0tML,A6B5tMG,yGAII,aAAA,C7B4tMP,AyBp1MD,0BIgII,eAAA,C7ButMH,AyBv1MD,gCGuRE,SAAA,AACA,gCAAA,AC9IE,kBAAA,C7BktMH,A4BnhMC,sCACE,WAAA,AACA,cAAA,AACA,UAAA,C5BqhMH,AyBj2MD,mCG2RI,WAAA,AACA,qBAAA,AACA,mBAAA,AACA,cAAA,AACA,iBAAA,C5BykMH,AyBx2MD,qCGiSM,cAAA,AACA,iBAAA,AACA,kBAAA,AACA,0BAAA,AAWE,yBAAA,AACA,wBAAA,C5BgkMP,AyBh3MD,2CGoTM,wBAAA,C5B+jML,AyBn3MD,qDGwTI,gCAAA,AACA,uBAAA,AACA,gBAAA,AAME,6BAAA,AACA,aAAA,C5ByjML,AyB13MD,4CI6II,eAAA,C7BgvMH,A6B/uMG,6DACE,SAAA,C7BivML,AyBh4MD,6CGqRI,yBAAA,AAEF,SAAA,AACA,+BAAA,C5B6mMD,A4B5jMC,mDACE,WAAA,AACA,cAAA,AACA,UAAA,C5B8jMH,AyB14MD,gDG2RI,WAAA,AACA,qBAAA,AACA,mBAAA,AACA,cAAA,AACA,iBAAA,C5BknMH,AyBj5MD,kDGiSM,cAAA,AACA,iBAAA,AACA,kBAAA,AACA,0BAAA,AAEE,yBAAA,AACA,cAAA,AACA,YAAA,AACA,eAAA,C5BknMP,A4BjnMO,wDACE,wBAAA,C5BmnMT,AyB95MD,wDGoTM,wBAAA,C5B6mML,AyBj6MD,kEGwTI,gCAAA,AACA,uBAAA,AACA,gBAAA,AAEE,yBAAA,AACA,aAAA,C5B2mML,AyBx6MD,2BI6JE,kBAAA,AACA,YAAA,C7B8wMD,AyB56MD,8BIgKI,SAAA,AACA,UAAA,AACA,gBAAA,AACA,UAAA,C7B+wMH,AyBl7MD,iCIqKM,WAAA,AACA,qBAAA,AACA,iBAAA,AACA,SAAA,AACA,gBAAA,C7BgxML,A6B/wMK,iDACE,yBAAA,AACA,gBAAA,AACA,yBAAA,C7BixMP,A6BpxMK,mDAKI,aAAA,C7BkxMT,AyBj8MD,0CIqLI,mBAAA,AACA,yBAAA,AACA,iBAAA,AACA,cAAA,AACA,aAAA,C7B+wMH,A6B9wMG,2DACE,SAAA,C7BgxML,AyB38MD,gBGsIE,kBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,ACmDA,gBAAA,AACA,aAAA,AACA,YAAA,C7BqxMD,AyBz9MD,gBIwME,cAAA,AACA,cAAA,AAAoD,UAAA,AACpD,iBAAA,C7BqxMD,AyB/9MD,mCIuNI,yBAAA,C7B2wMH,A6BpxMG,4HAEE,wBAAA,AACA,QAAA,C7BsxML,A6BpxMG,8CACE,QAAA,AACA,QAAA,C7BsxML,AyB3+MD,kCI0NI,SAAA,AACA,iBAAA,AAEA,6BAAA,AACA,+BAAA,C7BmxMH,AyBj/MD,mCIiOI,YAAA,AACA,WAAA,AACA,mBAAA,AACA,UAAA,AAAY,SAAA,AACZ,kBAAA,AACA,QAAA,AACA,gBAAA,AACA,cAAA,C7BoxMH,AyB5/MD,4CI0OM,YAAA,C7BqxML,AyB//MD,+BI8OI,MAAA,AACA,mBAAA,AACA,uBAAA,C7BoxMH,AyBpgND,qDIkPM,wBAAA,AACA,gBAAA,AACA,eAAA,C7BqxML,AyBzgND,iCIwPI,SAAA,AACA,gBAAA,AACA,qBAAA,C7BoxMH,AyB9gND,uDI4PM,wBAAA,AACA,gBAAA,AACA,eAAA,C7BqxML,AyBnhND,aIoQE,wBAAA,AACA,8CAAA,AACA,cAAA,AACA,WAAA,AAAa,YAAA,AACb,eAAA,AAEA,sBAAA,AACA,aAAA,AACA,iBAAA,C7BkxMD,AyB9hND,+BI+QE,eAAA,C7BkxMD,AyBjiND,sCImRE,WAAA,C7BixMD,AyBpiND,iDIsRE,sBAAA,AACA,iBAAA,C7BkxMD,AyBziND,6BASI,SAAA,AACA,UAAA,AACA,8BAAA,qBAAA,CzBqiNH,AyBhjND,aAeI,gBAAA,CzBoiNH,AyBnjND,QAmBI,qBAAA,AACA,iBAAA,CzBmiNH,AyBvjND,aAwBI,kBAAA,AACA,eAAA,CzBkiNH,AyB3jND,uHGxDE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,wBAAA,AACA,kBAAA,AACA,qBAAA,AACA,oDAAA,4CAAA,AACA,2FAAA,mFAAA,2EAAA,kHAAA,AHvCI,QAAA,CzBmjNL,A4B1gNC,+IACE,qBAAA,AACA,iFAAA,yEAAA,AACA,cAAA,C5B+gNH,A4B7gNC,mJACE,kBAAA,AACA,UAAA,C5BkhNH,AyBhkNK,sSACE,wBAAA,CzBykNP,AyB3mND,4BAsCM,aAAA,CzBwkNL,A4B1hNC,wEAAA,4BACE,iBAAA,C5B6hND,A4B9hND,mCAGI,wBAAA,AACA,qBAAA,AAOA,mBAAA,AAvJJ,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAuJI,6BAAA,AACA,+BAAA,C5B0hNH,A4BniNG,+CACE,YAAA,C5BqiNL,A4B1hNC,kCA/JF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AA2II,SAAA,AAEA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,SAAA,AACA,iBAAA,AACA,WAAA,AACA,eAAA,AACA,yBAAA,AACA,4BAAA,AAOA,wBAAA,AACA,gBAAA,AACA,gBAAA,AAGA,mBAAA,C5BuiNH,A4BjtND,qCAAO,aAAA,C5BotNN,A4BlkNC,sCAvIA,sBAAA,AACA,aAAA,C5B4sND,A4B1sND,6HACE,qBAAA,AACA,wBAAA,C5B8sND,A4B5sND,2CACE,aAAA,C5B8sND,A4B/sND,8FAGI,aAAA,C5BgtNH,A4B9sNC,iDACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BgtNH,A4B1sND,yCACE,gBAAA,C5B4sND,A4B1sND,0CACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5B4sND,A4B3sNC,qJACE,wBAAA,C5B+sNH,A4B3sND,sCACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5B6sND,A4BhtND,mDAMI,cAAA,AACA,qBAAA,C5B6sNH,A4B1sND,6DACE,mBAAA,C5B4sND,A4B3sNC,iEACE,mBAAA,C5B6sNH,A4B1sND,0CACE,WAAA,AACA,qBAAA,C5BytND,CACF,AyB7uND,8BA0CM,WAAA,AAGA,qBAAA,AACA,mBAAA,AACA,eAAA,AACA,qBAAA,CzBosNL,AyBpvND,8DAmDQ,mBAAA,AACA,SAAA,AACA,eAAA,AACA,0BAAA,AACA,4BAAA,CzBosNP,AyB3vND,oDA4DQ,mBAAA,AACA,eAAA,AACA,cAAA,AACA,yBAAA,AACA,2BAAA,CzBksNP,AyBlwND,oEAmEU,aAAA,CzBksNT,AyB/rNO,wEG9HN,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AH4HQ,WAAA,CzBqsNT,AyB7wND,gBA+EI,cAAA,AACA,UAAA,CzBisNH,AyBjxND,eAoFI,YAAA,AACA,eAAA,AACA,mBAAA,AACA,gBAAA,AACA,uBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,CzBgsNH,AyB7rNG,6BChFF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,qBAAA,AD4EI,YAAA,AACA,iBAAA,AACA,cAAA,AACA,gBAAA,AACA,cAAA,AACA,kBAAA,AACA,gBAAA,CzBqsNL,AyB3yND,eA4GI,UAAA,AACA,UAAA,CzBksNH,AyB/yND,2CA8GqB,UAAA,CzBqsNpB,AyBnzND,8CAkHI,SAAA,CzBosNH,AyBtzND,eAsHI,SAAA,AAAW,WAAA,AAAa,YAAA,AAAc,YAAA,CzBssNzC,AyB5zND,wBAyHI,aAAA,CzBssNH,AyB/zND,6DA6HI,WAAA,AACA,aAAA,CzBusNH,AyBr0ND,aAkII,cAAA,AACA,UAAA,CzBusNH,AyBrsNG,oBAEE,yBAAA,AACA,WAAA,CzBusNL,AyB/0ND,mBA6II,aAAA,AACA,cAAA,AACA,UAAA,CzBqsNH,AyBp1ND,0BAkJI,aAAA,CzBqsNH,AyBv1ND,yBAqJI,aAAA,CzBqsNH,AyB11ND,qBAyJI,2BAAA,AACA,WAAA,AACA,kBAAA,AACA,YAAA,CzBosNH,AyBh2ND,qBA+JI,2BAAA,AACA,WAAA,AACA,kBAAA,AACA,QAAA,AACA,YAAA,CzBosNH,AyBv2ND,oBAwKI,gBAAA,AACA,mBAAA,AACA,iBAAA,CzBosNH,AyB92ND,qBA8KI,YAAA,AACA,aAAA,CzBosNH,AyBn3ND,iEAqLI,iBAAA,CzBksNH,AyBv3ND,cAyLI,yBAAA,AAEA,gCAAA,AACA,cAAA,AACA,cAAA,AACA,qBAAA,AACA,YAAA,AACA,yBAAA,CzBgsNH,AyBh4ND,oBAqMI,cAAA,AACA,eAAA,CzB8rNH,AyBp4ND,qBA0MI,cAAA,AACA,cAAA,AACA,yBAAA,AACA,gBAAA,AACA,cAAA,AACA,gCAAA,AACA,gBAAA,AACA,iBAAA,AAEA,iBAAA,CzB4rNH,AyB/4ND,2CAsNI,iBAAA,CzB4rNH,AyBl5ND,qBA0NI,eAAA,AACA,cAAA,AACA,WAAA,AACA,yBAAA,AACA,iBAAA,CzB2rNH,AyBz5ND,aAkOI,iBAAA,CzB0rNH,AyB55ND,oBAqOI,eAAA,CzB0rNH,AyB/5ND,gBAwOI,WAAA,AACA,YAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AACA,yBAAA,AACA,UAAA,AACA,QAAA,CzB0rNH,AyBz6ND,oBAmPI,kBAAA,AACA,WAAA,AACA,QAAA,CzByrNH,AyB96ND,gBA0PI,WAAA,CzBwrNH,AyBl7ND,yBA6PI,cAAA,AACA,QAAA,CzBwrNH,AyBt7ND,wBAyQI,eAAA,CzBirNH,AyB17ND,6DA8QI,eAAA,CzBgrNH,AyB97ND,6CAiRI,eAAA,CzBgrNH,AyBj8ND,eA0RI,iBAAA,CzB0qNH,AyBp8ND,4BA8RI,kBAAA,CzByqNH,AyBv8ND,4CAkSI,cAAA,AACA,sBAAA,AACA,YAAA,AACA,SAAA,AACA,iBAAA,AACA,6BAAA,AACA,+BAAA,AACA,wBAAA,gBAAA,AACA,mBAAA,CzBwqNH,AyBtqNG,oGGpWF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,wBAAA,AACA,kBAAA,AACA,qBAAA,AACA,oDAAA,4CAAA,AACA,2FAAA,mFAAA,2EAAA,kHAAA,AHyOI,cAAA,AACA,sBAAA,AACA,YAAA,AACA,SAAA,AACA,gBAAA,CzB8rNL,A4Bz6NC,gHACE,qBAAA,AACA,iFAAA,yEAAA,AACA,cAAA,C5B46NH,A4B16NC,kHACE,kBAAA,AACA,UAAA,C5B66NH,AyB5/ND,4BAiUI,kBAAA,AGzXF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,wBAAA,AACA,kBAAA,AACA,qBAAA,AACA,oDAAA,4CAAA,AACA,2FAAA,mFAAA,2EAAA,kHAAA,AH6PE,SAAA,AAGA,UAAA,AAEA,OAAA,AACA,MAAA,AAEA,WAAA,AACA,YAAA,AAIA,6BAAA,AACA,+BAAA,CzBusNH,A4Bh9NC,kCACE,qBAAA,AACA,iFAAA,yEAAA,AACA,cAAA,C5Bk9NH,A4Bh9NC,mCACE,kBAAA,AACA,UAAA,C5Bk9NH,AyB9sNG,mCG3YF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AHwXI,wBAAA,AACA,gBAAA,AACA,gBAAA,AAGA,qDAAA,AACA,mCAAA,AACA,sCAAA,AAEA,kBAAA,AACA,SAAA,AACA,WAAA,AACA,YAAA,AACA,iBAAA,AACA,WAAA,AACA,cAAA,AACA,QAAA,CzB4tNL,A4B7mOC,sCAAO,aAAA,C5BgnOR,AyBlvNG,uCGnXA,sBAAA,AACA,aAAA,C5BwmOH,A4BtmOC,gIACE,qBAAA,AACA,wBAAA,C5B0mOH,A4BxmOC,4CACE,aAAA,C5B0mOH,A4B3mOC,gGAGI,aAAA,C5B4mOL,A4B1mOG,kDACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5B4mOL,A4BtmOC,0CACE,gBAAA,C5BwmOH,A4BtmOC,2CACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BwmOH,A4BvmOG,wJACE,wBAAA,C5B2mOL,A4BvmOC,uCACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5BymOH,A4B5mOC,oDAMI,cAAA,AACA,qBAAA,C5BymOL,A4BtmOC,8DACE,mBAAA,C5BwmOH,A4BvmOG,kEACE,mBAAA,C5BymOL,A4BtmOC,2CACE,WAAA,AACA,qBAAA,C5BqnOH,AyBxoOD,kCA4WI,YAAA,CzBgyNH,AyB9xNG,qDACE,mBAAA,AACA,cAAA,AACA,iBAAA,CzBgyNL,AyB1xNG,4DCzWF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,oBAAA,C1BsoOD,AyB7xNG,oEACE,eAAA,CzBgyNL,AyB9xNG,4DACE,eAAA,AACA,kBAAA,AACA,eAAA,CzBiyNL,AyB5xNG,sEACE,gBAAA,AACA,gBAAA,AACA,eAAA,AACA,SAAA,CzBkyNL,AyBhyNG,8DACE,gBAAA,AACA,gBAAA,AACA,eAAA,AACA,UAAA,CzBqyNL,AyBvrOD,2BAuZI,WAAA,AACA,QAAA,CzBmyNH,AyB3rOD,6CA2ZM,6BAAA,AACA,+BAAA,CzBmyNL,AyB/rOD,mHAkaM,sBAAA,AACA,eAAA,AACA,OAAA,CzBiyNL,AyBrsOD,sBAyaI,0BAAA,AACA,WAAA,CzB+xNH,AyBzsOD,gGA8aI,YAAA,AACA,mBAAA,AACA,yBAAA,AACA,kBAAA,AACA,wBAAA,gBAAA,AACA,aAAA,CzBkyNH,AyBrtOD,mCAubI,iBAAA,CzBkyNH,AyBztOD,aA+bI,QAAA,AACA,WAAA,AG1TF,kBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,AHmTE,eAAA,AACA,WAAA,CzBqyNH,AyBxuOD,6BAscM,aAAA,AACA,WAAA,CzBqyNL,AyB5uOD,2FA0cM,WAAA,CzBuyNL,AyBjvOD,kFA6cM,iBAAA,AACA,cAAA,AACA,WAAA,AACA,WAAA,CzByyNL,AyBzvOD,8BAodM,eAAA,CzBwyNL,AyB5vOD,4BAwdM,aAAA,AACA,UAAA,CzBuyNL,AyBhwOD,4BA6dM,aAAA,AACA,WAAA,AACA,mBAAA,CzBsyNL,AyBrwOD,wBAmeM,YAAA,AACA,uBAAA,CzBqyNL,AyBzwOD,6BAweM,eAAA,AACA,oBAAA,CzBoyNL,AyB7wOD,uBA6eM,eAAA,CzBmyNL,AyBhxOD,yBA+eQ,gBAAA,CzBoyNP,AyBzxND,SACE,gBAAA,CzB8xND,AyB/xND,qEAII,aAAA,AAAe,eAAA,CzBiyNlB,AyBryND,4BAQI,WAAA,CzBgyNH,AyBxyND,sCAUM,eAAA,CzBiyNL,AyB5xNC,yBAAA,uCAEI,YAAA,CzB8xNH,AyBhyND,8CAKe,cAAA,CzB8xNd,AyBnyND,qDAMsB,YAAA,CzBgyNrB,CACF,AyBtzND,sBA0BI,UAAA,CzB+xNH,AyBzzND,uBA8BI,WAAA,CzB8xNH,AyB5zND,uBAiCI,oBAAA,CzB8xNH,AyBtxND,wCAGI,YAAA,AACA,eAAA,CzB8xNH,AyBlyND,gCAQI,eAAA,CzB6xNH,AyBryND,+CAUM,SAAA,AACA,gBAAA,AACA,kBAAA,AACA,WAAA,CzB8xNL,AyB3yND,6CAiBM,gBAAA,AACA,iBAAA,CzB6xNL,AyB/yND,gDAqBQ,mBAAA,AACA,gBAAA,CzBgzNP,AyBt0ND,kDAyBU,WAAA,AACA,cAAA,CzBgzNT,AyB10ND,+CAkDM,SAAA,AAAW,aAAA,AACX,kBAAA,AACA,WAAA,AACA,SAAA,AACA,UAAA,AACA,YAAA,AACA,wBAAA,CzB4xNL,AyBp1ND,8BA8DI,oBAAA,CzByxNH,AyBv1ND,yBAiEI,YAAA,AACA,aAAA,AACA,gBAAA,AACA,uBAAA,AACA,YAAA,AACA,oBAAA,CzByxNH,AyB/1ND,6CA4EM,YAAA,AACA,YAAA,AACA,kBAAA,AACA,MAAA,AAAQ,SAAA,AACR,UAAA,AAAY,UAAA,CzBwxNjB,AyBx2ND,8BAqFI,iBAAA,CzBsxNH,AyB32ND,8CAwFM,aAAA,AACA,kBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,CzBsxNL,AyBl3ND,8EAgGM,gCAAA,wBAAA,AACA,YAAA,CzBsxNL,AyBv3ND,oCAwGI,mCAAA,2BAAA,AACA,WAAA,AACA,iBAAA,CzBkxNH,AyB53ND,oDA6GM,aAAA,CzBkxNL,AyB/3ND,2CAiHM,iCAAA,wBAAA,CzBixNL,AyBl4ND,+CAsHQ,iCAAA,wBAAA,CzB+wNP,AyBr4ND,yBA4HI,YAAA,CzB4wNH,AyBx4ND,0BAgII,eAAA,CzB2wNH,AyB34ND,wFAsII,UAAA,CzBywNH,AyB/4ND,yCCteE,iBAAA,C1Bw3OD,AEz/OA,+CwBoIG,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,UAAA,AACA,WAAA,AAGA,6BAAA,AACA,eAAA,AACA,sBAAA,AACA,uBAAA,AAGA,8BAAA,AAIA,mBAAA,C1Bi3OH,AExgPA,4DwB0JG,0BAAA,AAIA,kBAAA,AACA,0BAAA,AACA,6DAAA,oDAAA,C1B82OH,AE9gPA,qDwBmKG,2BAAA,AACA,uCAAA,AACA,0CAAA,AACA,uBAAA,cAAA,C1B82OH,AEphPA,sDwB0KG,UAAA,C1B62OH,A0B32OC,+CACE,UAAA,C1B62OH,AyBn7ND,0BA8II,YAAA,AACA,gBAAA,CzB+yNH,AyBnyNG,kEACE,UAAA,CzBqyNL,AyBlyNG,wECprBF,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,oBAAA,C1By9OD,AyBvyNG,kTAIE,YAAA,AACA,cAAA,AACA,WAAA,AACA,eAAA,AACA,iBAAA,AACA,WAAA,AACA,UAAA,AACA,YAAA,AAEA,MAAA,AACA,OAAA,AACA,+BAAA,sBAAA,CzBwyNL,AyBryNG,wJAEE,eAAA,CzBwyNL,AyBryNG,0JAEE,eAAA,CzBwyNL,AyBpyNG,yJG3xBF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AA2GA,qBAAA,AACA,6BAAA,AACA,YAAA,AACA,gBAAA,AACA,cAAA,AACA,WAAA,AAKA,cAAA,AACA,wBAAA,AACA,kBAAA,AACA,qBAAA,AACA,oDAAA,4CAAA,AACA,2FAAA,mFAAA,2EAAA,kHAAA,AHiqBI,WAAA,AACA,gBAAA,AACA,gBAAA,AACA,iBAAA,AACA,wBAAA,AAEA,YAAA,AACA,iBAAA,AAEA,SAAA,CzBmzNL,A4B39OC,qKACE,qBAAA,AACA,iFAAA,yEAAA,AACA,cAAA,C5B89OH,A4B59OC,uKACE,kBAAA,AACA,UAAA,C5B+9OH,AyB5zNG,wEACE,iBAAA,AACA,iBAAA,CzB8zNL,AyB5zNG,iFACE,iBAAA,AACA,iBAAA,CzB8zNL,AyB1zNG,yJGpzBF,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAKA,qBAAA,AACA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAEA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AACA,kBAAA,AACA,gBAAA,AHkyBI,gBAAA,AACA,gBAAA,AACA,iBAAA,AAEA,YAAA,AACA,iBAAA,AACA,UAAA,AACA,SAAA,CzB00NL,A4B5nPC,+JAAO,aAAA,C5BgoPR,AyBz1NG,iKG5xBA,sBAAA,AACA,aAAA,C5BynPH,A4BvnPC,yfACE,qBAAA,AACA,wBAAA,C5B8nPH,A4B5nPC,2KACE,aAAA,C5B+nPH,A4BhoPC,sWAGI,aAAA,C5BmoPL,A4BjoPG,uLACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5BooPL,A4B9nPC,uKACE,gBAAA,C5BioPH,A4B/nPC,yKACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BkoPH,A4BjoPG,yiBACE,wBAAA,C5BwoPL,A4BpoPC,iKACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5BuoPH,A4B1oPC,2LAMI,cAAA,AACA,qBAAA,C5BwoPL,A4BroPC,+MACE,mBAAA,C5BwoPH,A4BvoPG,uNACE,mBAAA,C5B0oPL,A4BvoPC,yKACE,WAAA,AACA,qBAAA,C5BupPH,AyBvoOD,wFA2O6C,YAAA,CzBg6N5C,AyB3oOD,wGA+O2D,YAAA,CzBg6N1D,AyB/oOD,gHAgPmE,YAAA,CzBm6NlE,AyBnpOD,sGAoP2C,YAAA,CzBm6N1C,AyBvpOD,6CAqPkB,YAAA,CzBq6NjB,AyB1pOD,kDAuPM,cAAA,CzBs6NL,AyB7pOD,iCA4PI,YAAA,CzBo6NH,AyBhqOD,mCAgQI,WAAA,CzBm6NH,AyBnqOD,kCCrhBE,mBAAA,AACA,wBAAA,AACA,cAAA,AACA,kBAAA,AACA,QAAA,AACA,UAAA,AACA,qBAAA,ADoxBE,gBAAA,AACA,eAAA,AACA,SAAA,CzBw6NH,AyB/qOD,yBA4QI,aAAA,CzBs6NH,AyBn6ND,4DACE,iBAAA,CzBq6ND,AyB95ND,mBACE,YAAA,CzBm6ND,AyBh6ND,8BACE,GAAK,WAAA,CzBm6NJ,AyBl6ND,KAAO,MAAA,CzBq6NN,CACF,AyBx6ND,sBACE,GAAK,WAAA,CzBm6NJ,AyBl6ND,KAAO,MAAA,CzBq6NN,CACF,AyBp6ND,6BACE,GAAK,MAAA,CzBu6NJ,AyBt6ND,KAAO,WAAA,CzBy6NN,CACF,AyB56ND,qBACE,GAAK,MAAA,CzBu6NJ,AyBt6ND,KAAO,WAAA,CzBy6NN,CACF,AyBv6ND,kBAEI,iBAAA,CzBw6NH,AyB16ND,kDAKI,WAAA,CzBy6NH,AyBt6ND,UACE,YAAA,AACA,kBAAA,AACA,MAAA,AACA,YAAA,AACA,OAAA,AACA,+CAAA,uCAAA,AACA,gBAAA,AACA,yBAAA,AACA,kCAAA,yBAAA,CzBw6ND,AyBj7ND,iBAYI,YAAA,AACA,kBAAA,AACA,eAAA,AACA,WAAA,AACA,aAAA,CzBw6NH,AyBt6NG,wBACE,mBAAA,AACA,eAAA,AACA,wBAAA,AACA,gBAAA,AACA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,WAAA,AACA,WAAA,CzBw6NL,AyBn8ND,gBAgCI,yBAAA,AACA,kBAAA,AACA,WAAA,AACA,WAAA,CzBs6NH,AyBz8ND,sBAsCI,YAAA,AACA,aAAA,CzBs6NH,AyBj6ND,iBACE,YAAA,AACA,8CAAA,qCAAA,CzBm6ND,AyBh6ND,eACE,YAAA,CzBk6ND,AyBn6ND,8BAII,SAAA,CzBk6NH,AyBt6ND,oCAOI,sCAAA,CzBk6NH,AyBz6ND,8BAUI,cAAA,AACA,aAAA,AAEA,kBAAA,AACA,uCAAA,AACA,yBAAA,AACA,sBAAA,CzBi6NH,AyBz5ND,oFAEI,aAAA,AAAe,eAAA,CzBg6NlB,AyB55ND,+BACE,iBAAA,AACA,kBAAA,AACA,kBAAA,AACA,SAAA,AACA,QAAA,AACA,OAAA,AACA,WAAA,CzB85ND,AyB35ND,+BACE,kBAAA,AACA,SAAA,AACA,YAAA,AACA,OAAA,AACA,QAAA,AACA,yBAAA,AACA,uCAAA,8BAAA,CzB65ND,AyB15ND,wBAEE,SAAA,AACA,8BAAA,sBAAA,AACA,cAAA,AAEA,WAAA,AACA,YAAA,AACA,cAAA,AACA,6BAAA,qBAAA,AACA,2BAAA,kBAAA,CzB05ND,AyBt5ND,gCACE,aAAA,AAEA,WAAA,AACA,YAAA,AACA,4BAAA,mBAAA,CzBu5ND,AyBp5ND,8BACE,aAAA,AAEA,WAAA,AACA,YAAA,AACA,4BAAA,mBAAA,CzBq5ND,A8Bv5PD,6EAAA,OACA,sGACA,iBAAA,CACA,AACA,sGACA,eAAA,CACA,CACA,CAAA,AAQA,4EAAA,OACA,6SAEA,4BAAA,AACA,qBAAA,AACA,oBAAA,AACA,yBAAA,AACA,4BAAA,CACA,CAEA,CAAA,ACtCA,0BACE,iBAAA,C/Bg9PD,A+B38PD,4CACE,iBAAA,AAEA,aAAA,AACA,oBAAA,oBAAA,aAAA,AACA,wBAAA,qBAAA,uBAAA,AACA,yBAAA,sBAAA,mBAAA,AACA,iBAAA,AAEA,+BAAA,AACA,mBAAA,AACA,6DAAA,qDAAA,AACA,iBAAA,C/B48PD,A+Bz8PD,kDACE,iCAAA,AAEA,kBAAA,AACA,gBAAA,AACA,qBAAA,AACA,yCAAA,C/B08PD,A+Bt8PD,8DL0KE,0CAAA,AACA,eAAA,AACA,+BAAA,AApGA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,sEAAA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,uBAAA,AAGA,WAAA,AACA,oBAAA,AKzFA,YAAA,AACA,YAAA,C/B09PD,A+Bv9PD,yBACI,GAAK,WAAA,AAAa,YAAA,AAAc,UAAA,C/B49PjC,A+B39PD,KAAO,WAAA,AAAa,YAAA,AAAc,SAAA,C/Bg+PjC,CACF,A+Bn+PD,iBACI,GAAK,WAAA,AAAa,YAAA,AAAc,UAAA,C/B49PjC,A+B39PD,KAAO,WAAA,AAAa,YAAA,AAAc,SAAA,C/Bg+PjC,CACF,A+B/9PD,2BACI,GAAK,iCAAA,yBAAA,AAA2B,SAAA,C/Bm+PjC,A+Bl+PD,KAAO,6BAAA,qBAAA,AAA2B,SAAA,C/Bs+PjC,CACF,A+Bz+PD,mBACI,GAAK,iCAAA,yBAAA,AAA2B,SAAA,C/Bm+PjC,A+Bl+PD,KAAO,6BAAA,qBAAA,AAA2B,SAAA,C/Bs+PjC,CACF,A+Br+PD,4BACI,GAAK,iBAAA,AAAmB,iBAAA,AAAmB,SAAA,C/B0+P5C,A+Bz+PD,KAAO,cAAA,AAAgB,eAAA,AAAiB,SAAA,C/B8+PvC,CACF,A+Bj/PD,oBACI,GAAK,iBAAA,AAAmB,iBAAA,AAAmB,SAAA,C/B0+P5C,A+Bz+PD,KAAO,cAAA,AAAgB,eAAA,AAAiB,SAAA,C/B8+PvC,CACF,A+B7+PD,sCACE,0CAAA,iCAAA,C/B++PD,A+B7+PD,4CACE,WAAA,AACA,kBAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,aAAA,AACA,sBAAA,AACA,kCAAA,AACA,WAAA,AACA,UAAA,C/B++PD,A+B5+PD,6BACE,kBAAA,AAGA,cAAA,AACA,UAAA,C/B8+PD,A+B3+PC,gELgIA,0CAAA,AACA,eAAA,AACA,+BAAA,AApGA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,sEAAA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,uBAAA,AAGA,WAAA,AACA,oBAAA,AK/CE,iBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,C/B+/PH,A+B7/PC,mFACE,kCAAA,AACA,uBAAA,cAAA,C/B+/PH,A+B1/PD,4dLkHE,0CAAA,AACA,eAAA,AACA,+BAAA,AApGA,gBAAA,AAEA,gCAAA,AACA,kBAAA,AACA,iBAAA,AACA,kBAAA,AAEA,sEAAA,8DAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kCAAA,AACA,4BAAA,AACA,YAAA,AACA,YAAA,AACA,uBAAA,AAGA,WAAA,AACA,mBAAA,C1B8+PD,A+B3gQD,uJACE,aAAA,AACA,QAAA,C/B6gQD,A+B1gQD,4DAEE,iBAAA,C/B2gQD,A+BxgQD,uCAEE,kBAAA,C/BygQD,A+BtgQD,mFAEE,UAAA,C/BwgQD,A+BtgQD,8FAEE,SAAA,C/BwgQD,A+BrgQD,sBH3GE,cAAA,AACA,mBAAA,AACA,gBAAA,AACA,mBAAA,AACA,sBAAA,AAMA,yBAAA,AACA,yBAAA,AACA,cAAA,AAEA,kBAAA,AAGA,gBAAA,AACA,uBAAA,AACA,qBAAA,AACA,mBAAA,AAEA,gBAAA,AGwFA,qBAAA,AACA,kBAAA,AACA,WAAA,AACA,YAAA,AAEA,eAAA,AACA,YAAA,AACA,mBAAA,AACA,SAAA,AACA,gBAAA,AAEA,gCAAA,wBAAA,AAEA,cAAA,C/BghQD,A4B9nQC,yBAAO,aAAA,C5BioQR,A+BniQD,0BHnFI,sBAAA,AACA,aAAA,C5BynQH,A4BvnQC,yFACE,qBAAA,AACA,wBAAA,C5B2nQH,A4BznQC,+BACE,aAAA,C5B2nQH,A4B5nQC,sEAGI,aAAA,C5B6nQL,A4B3nQG,qCACE,yBAAA,AACA,yBAAA,AACA,aAAA,C5B6nQL,A4BvnQC,6BACE,gBAAA,C5BynQH,A4BvnQC,8BACE,cAAA,AACA,yBAAA,AACA,oBAAA,C5BynQH,A4BxnQG,iHACE,wBAAA,C5B4nQL,A4BxnQC,0BACE,gBAAA,AACA,kBAAA,AACA,oBAAA,C5B0nQH,A4B7nQC,uCAMI,cAAA,AACA,qBAAA,C5B0nQL,A4BvnQC,iDACE,mBAAA,C5BynQH,A4BxnQG,qDACE,mBAAA,C5B0nQL,A4BvnQC,8BACE,WAAA,AACA,qBAAA,C5BsoQH,A+BtmQD,uCAmBI,gBAAA,C/BslQH,A+BnlQD,4BACE,wBAAA,C/BqlQD,A+BnlQD,oCACE,WAAA,AACA,iBAAA,AACA,WAAA,C/BqlQD,A+BnlQD,0EAEE,WAAA,AACA,eAAA,C/BqlQD,A+BllQD,uEAEE,YAAA,AACA,eAAA,C/BolQD,A+BjlQD,oCACE,iBAAA,C/BmlQD,A+BhlQD,0BAEE,kBAAA,AACA,WAAA,AACA,kBAAA,AACA,YAAA,AAEA,eAAA,C/BglQD,A+B9kQD,6CAEE,kBAAA,C/B+kQD,A+B5kQD,qCAGI,2BAAA,C/B4kQH,A+B/kQD,2CAOI,2BAAA,C/B2kQH,A+BllQD,gDAWI,iBAAA,C/B0kQH,A+BrkQD,uCACE,kBAAA,AACA,kBAAA,AACA,MAAA,AACA,QAAA,AACA,YAAA,AACA,0CAAA,AACA,eAAA,AACA,sCAAA,AACA,WAAA,C/BukQD,A+BpkQD,6CACE,kBAAA,C/BskQD,A+BnkQD,0BACE,eAAA,C/BqkQD,A+BtkQD,gCAII,eAAA,C/BqkQH,A+BjkQD,uBACE,kBAAA,AAEA,kBAAA,AACA,SAAA,AACA,UAAA,AACA,OAAA,AACA,QAAA,AACA,WAAA,AACA,WAAA,AACA,iBAAA,C/BokQD,A+B/jQD,mBACE,mCAAA,2BAAA,AACA,sBAAA,C/BikQD,A+B9jQD,4CACE,kBAAA,AACA,MAAA,AACA,QAAA,C/BkkQD,A+B/jQD,oCACE,GAAO,UAAA,C/BkkQN,A+BjkQD,IAAO,UAAA,C/BokQN,A+BnkQD,KAAO,UAAA,C/BskQN,CACF,A+B1kQD,4BACE,GAAO,UAAA,C/BkkQN,A+BjkQD,IAAO,UAAA,C/BokQN,A+BnkQD,KAAO,UAAA,C/BskQN,CACF,A+BpkQD,2BAGI,wBAAA,C/BokQH,A+BvkQD,sCAOI,qBAAA,C/BmkQH,A+B1kQD,oCAYI,oBAAA,AACA,+CAAA,sCAAA,C/BikQH,A+B1jQG,ygBACE,oBAAA,C/BwkQL,A+B7lQD,qCA2BI,aAAA,C/BqkQH,A+BlkQG,kDACE,gBAAA,AACA,qBAAA,AACA,iBAAA,C/BokQL,A+B9jQD,gCAEI,YAAA,C/B+jQH,A+BjkQD,kFLjKE,iBAAA,C1BquQD,AEt2QA,2GwBoIG,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,WAAA,AACA,YAAA,AAGA,6BAAA,AACA,eAAA,AACA,uBAAA,AACA,wBAAA,AAGA,8BAAA,AAIA,mBAAA,C1B8tQH,AEr3QA,oHwB0JG,0BAAA,AAIA,kBAAA,AACA,0BAAA,AACA,6DAAA,oDAAA,C1B2tQH,AE33QA,iHwBmKG,2BAAA,AACA,uCAAA,AACA,0CAAA,AACA,uBAAA,cAAA,C1B2tQH,AEj4QA,2FwB0KG,UAAA,C1B0tQH,A0BxtQC,wFACE,UAAA,C1B0tQH,A+BrmQD,2GL9GI,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,UAAA,AAAY,WAAA,AACZ,8BAAA,AACA,WAAA,AAGA,mBAAA,C1BqtQH,AEn5QA,iHwBkMG,yBAAA,C1BotQH,AEt5QA,uHwBsMG,wBAAA,C1BmtQH,A+BvnQD,gIL9GI,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,UAAA,AAAY,WAAA,AACZ,8BAAA,AACA,WAAA,AAGA,mBAAA,C1BuuQH,AEr6QA,sIwBkMG,yBAAA,C1BsuQH,AEx6QA,4IwBsMG,wBAAA,C1BquQH,A+BzoQD,0FLjKE,kBAAA,AKmLI,WAAA,C/B2nQL,AE/6QA,gGwBoIG,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,UAAA,AACA,WAAA,AAGA,6BAAA,AACA,eAAA,AACA,sBAAA,AACA,uBAAA,AAGA,8BAAA,AAIA,mBAAA,C1BuyQH,AE97QA,6GwB0JG,0BAAA,AAIA,kBAAA,AACA,0BAAA,AACA,6DAAA,oDAAA,C1BoyQH,AEp8QA,sGwBmKG,2BAAA,AACA,uCAAA,AACA,0CAAA,AACA,uBAAA,cAAA,C1BoyQH,AE18QA,uGwB0KG,UAAA,C1BmyQH,A0BjyQC,gGACE,UAAA,C1BmyQH,A+B9qQD,wFLjKE,iBAAA,C1Bk1QD,AEn9QA,qHwBoIG,WAAA,AACA,cAAA,AACA,kBAAA,AAEA,SAAA,AAAW,YAAA,AACX,UAAA,AACA,WAAA,AAGA,6BAAA,AACA,eAAA,AACA,sBAAA,AACA,uBAAA,AAGA,8BAAA,AAIA,mBAAA,C1B20QH,AEl+QA,kIwB0JG,0BAAA,AAIA,kBAAA,AACA,0BAAA,AACA,6DAAA,oDAAA,C1Bw0QH,AEx+QA,2HwBmKG,2BAAA,AACA,uCAAA,AACA,0CAAA,AACA,uBAAA,cAAA,C1Bw0QH,AE9+QA,qGwB0KG,UAAA,C1Bu0QH,A0Br0QC,8FACE,UAAA,C1Bu0QH,A+BltQD,4BA2BI,2BAAA,AACA,gBAAA,AACA,sCAAA,AAEA,YAAA,AACA,kBAAA,AACA,QAAA,AACA,SAAA,AACA,SAAA,C/B0rQH,A+BtrQD,gCACE,kBAAA,AACA,cAAA,AACA,gBAAA,AACA,gBAAA,AACA,wBAAA,AACA,2BAAA,C/BwrQD,A+BtrQC,yBAAA,gCACE,eAAA,C/ByrQD,CACF,A+BxrQC,yBAAA,gCACE,eAAA,C/B2rQD,CACF,A+BzrQG,yBAAA,kDACE,eAAA,C/B4rQH,CACF,A+B3rQG,yBAAA,kDACE,eAAA,C/B8rQH,CACF,A+B7rQG,yBACE,iHACE,YAAA,C/BgsQL,CACF,A+BzrQC,yBAEE,6EACE,WAAA,AACA,cAAA,AACA,kBAAA,AACA,MAAA,AACA,OAAA,AACA,WAAA,AACA,SAAA,AACA,4lBAAA,AAkCA,0BAAA,AACA,qCAAA,AACA,SAAA,C/B0pQH,A+BxpQC,sCACE,UAAA,AACA,QAAA,AACA,gCAAA,C/B0pQH,CACF,A+BppQD,0CACE,gCAAA,uBAAA,C/BspQD,AgCljRD,4CACE,YAAA,AACA,2BAAA,AACA,4BAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,eAAA,ChC2jRD,AgCzjRD,gIAEI,wBAAA,AACA,eAAA,ChC6jRH,AgChkRD,oWAQM,aAAA,ChCkkRL,AgC1kRD,oZAYM,gBAAA,AACA,OAAA,ChCwkRL,AgCvkRK,ocACE,aAAA,ChCglRP,AgC/lRD,wGAoBI,wBAAA,ChCilRH,AgCrmRD,wdAwBM,kBAAA,ChCulRL,AgC/mRD,6EA4BI,yBAAA,AACA,kBAAA,ChCulRH,AgCpnRD,6DAgCI,4BAAA,ChC2lRH,AgC3nRD,6GAkCM,yBAAA,AACA,kBAAA,ChC6lRL,AgChoRD,6GAsCM,wBAAA,ChC8lRL,AgCpoRD,wMAyCM,yBAAA,AACA,aAAA,ChCimRL,AgChmRK,ogBACE,aAAA,ChCymRP,AgCrpRD,6IAgDM,wBAAA,ChCymRL,AgCzpRD,yIAmDM,2BAAA,ChC0mRL,AgC7pRD,uEA0DI,4BAAA,ChCumRH,AgCjqRD,mGA4DM,wBAAA,ChCymRL,AgCxmRK,gPACE,yBAAA,ChC6mRP,AgC3qRD,ibAiEQ,yBAAA,AACA,aAAA,ChCknRP,AgCprRD,yiBAqEU,yBAAA,AACA,cAAA,AACA,wBAAA,ChCunRT,AgCtnRS,mlBACE,aAAA,ChC6nRX,AgCtsRD,gIAgFI,4BAAA,ChC4nRH,AgC5sRD,yVAqFI,6BAAA,AACA,iBAAA,AACA,wBAAA,ChCmoRH,AgC1tRD,8zBAyFM,aAAA,ChCupRL,AgChvRD,idA4FM,wBAAA,ChCgqRL,AgC5vRD,wGAgGI,gBAAA,ChCkqRH,AgClwRD,sKAmGI,cAAA,ChCyqRH,AgCpqRD,6BACE,wBAAA,ChCuqRD,AgCpqRD,+CACE,uCAAA,AACA,kCAAA,ChCuqRD,AgCpqRD,uBJ0EE,kBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,eAAA,C5B6lRD,AgC5qRD,2BAEI,YAAA,AACA,4BAAA,ChC6qRH,AgChrRD,kCAKM,yBAAA,AACA,cAAA,AACA,yBAAA,AACA,iBAAA,ChC8qRL,AgCtrRD,oCASU,aAAA,ChCgrRT,AgCzrRD,gDAUsB,wBAAA,ChCkrRrB,AgChrRG,gDACE,wBAAA,ChCkrRL,AgChrRG,iDACE,cAAA,AACA,yBAAA,AACA,wBAAA,ChCkrRL,AgCrrRG,mDAIM,aAAA,ChCorRT,AgCxrRG,+DAKkB,wBAAA,ChCsrRrB,AgC1sRD,gDAyBM,2BAAA,AACA,6BAAA,ChCorRL,AgC9sRD,mDA6BM,yBAAA,AACA,2BAAA,ChCorRL,A0B3vRD,kDACI,GAAK,yBAAA,C1B8vRN,A0B7vRA,IAAM,iBAAA,C1BgwRN,A0B/vRA,IAAM,iBAAA,C1BkwRN,A0BjwRD,KAAO,yBAAA,C1BowRN,CACF,A0BzwRD,0CACI,GAAK,yBAAA,C1B8vRN,A0B7vRA,IAAM,iBAAA,C1BgwRN,A0B/vRA,IAAM,iBAAA,C1BkwRN,A0BjwRD,KAAO,yBAAA,C1BowRN,CACF,A0BlwRD,qCACE,GAAK,SAAA,C1BqwRJ,A0BpwRD,KAAO,UAAA,C1BuwRN,CACF,A0B1wRD,6BACE,GAAK,SAAA,C1BqwRJ,A0BpwRD,KAAO,UAAA,C1BuwRN,CACF,A0BvpRD,KACE,yBAAA,AACA,SAAA,AACA,eAAA,C1B8pRD,A0B5pRD,6BACE,oBAAA,AACA,kBAAA,AACA,cAAA,C1BiqRD,A0B9pRD,EACE,yBAAA,sBAAA,qBAAA,gBAAA,C1BgqRD,A0B9pRD,qEAME,yBAAA,sBAAA,qBAAA,gBAAA,C1B+pRD,A0B3pRD,gBACE,WAAA,AACA,mBAAA,AACA,0BAAA,AACA,WAAA,C1B6pRD,A0BzpRD,gCACE,iDAAA,AACA,wBAAA,C1B2pRD,A0BppRD,MACE,kBAAA,AACA,MAAA,AACA,SAAA,AACA,OAAA,AACA,QAAA,AACA,eAAA,C1BypRD,A0BtpRD,gBACE,OAAA,AACA,QAAA,AACA,eAAA,C1BwpRD,A0BrpRD,yBACE,eAAA,C1BwpRD,A0BrpRD,SACE,sBAAA,AACA,yBAAA,AACA,8BAAA,sBAAA,AACA,kBAAA,AACA,MAAA,AACA,OAAA,AACA,QAAA,AACA,WAAA,C1BupRD,A0BppRD,cACE,mCAAA,2BAAA,AACA,aAAA,AACA,OAAA,AACA,YAAA,AACA,8CAAA,qCAAA,C1BspRD,A0BppRD,2BACE,aAAA,C1BspRD,A0BppRD,mDAEE,UAAA,C1BspRD,A0BnpRD,cACE,mCAAA,2BAAA,AACA,aAAA,AACA,QAAA,AACA,YAAA,AAEA,eAAA,C1BopRD,A0BlpRD,gCACE,aAAA,C1BopRD,A0BlpRD,kCACE,WAAA,C1BopRD,A0BjpRD,4FAIE,WAAA,AACA,cAAA,AACA,kBAAA,AACA,SAAA,AACA,YAAA,AACA,gDAAA,wCAAA,AACA,OAAA,AACA,QAAA,AACA,MAAA,AACA,WAAA,C1BmpRD,A0BjpRD,sBACE,SAAA,AACA,YAAA,C1BmpRD,A0BjpRD,wBACE,SAAA,C1BmpRD,A0BjpRD,uBACE,SAAA,AACA,YAAA,C1BmpRD,A0BjpRD,mBACE,kBAAA,AACA,SAAA,AACA,OAAA,AACA,QAAA,AACA,SAAA,AACA,gBAAA,AAEA,oCAAA,C1BkpRD,A0BxoRC,+BAEE,WAAA,AACA,YAAA,AACA,kBAAA,AACA,sBAAA,AAEA,YAAA,AACA,SAAA,AACA,wBAAA,AACA,4BAAA,AACA,2BAAA,AACA,6BAAA,C1B4oRH,A0BxpRC,mCAcI,SAAA,C1B6oRL,A0BzoRD,uBACE,aAAA,C1B2oRD,A0BzoRD,4CACE,gBAAA,AACA,gBAAA,C1B2oRD,A0BvoRD,2BACE,YAAA,C1ByoRD,A0BtoRD,gBACE,gBAAA,AACA,iBAAA,AACA,kBAAA,AACA,mBAAA,AACA,UAAA,C1BwoRD,A0BtoRD,4BAjME,0CAAA,AACA,eAAA,AACA,+BAAA,AAiMA,eAAA,C1B0oRD,A0BxoRD,mFAEI,sBAAA,C1B0oRH,A0BvoRD,sBACE,YAAA,C1ByoRD,A0BvoRD,gCACE,aAAA,C1ByoRD,A0BpoRD,eACE,kBAAA,AAEA,WAAA,AACA,MAAA,AACA,OAAA,AACA,SAAA,AACA,QAAA,AACA,aAAA,C1BuoRD,A0BpoRD,yBACE,gBAAA,AACA,iBAAA,AACA,mBAAA,C1BsoRD,A0B/nRD,iBEzOE,kBAAA,AAEA,uBAAA,AACA,oBAAA,AACA,iCAAA,AACA,sCAAA,8BAAA,AACA,cAAA,AACA,sBAAA,AACA,UAAA,AACA,gBAAA,AFRA,0CAAA,AACA,eAAA,AACA,+BAAA,AA4OA,eAAA,AAEA,eAAA,AACA,YAAA,AACA,kBAAA,AACA,aAAA,AACA,gBAAA,AACA,gCAAA,uBAAA,C1BuoRD,A0BpoRD,6BACE,cAAA,AACA,2BAAA,AACA,WAAA,AACA,YAAA,AACA,gBAAA,AACA,UAAA,AACA,4BAAA,AACA,SAAA,C1BsoRD,A0BloRD,kCACE,gBAAA,AACA,oBAAA,C1BooRD,A0BhoRC,2BACI,GAAK,0CAAA,iCAAA,C1BmoRR,A0BloRE,IAAM,gDAAA,uCAAA,C1BqoRR,A0BpoRC,KAAO,4CAAA,mCAAA,C1BuoRR,CACF,A0B3oRC,mBACI,GAAK,0CAAA,iCAAA,C1BmoRR,A0BloRE,IAAM,gDAAA,uCAAA,C1BqoRR,A0BpoRC,KAAO,4CAAA,mCAAA,C1BuoRR,CACF,A0B5oRD,oCAQI,6CAAA,oCAAA,C1BuoRH,A0BnoRD,0BACI,GAAK,SAAA,C1BsoRN,A0BroRA,IAAM,SAAA,C1BwoRN,A0BvoRD,KAAO,SAAA,C1B0oRN,CACF,A0B9oRD,kBACI,GAAK,SAAA,C1BsoRN,A0BroRA,IAAM,SAAA,C1BwoRN,A0BvoRD,KAAO,SAAA,C1B0oRN,CACF,A0BzoRD,qBACE,6CAAA,qCAAA,AACA,YAAA,AACA,SAAA,C1B2oRD,A0BxoRD,mCAEI,kBAAA,AAAoB,UAAA,AAAY,WAAA,C1B2oRnC,A0B7oRD,2CAKI,eAAA,C1B2oRH,A0BhpRD,oCAQI,gBAAA,AACA,kBAAA,AAAoB,UAAA,AAAY,WAAA,C1B6oRnC,A0BtpRD,0CAYI,sBAAA,AAAwB,iBAAA,C1B8oR3B,A0B1pRD,+BAeI,YAAA,C1B8oRH,A0B7pRD,+BAkBI,kBAAA,AAAoB,OAAA,AAAS,QAAA,AAAU,UAAA,C1BipR1C,A0BnqRD,qDAqBI,wBAAA,C1BipRH,A0BtqRD,8CAwBI,wBAAA,C1BkpRH,A0B1qRD,gCA4BI,eAAA,AACA,eAAA,C1BipRH,A0B9qRD,qCAgCI,iBAAA,C1BipRH,A0BjrRD,iDAmCI,UAAA,AACA,aAAA,C1BipRH,A0BrrRD,uCAuCI,YAAA,C1BipRH,A0BxrRD,sCA4CI,iBAAA,C1B+oRH,A0B3rRD,qCA+CI,kBAAA,C1B+oRH,A0B9rRD,wCAkDI,oBAAA,aAAA,AAAsC,oBAAA,AACtC,yBAAA,sBAAA,mBAAA,AAAqB,2BAAA,AAErB,wBAAA,qBAAA,uBAAA,AACA,kBAAA,AACA,cAAA,AACA,cAAA,C1BkpRH,A0B1sRD,4CA0DY,UAAA,C1BmpRX,AiClpSD,aACC,eAAA,CjCopSA,AiCjpSD,eArBC,yBAAA,AACA,oBAAA,CjCyqSA,AiCrpSD,sCAKE,UAAA,CjCopSD,AiCzpSD,uBASG,WAAA,AACA,oBAAA,CjCmpSF,AiC/oSD,oBACC,kBAAA,AACA,YAAA,AACA,UAAA,AACA,YAAA,AACA,eAAA,AACA,gBAAA,AACA,WAAA,AACA,iCAAA,AACA,yBAAA,AAlDA,WAAA,AACA,+DAAA,AACA,yBAAA,AAkDA,aAAA,CjCmpSA,AiCjpSA,oDAEC,WAAA,AACA,qBAAA,AACA,eAAA,AA1DD,WAAA,AACA,+DAAA,AACA,wBAAA,CjC8sSA,AiCjpSD,yBACC,WAAA,AACA,WAAA,AACA,UAAA,CjCmpSA,AiC7oSD,0BACC,UAAA,AACA,eAAA,AACA,uBAAA,AACA,SAAA,AACA,uBAAA,CjCkpSA,AiC7oSD,kBACC,MAAA,AACA,QAAA,AACA,UAAA,CjC+oSA,AiC5oSD,qBACC,SAAA,AACA,QAAA,AACA,UAAA,CjC8oSA,AiC3oSD,sBACC,MAAA,AACA,QAAA,AACA,UAAA,CjC6oSA,AiC1oSD,yBACC,SAAA,AACA,QAAA,AACA,UAAA,CjC4oSA,AiCzoSD,gBACC,SAAA,AACA,SAAA,CjC2oSA,AiCxoSD,iBACC,SAAA,AACA,UAAA,CjC0oSA,AiCvoSD,oBACC,WAAA,AACA,WAAA,CjCyoSA,AiCtoSD,mBACC,YAAA,AACA,SAAA,CjCwoSA,AiCroSD,iBACC,eAAA,AACA,eAAA,AAEA,mBAAA,CjCuoSA,AiC3oSD,mBAOE,8BAAA,AACA,qBAAA,CjCwoSD,AiChpSD,qBAYE,kBAAA,AAEA,oBAAA,AACA,gBAAA,AACA,eAAA,AACA,4BAAA,AACA,YAAA,AA3JD,kBAAA,AA6JC,gCAAA,AACA,4BAAA,AAzJD,iCAAA,AACA,yBAAA,AA0JC,WAAA,AArJD,WAAA,AACA,+DAAA,AACA,wBAAA,CjCgySA,AiCpqSD,yBA4BE,cAAA,AACA,4BAAA,AACA,qCAAA,CjC2oSD,AiCzqSD,2BApIC,iCAAA,AACA,yBAAA,AAKA,UAAA,AACA,gEAAA,AACA,0BAAA,AAgKC,cAAA,CjC8oSD,AiClrSD,6BAwCE,swBAAA,CjC6oSD,AiCrrSD,8BA4CE,8yBAAA,CjC4oSD,AiCxrSD,gCAgDE,kgBAAA,CjC2oSD,AiC3rSD,gCAoDE,suBAAA,CjC0oSD,AiCtoSA,+EAEC,YAAA,AACA,iBAAA,AACA,iBAAA,CjCwoSD,AiCroSA,uFAEC,UAAA,AACA,iBAAA,AACA,iBAAA,CjCuoSD,AiCnoSD,OACC,wBAAA,CjCqoSA,AiCloSD,eACC,wBAAA,CjCooSA,AiCjoSD,aACC,wBAAA,CjCmoSA,AiChoSD,YACC,wBAAA,CjCkoSA,AiC/nSD,eACC,wBAAA,CjCioSA,AiC9nSD,gBACC,kBAAA,AACA,OAAA,AACA,SAAA,AACA,WAAA,AACA,sBAAA,AA9NA,WAAA,AACA,+DAAA,AACA,wBAAA,CjC+1SA,AiC7nSD,iCACC,qBAGE,yBAAA,AACA,UAAA,CjC8nSA,AiCloSF,yBAQE,wBAAA,CjC6nSA,AiC1nSD,qCACC,YAAA,AACA,SAAA,CjC4nSA,AiCznSD,0CACC,WAAA,AACA,UAAA,CjC2nSA,CACF,AiCvnSD,uDACC,qBAEE,yBAAA,AACA,UAAA,CjCwnSA,AiC3nSF,yBAOE,wBAAA,CjCunSA,AiCpnSD,qCACC,YAAA,AACA,SAAA,CjCsnSA,AiCnnSD,0CACC,WAAA,AACA,UAAA,CjCqnSA,CACF,AiCjnSD,uDACC,qBAEE,4BAAA,AACA,UAAA,CjCknSA,AiCrnSF,yBAOE,2BAAA,CjCinSA,CACF,AkCv5SD,SACE,cAAA,AACA,YAAA,AACA,iBAAA,ClC85SD,AkC55SD,YACE,cAAA,AACA,YAAA,AACA,WAAA,ClC85SD,AkC55SD,gBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,ClC85SD,AkC55SD,uBACE,eAAA,ClC85SD,AkC55SD,sBACE,aAAA,AACA,eAAA,ClC85SD,AkC55SD,0BACE,YAAA,ClC85SD,AkC55SD,qBACE,UAAA,ClC85SD,AkC55SD,6BAEE,yBAAA,AACA,oBAAA,ClC+5SD,AkC55SD,mCAEE,SAAA,AACA,gBAAA,AACA,gBAAA,AACA,gBAAA,AACA,gCAAA,ClC85SD,AkC55SD,mBACE,cAAA,AACA,wBAAA,AACA,YAAA,AACA,cAAA,ClC85SD,AkC55SD,+BAEE,YAAA,AACA,wBAAA,ClC85SD,AkC55SD,qCAEE,cAAA,AACA,cAAA,ClC85SD,AkC55SD,iBACE,eAAA,ClC85SD,AkC55SD,oBACE,WAAA,ClC85SD,AkC55SD,eACE,YAAA,AACA,iBAAA,ClC85SD,AkC55SD,gDAGE,yBAAA,AACA,WAAA,AACA,YAAA,AACA,WAAA,ClC85SD,AkC55SD,iBACE,kBAAA,AACA,SAAA,ClC85SD,AkC55SD,iBACE,cAAA,AACA,yBAAA,ClC85SD,AkC55SD,0IAOE,YAAA,AACA,cAAA,AACA,SAAA,AACA,WAAA,AACA,kBAAA,AACA,WAAA,ClC85SD,AkC55SD,WACE,WAAA,AACA,qBAAA,ClC85SD,AkC55SD,eACE,sBAAA,AACA,8BAAA,AACA,+BAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,ClC85SD,AkC55SD,gBACE,eAAA,AACA,qBAAA,AACA,UAAA,ClC85SD,AkC55SD,SACE,YAAA,AACA,WAAA,ClC85SD,AkC55SD,UACE,gBAAA,AACA,iBAAA,ClC85SD,AkC55SD,WACE,WAAA,ClC85SD,AkC55SD,eACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,WAAA,AACA,WAAA,AACA,YAAA,AACA,UAAA,ClC85SD,AkC55SD,iBACE,sFAAA,ClC85SD,AkC55SD,YACE,eAAA,AACA,wBAAA,AACA,YAAA,AACA,UAAA,AACA,WAAA,AACA,YAAA,AACA,kBAAA,AACA,WAAA,AACA,OAAA,ClC85SD,AkC55SD,WACE,eAAA,ClC85SD,AkC55SD,aACE,cAAA,ClC85SD,AkC55SD,mBACE,YAAA,ClC85SD","file":"mosaico.min.css","sourcesContent":["/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * MOSAICO\n ***************************************************************************************************************************/\n/**\n * Page html structure:\n * \n * #page\n * #main-edit-area\n * #main-wysiwyg-area\n * #toolbar .mo\n * #main-toolbox .mo\n * #tooltabs\n * #toolimages\n * #tooldebug\n * #tooltheme\n * #main-preview .mo\n * #preview-toolbar\n * #frame-container\n * #incompatible-browser\n * #fake-image-editor\n * #loading (usato solo da standalone)\n * #moxman-loading\n * #toast-container\n * #contextmenu-help.mo\n * #carousel-container.mo\n * \n * CSS selector used, beyond the #ids before:\n * - .mo e .mo-*\n * - .ui-* (ui-helper-hidden-accessible, ui-tooltip)\n * - .moxman-* e .mce-*\n * - .fa-* (font-awesome, configurable via @fa-css-prefix)\n * - .icon-* (fontello: TODO remove me, we currently refer 2 icons from fontello)\n * - .evo-* (evo.colorpicker)\n * - .toast-* #toast-* (toastr)\n */\n/**************************************************************************************************************************\n * BASIC CONFIGURATION\n *************************************************************************************************************************/\n/* 20140929: Previously 0.85em, but we don't want user selected sizes because it breaks around */\n/**************************************************************************************************************************\n * COMPUTED CONFIUGRATION\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * SERVICE COLORS\n *************************************************************************************************************************/\n/**************************************************************************************************************************\n * COMPUTED VARIABLES\n *************************************************************************************************************************/\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url('fontawesome/fontawesome-webfont.eot?v=4.7.0');\n src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('fontawesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('fontawesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('fontawesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');\n font-weight: normal;\n font-style: normal;\n}\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.fa-2x {\n font-size: 2em;\n}\n.fa-3x {\n font-size: 3em;\n}\n.fa-4x {\n font-size: 4em;\n}\n.fa-5x {\n font-size: 5em;\n}\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n.fa-ul > li {\n position: relative;\n}\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: 0.14285714em;\n text-align: center;\n}\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n.fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.fa-pull-left {\n float: left;\n}\n.fa-pull-right {\n float: right;\n}\n.fa.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.fa.pull-left {\n margin-right: 0.3em;\n}\n.fa.pull-right {\n margin-left: 0.3em;\n}\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.fa-stack-1x {\n line-height: inherit;\n}\n.fa-stack-2x {\n font-size: 2em;\n}\n.fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\f000\";\n}\n.fa-music:before {\n content: \"\\f001\";\n}\n.fa-search:before {\n content: \"\\f002\";\n}\n.fa-envelope-o:before {\n content: \"\\f003\";\n}\n.fa-heart:before {\n content: \"\\f004\";\n}\n.fa-star:before {\n content: \"\\f005\";\n}\n.fa-star-o:before {\n content: \"\\f006\";\n}\n.fa-user:before {\n content: \"\\f007\";\n}\n.fa-film:before {\n content: \"\\f008\";\n}\n.fa-th-large:before {\n content: \"\\f009\";\n}\n.fa-th:before {\n content: \"\\f00a\";\n}\n.fa-th-list:before {\n content: \"\\f00b\";\n}\n.fa-check:before {\n content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\f00d\";\n}\n.fa-search-plus:before {\n content: \"\\f00e\";\n}\n.fa-search-minus:before {\n content: \"\\f010\";\n}\n.fa-power-off:before {\n content: \"\\f011\";\n}\n.fa-signal:before {\n content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\f013\";\n}\n.fa-trash-o:before {\n content: \"\\f014\";\n}\n.fa-home:before {\n content: \"\\f015\";\n}\n.fa-file-o:before {\n content: \"\\f016\";\n}\n.fa-clock-o:before {\n content: \"\\f017\";\n}\n.fa-road:before {\n content: \"\\f018\";\n}\n.fa-download:before {\n content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n content: \"\\f01b\";\n}\n.fa-inbox:before {\n content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\f01e\";\n}\n.fa-refresh:before {\n content: \"\\f021\";\n}\n.fa-list-alt:before {\n content: \"\\f022\";\n}\n.fa-lock:before {\n content: \"\\f023\";\n}\n.fa-flag:before {\n content: \"\\f024\";\n}\n.fa-headphones:before {\n content: \"\\f025\";\n}\n.fa-volume-off:before {\n content: \"\\f026\";\n}\n.fa-volume-down:before {\n content: \"\\f027\";\n}\n.fa-volume-up:before {\n content: \"\\f028\";\n}\n.fa-qrcode:before {\n content: \"\\f029\";\n}\n.fa-barcode:before {\n content: \"\\f02a\";\n}\n.fa-tag:before {\n content: \"\\f02b\";\n}\n.fa-tags:before {\n content: \"\\f02c\";\n}\n.fa-book:before {\n content: \"\\f02d\";\n}\n.fa-bookmark:before {\n content: \"\\f02e\";\n}\n.fa-print:before {\n content: \"\\f02f\";\n}\n.fa-camera:before {\n content: \"\\f030\";\n}\n.fa-font:before {\n content: \"\\f031\";\n}\n.fa-bold:before {\n content: \"\\f032\";\n}\n.fa-italic:before {\n content: \"\\f033\";\n}\n.fa-text-height:before {\n content: \"\\f034\";\n}\n.fa-text-width:before {\n content: \"\\f035\";\n}\n.fa-align-left:before {\n content: \"\\f036\";\n}\n.fa-align-center:before {\n content: \"\\f037\";\n}\n.fa-align-right:before {\n content: \"\\f038\";\n}\n.fa-align-justify:before {\n content: \"\\f039\";\n}\n.fa-list:before {\n content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\f03b\";\n}\n.fa-indent:before {\n content: \"\\f03c\";\n}\n.fa-video-camera:before {\n content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\f03e\";\n}\n.fa-pencil:before {\n content: \"\\f040\";\n}\n.fa-map-marker:before {\n content: \"\\f041\";\n}\n.fa-adjust:before {\n content: \"\\f042\";\n}\n.fa-tint:before {\n content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\f044\";\n}\n.fa-share-square-o:before {\n content: \"\\f045\";\n}\n.fa-check-square-o:before {\n content: \"\\f046\";\n}\n.fa-arrows:before {\n content: \"\\f047\";\n}\n.fa-step-backward:before {\n content: \"\\f048\";\n}\n.fa-fast-backward:before {\n content: \"\\f049\";\n}\n.fa-backward:before {\n content: \"\\f04a\";\n}\n.fa-play:before {\n content: \"\\f04b\";\n}\n.fa-pause:before {\n content: \"\\f04c\";\n}\n.fa-stop:before {\n content: \"\\f04d\";\n}\n.fa-forward:before {\n content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n content: \"\\f050\";\n}\n.fa-step-forward:before {\n content: \"\\f051\";\n}\n.fa-eject:before {\n content: \"\\f052\";\n}\n.fa-chevron-left:before {\n content: \"\\f053\";\n}\n.fa-chevron-right:before {\n content: \"\\f054\";\n}\n.fa-plus-circle:before {\n content: \"\\f055\";\n}\n.fa-minus-circle:before {\n content: \"\\f056\";\n}\n.fa-times-circle:before {\n content: \"\\f057\";\n}\n.fa-check-circle:before {\n content: \"\\f058\";\n}\n.fa-question-circle:before {\n content: \"\\f059\";\n}\n.fa-info-circle:before {\n content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n content: \"\\f05d\";\n}\n.fa-ban:before {\n content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n content: \"\\f060\";\n}\n.fa-arrow-right:before {\n content: \"\\f061\";\n}\n.fa-arrow-up:before {\n content: \"\\f062\";\n}\n.fa-arrow-down:before {\n content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\f064\";\n}\n.fa-expand:before {\n content: \"\\f065\";\n}\n.fa-compress:before {\n content: \"\\f066\";\n}\n.fa-plus:before {\n content: \"\\f067\";\n}\n.fa-minus:before {\n content: \"\\f068\";\n}\n.fa-asterisk:before {\n content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n content: \"\\f06a\";\n}\n.fa-gift:before {\n content: \"\\f06b\";\n}\n.fa-leaf:before {\n content: \"\\f06c\";\n}\n.fa-fire:before {\n content: \"\\f06d\";\n}\n.fa-eye:before {\n content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\f071\";\n}\n.fa-plane:before {\n content: \"\\f072\";\n}\n.fa-calendar:before {\n content: \"\\f073\";\n}\n.fa-random:before {\n content: \"\\f074\";\n}\n.fa-comment:before {\n content: \"\\f075\";\n}\n.fa-magnet:before {\n content: \"\\f076\";\n}\n.fa-chevron-up:before {\n content: \"\\f077\";\n}\n.fa-chevron-down:before {\n content: \"\\f078\";\n}\n.fa-retweet:before {\n content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n content: \"\\f07a\";\n}\n.fa-folder:before {\n content: \"\\f07b\";\n}\n.fa-folder-open:before {\n content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\f080\";\n}\n.fa-twitter-square:before {\n content: \"\\f081\";\n}\n.fa-facebook-square:before {\n content: \"\\f082\";\n}\n.fa-camera-retro:before {\n content: \"\\f083\";\n}\n.fa-key:before {\n content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\f085\";\n}\n.fa-comments:before {\n content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n content: \"\\f088\";\n}\n.fa-star-half:before {\n content: \"\\f089\";\n}\n.fa-heart-o:before {\n content: \"\\f08a\";\n}\n.fa-sign-out:before {\n content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n content: \"\\f08d\";\n}\n.fa-external-link:before {\n content: \"\\f08e\";\n}\n.fa-sign-in:before {\n content: \"\\f090\";\n}\n.fa-trophy:before {\n content: \"\\f091\";\n}\n.fa-github-square:before {\n content: \"\\f092\";\n}\n.fa-upload:before {\n content: \"\\f093\";\n}\n.fa-lemon-o:before {\n content: \"\\f094\";\n}\n.fa-phone:before {\n content: \"\\f095\";\n}\n.fa-square-o:before {\n content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n content: \"\\f097\";\n}\n.fa-phone-square:before {\n content: \"\\f098\";\n}\n.fa-twitter:before {\n content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\f09a\";\n}\n.fa-github:before {\n content: \"\\f09b\";\n}\n.fa-unlock:before {\n content: \"\\f09c\";\n}\n.fa-credit-card:before {\n content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n content: \"\\f0a1\";\n}\n.fa-bell:before {\n content: \"\\f0f3\";\n}\n.fa-certificate:before {\n content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\";\n}\n.fa-globe:before {\n content: \"\\f0ac\";\n}\n.fa-wrench:before {\n content: \"\\f0ad\";\n}\n.fa-tasks:before {\n content: \"\\f0ae\";\n}\n.fa-filter:before {\n content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n content: \"\\f0c1\";\n}\n.fa-cloud:before {\n content: \"\\f0c2\";\n}\n.fa-flask:before {\n content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\f0c7\";\n}\n.fa-square:before {\n content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n content: \"\\f0cc\";\n}\n.fa-underline:before {\n content: \"\\f0cd\";\n}\n.fa-table:before {\n content: \"\\f0ce\";\n}\n.fa-magic:before {\n content: \"\\f0d0\";\n}\n.fa-truck:before {\n content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n content: \"\\f0d5\";\n}\n.fa-money:before {\n content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n content: \"\\f0da\";\n}\n.fa-columns:before {\n content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\f0de\";\n}\n.fa-envelope:before {\n content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n content: \"\\f0eb\";\n}\n.fa-exchange:before {\n content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n content: \"\\f0ee\";\n}\n.fa-user-md:before {\n content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n content: \"\\f0a2\";\n}\n.fa-coffee:before {\n content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n content: \"\\f0f6\";\n}\n.fa-building-o:before {\n content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n content: \"\\f0f9\";\n}\n.fa-medkit:before {\n content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n content: \"\\f0fb\";\n}\n.fa-beer:before {\n content: \"\\f0fc\";\n}\n.fa-h-square:before {\n content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n content: \"\\f103\";\n}\n.fa-angle-left:before {\n content: \"\\f104\";\n}\n.fa-angle-right:before {\n content: \"\\f105\";\n}\n.fa-angle-up:before {\n content: \"\\f106\";\n}\n.fa-angle-down:before {\n content: \"\\f107\";\n}\n.fa-desktop:before {\n content: \"\\f108\";\n}\n.fa-laptop:before {\n content: \"\\f109\";\n}\n.fa-tablet:before {\n content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\f10b\";\n}\n.fa-circle-o:before {\n content: \"\\f10c\";\n}\n.fa-quote-left:before {\n content: \"\\f10d\";\n}\n.fa-quote-right:before {\n content: \"\\f10e\";\n}\n.fa-spinner:before {\n content: \"\\f110\";\n}\n.fa-circle:before {\n content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\f112\";\n}\n.fa-github-alt:before {\n content: \"\\f113\";\n}\n.fa-folder-o:before {\n content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n content: \"\\f115\";\n}\n.fa-smile-o:before {\n content: \"\\f118\";\n}\n.fa-frown-o:before {\n content: \"\\f119\";\n}\n.fa-meh-o:before {\n content: \"\\f11a\";\n}\n.fa-gamepad:before {\n content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n content: \"\\f11c\";\n}\n.fa-flag-o:before {\n content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n content: \"\\f11e\";\n}\n.fa-terminal:before {\n content: \"\\f120\";\n}\n.fa-code:before {\n content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\f123\";\n}\n.fa-location-arrow:before {\n content: \"\\f124\";\n}\n.fa-crop:before {\n content: \"\\f125\";\n}\n.fa-code-fork:before {\n content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\f127\";\n}\n.fa-question:before {\n content: \"\\f128\";\n}\n.fa-info:before {\n content: \"\\f129\";\n}\n.fa-exclamation:before {\n content: \"\\f12a\";\n}\n.fa-superscript:before {\n content: \"\\f12b\";\n}\n.fa-subscript:before {\n content: \"\\f12c\";\n}\n.fa-eraser:before {\n content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n content: \"\\f12e\";\n}\n.fa-microphone:before {\n content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n content: \"\\f131\";\n}\n.fa-shield:before {\n content: \"\\f132\";\n}\n.fa-calendar-o:before {\n content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n content: \"\\f134\";\n}\n.fa-rocket:before {\n content: \"\\f135\";\n}\n.fa-maxcdn:before {\n content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n content: \"\\f13a\";\n}\n.fa-html5:before {\n content: \"\\f13b\";\n}\n.fa-css3:before {\n content: \"\\f13c\";\n}\n.fa-anchor:before {\n content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n content: \"\\f13e\";\n}\n.fa-bullseye:before {\n content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n content: \"\\f142\";\n}\n.fa-rss-square:before {\n content: \"\\f143\";\n}\n.fa-play-circle:before {\n content: \"\\f144\";\n}\n.fa-ticket:before {\n content: \"\\f145\";\n}\n.fa-minus-square:before {\n content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n content: \"\\f147\";\n}\n.fa-level-up:before {\n content: \"\\f148\";\n}\n.fa-level-down:before {\n content: \"\\f149\";\n}\n.fa-check-square:before {\n content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n content: \"\\f14c\";\n}\n.fa-share-square:before {\n content: \"\\f14d\";\n}\n.fa-compass:before {\n content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\f153\";\n}\n.fa-gbp:before {\n content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\f15a\";\n}\n.fa-file:before {\n content: \"\\f15b\";\n}\n.fa-file-text:before {\n content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n content: \"\\f165\";\n}\n.fa-youtube-square:before {\n content: \"\\f166\";\n}\n.fa-youtube:before {\n content: \"\\f167\";\n}\n.fa-xing:before {\n content: \"\\f168\";\n}\n.fa-xing-square:before {\n content: \"\\f169\";\n}\n.fa-youtube-play:before {\n content: \"\\f16a\";\n}\n.fa-dropbox:before {\n content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n content: \"\\f16c\";\n}\n.fa-instagram:before {\n content: \"\\f16d\";\n}\n.fa-flickr:before {\n content: \"\\f16e\";\n}\n.fa-adn:before {\n content: \"\\f170\";\n}\n.fa-bitbucket:before {\n content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n content: \"\\f172\";\n}\n.fa-tumblr:before {\n content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n content: \"\\f178\";\n}\n.fa-apple:before {\n content: \"\\f179\";\n}\n.fa-windows:before {\n content: \"\\f17a\";\n}\n.fa-android:before {\n content: \"\\f17b\";\n}\n.fa-linux:before {\n content: \"\\f17c\";\n}\n.fa-dribbble:before {\n content: \"\\f17d\";\n}\n.fa-skype:before {\n content: \"\\f17e\";\n}\n.fa-foursquare:before {\n content: \"\\f180\";\n}\n.fa-trello:before {\n content: \"\\f181\";\n}\n.fa-female:before {\n content: \"\\f182\";\n}\n.fa-male:before {\n content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\f184\";\n}\n.fa-sun-o:before {\n content: \"\\f185\";\n}\n.fa-moon-o:before {\n content: \"\\f186\";\n}\n.fa-archive:before {\n content: \"\\f187\";\n}\n.fa-bug:before {\n content: \"\\f188\";\n}\n.fa-vk:before {\n content: \"\\f189\";\n}\n.fa-weibo:before {\n content: \"\\f18a\";\n}\n.fa-renren:before {\n content: \"\\f18b\";\n}\n.fa-pagelines:before {\n content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n content: \"\\f192\";\n}\n.fa-wheelchair:before {\n content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n content: \"\\f197\";\n}\n.fa-slack:before {\n content: \"\\f198\";\n}\n.fa-envelope-square:before {\n content: \"\\f199\";\n}\n.fa-wordpress:before {\n content: \"\\f19a\";\n}\n.fa-openid:before {\n content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\f19d\";\n}\n.fa-yahoo:before {\n content: \"\\f19e\";\n}\n.fa-google:before {\n content: \"\\f1a0\";\n}\n.fa-reddit:before {\n content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n content: \"\\f1a4\";\n}\n.fa-delicious:before {\n content: \"\\f1a5\";\n}\n.fa-digg:before {\n content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\";\n}\n.fa-drupal:before {\n content: \"\\f1a9\";\n}\n.fa-joomla:before {\n content: \"\\f1aa\";\n}\n.fa-language:before {\n content: \"\\f1ab\";\n}\n.fa-fax:before {\n content: \"\\f1ac\";\n}\n.fa-building:before {\n content: \"\\f1ad\";\n}\n.fa-child:before {\n content: \"\\f1ae\";\n}\n.fa-paw:before {\n content: \"\\f1b0\";\n}\n.fa-spoon:before {\n content: \"\\f1b1\";\n}\n.fa-cube:before {\n content: \"\\f1b2\";\n}\n.fa-cubes:before {\n content: \"\\f1b3\";\n}\n.fa-behance:before {\n content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n content: \"\\f1b5\";\n}\n.fa-steam:before {\n content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n content: \"\\f1b7\";\n}\n.fa-recycle:before {\n content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\f1ba\";\n}\n.fa-tree:before {\n content: \"\\f1bb\";\n}\n.fa-spotify:before {\n content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n content: \"\\f1be\";\n}\n.fa-database:before {\n content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n content: \"\\f1c9\";\n}\n.fa-vine:before {\n content: \"\\f1ca\";\n}\n.fa-codepen:before {\n content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\f1d1\";\n}\n.fa-git-square:before {\n content: \"\\f1d2\";\n}\n.fa-git:before {\n content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n content: \"\\f1d5\";\n}\n.fa-qq:before {\n content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\f1d9\";\n}\n.fa-history:before {\n content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n content: \"\\f1db\";\n}\n.fa-header:before {\n content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n content: \"\\f1dd\";\n}\n.fa-sliders:before {\n content: \"\\f1de\";\n}\n.fa-share-alt:before {\n content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n content: \"\\f1e1\";\n}\n.fa-bomb:before {\n content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\f1e3\";\n}\n.fa-tty:before {\n content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n content: \"\\f1e5\";\n}\n.fa-plug:before {\n content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n content: \"\\f1e7\";\n}\n.fa-twitch:before {\n content: \"\\f1e8\";\n}\n.fa-yelp:before {\n content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n content: \"\\f1ea\";\n}\n.fa-wifi:before {\n content: \"\\f1eb\";\n}\n.fa-calculator:before {\n content: \"\\f1ec\";\n}\n.fa-paypal:before {\n content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n content: \"\\f1f7\";\n}\n.fa-trash:before {\n content: \"\\f1f8\";\n}\n.fa-copyright:before {\n content: \"\\f1f9\";\n}\n.fa-at:before {\n content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n content: \"\\f200\";\n}\n.fa-line-chart:before {\n content: \"\\f201\";\n}\n.fa-lastfm:before {\n content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n content: \"\\f203\";\n}\n.fa-toggle-off:before {\n content: \"\\f204\";\n}\n.fa-toggle-on:before {\n content: \"\\f205\";\n}\n.fa-bicycle:before {\n content: \"\\f206\";\n}\n.fa-bus:before {\n content: \"\\f207\";\n}\n.fa-ioxhost:before {\n content: \"\\f208\";\n}\n.fa-angellist:before {\n content: \"\\f209\";\n}\n.fa-cc:before {\n content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\f20b\";\n}\n.fa-meanpath:before {\n content: \"\\f20c\";\n}\n.fa-buysellads:before {\n content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n content: \"\\f20e\";\n}\n.fa-dashcube:before {\n content: \"\\f210\";\n}\n.fa-forumbee:before {\n content: \"\\f211\";\n}\n.fa-leanpub:before {\n content: \"\\f212\";\n}\n.fa-sellsy:before {\n content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n content: \"\\f215\";\n}\n.fa-skyatlas:before {\n content: \"\\f216\";\n}\n.fa-cart-plus:before {\n content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n content: \"\\f218\";\n}\n.fa-diamond:before {\n content: \"\\f219\";\n}\n.fa-ship:before {\n content: \"\\f21a\";\n}\n.fa-user-secret:before {\n content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n content: \"\\f21c\";\n}\n.fa-street-view:before {\n content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n content: \"\\f21e\";\n}\n.fa-venus:before {\n content: \"\\f221\";\n}\n.fa-mars:before {\n content: \"\\f222\";\n}\n.fa-mercury:before {\n content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n content: \"\\f225\";\n}\n.fa-venus-double:before {\n content: \"\\f226\";\n}\n.fa-mars-double:before {\n content: \"\\f227\";\n}\n.fa-venus-mars:before {\n content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n content: \"\\f22b\";\n}\n.fa-neuter:before {\n content: \"\\f22c\";\n}\n.fa-genderless:before {\n content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n content: \"\\f231\";\n}\n.fa-whatsapp:before {\n content: \"\\f232\";\n}\n.fa-server:before {\n content: \"\\f233\";\n}\n.fa-user-plus:before {\n content: \"\\f234\";\n}\n.fa-user-times:before {\n content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\f236\";\n}\n.fa-viacoin:before {\n content: \"\\f237\";\n}\n.fa-train:before {\n content: \"\\f238\";\n}\n.fa-subway:before {\n content: \"\\f239\";\n}\n.fa-medium:before {\n content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n content: \"\\f23c\";\n}\n.fa-opencart:before {\n content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n content: \"\\f245\";\n}\n.fa-i-cursor:before {\n content: \"\\f246\";\n}\n.fa-object-group:before {\n content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n content: \"\\f248\";\n}\n.fa-sticky-note:before {\n content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n content: \"\\f24c\";\n}\n.fa-clone:before {\n content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\f253\";\n}\n.fa-hourglass:before {\n content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n content: \"\\f25b\";\n}\n.fa-trademark:before {\n content: \"\\f25c\";\n}\n.fa-registered:before {\n content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n content: \"\\f25e\";\n}\n.fa-gg:before {\n content: \"\\f260\";\n}\n.fa-gg-circle:before {\n content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n content: \"\\f264\";\n}\n.fa-get-pocket:before {\n content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n content: \"\\f266\";\n}\n.fa-safari:before {\n content: \"\\f267\";\n}\n.fa-chrome:before {\n content: \"\\f268\";\n}\n.fa-firefox:before {\n content: \"\\f269\";\n}\n.fa-opera:before {\n content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n content: \"\\f26c\";\n}\n.fa-contao:before {\n content: \"\\f26d\";\n}\n.fa-500px:before {\n content: \"\\f26e\";\n}\n.fa-amazon:before {\n content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n content: \"\\f274\";\n}\n.fa-industry:before {\n content: \"\\f275\";\n}\n.fa-map-pin:before {\n content: \"\\f276\";\n}\n.fa-map-signs:before {\n content: \"\\f277\";\n}\n.fa-map-o:before {\n content: \"\\f278\";\n}\n.fa-map:before {\n content: \"\\f279\";\n}\n.fa-commenting:before {\n content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n content: \"\\f27b\";\n}\n.fa-houzz:before {\n content: \"\\f27c\";\n}\n.fa-vimeo:before {\n content: \"\\f27d\";\n}\n.fa-black-tie:before {\n content: \"\\f27e\";\n}\n.fa-fonticons:before {\n content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n content: \"\\f281\";\n}\n.fa-edge:before {\n content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n content: \"\\f283\";\n}\n.fa-codiepie:before {\n content: \"\\f284\";\n}\n.fa-modx:before {\n content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n content: \"\\f286\";\n}\n.fa-usb:before {\n content: \"\\f287\";\n}\n.fa-product-hunt:before {\n content: \"\\f288\";\n}\n.fa-mixcloud:before {\n content: \"\\f289\";\n}\n.fa-scribd:before {\n content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n content: \"\\f291\";\n}\n.fa-hashtag:before {\n content: \"\\f292\";\n}\n.fa-bluetooth:before {\n content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n content: \"\\f294\";\n}\n.fa-percent:before {\n content: \"\\f295\";\n}\n.fa-gitlab:before {\n content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n content: \"\\f297\";\n}\n.fa-wpforms:before {\n content: \"\\f298\";\n}\n.fa-envira:before {\n content: \"\\f299\";\n}\n.fa-universal-access:before {\n content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n content: \"\\f29c\";\n}\n.fa-blind:before {\n content: \"\\f29d\";\n}\n.fa-audio-description:before {\n content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n content: \"\\f2a0\";\n}\n.fa-braille:before {\n content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\f2a4\";\n}\n.fa-glide:before {\n content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n content: \"\\f2ae\";\n}\n.fa-first-order:before {\n content: \"\\f2b0\";\n}\n.fa-yoast:before {\n content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n content: \"\\f2b7\";\n}\n.fa-linode:before {\n content: \"\\f2b8\";\n}\n.fa-address-book:before {\n content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n content: \"\\f2be\";\n}\n.fa-user-o:before {\n content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\f2c3\";\n}\n.fa-quora:before {\n content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n content: \"\\f2c5\";\n}\n.fa-telegram:before {\n content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\f2cb\";\n}\n.fa-shower:before {\n content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\f2cd\";\n}\n.fa-podcast:before {\n content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n content: \"\\f2d5\";\n}\n.fa-grav:before {\n content: \"\\f2d6\";\n}\n.fa-etsy:before {\n content: \"\\f2d7\";\n}\n.fa-imdb:before {\n content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n content: \"\\f2d9\";\n}\n.fa-eercast:before {\n content: \"\\f2da\";\n}\n.fa-microchip:before {\n content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n content: \"\\f2de\";\n}\n.fa-meetup:before {\n content: \"\\f2e0\";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/****************************************************************************************************************************\n * GENERIC TOOLS STYLES\n ***************************************************************************************************************************/\n.mo {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 13.6px;\n line-height: 1.5em;\n}\n#main-toolbox {\n line-height: normal;\n}\n#main-toolbox .propEditor .propInput .checkbox-replacer {\n padding: 4px 2px;\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level0,\n#main-toolbox .pane-title {\n font-size: 1.2em;\n}\n#main-toolbox .objLabel.level1 {\n font-size: 1.2em;\n}\n#main-toolbox .noSelectedBlock,\n#main-toolbox .customStyleHelp,\n#main-toolbox .objEmpty,\n#main-toolbox .galleryEmpty {\n font-size: 1.2em;\n}\n#main-toolbox .propInput .data-select::after,\n#main-toolbox .propInput .evo-pointer::before {\n width: 31px;\n padding: 0 10px;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n width: 30px;\n padding: 0;\n}\n#main-toolbox .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only .ui-icon {\n margin: 0;\n}\n#main-toolbox .propInput .ui-spinner-button {\n width: 30px;\n}\n#main-toolbox .propInput .ui-spinner-button .ui-icon {\n left: 6px;\n top: 8px;\n}\n#main-toolbox .evo-pop .evo-more {\n font-size: 1em;\n}\n#toolimages .img-dropzone {\n position: relative;\n}\n#toolimages .img-dropzone.ui-state-highlight:before {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#toolimages .img-dropzone.ui-state-draghover:before {\n background-color: rgba(204, 0, 0, 0.8);\n animation: none;\n}\n#toolimages .uploadzone {\n font-size: 1.2em;\n}\n.mo {\n /**************************************************************************************************************************\n * COMMON USE, BASIC ELEMENTS\n * Primitive html tags, common base classes, buttons, base forms, dropdown...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * BASIC HTML ELEMENTS\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * HTML HELPERS\n * Additional generic elements\n *************************************************************************************************************************/\n /**\n * ICONS FIX\n */\n /**************************************************************************************************************************\n * BUTTONS\n *************************************************************************************************************************/\n /*\nbutton::-moz-focus-inner,\ninput[type=\"reset\"]::-moz-focus-inner,\ninput[type=\"button\"]::-moz-focus-inner,\ninput[type=\"submit\"]::-moz-focus-inner,\ninput[type=\"file\"] > input[type=\"button\"]::-moz-focus-inner {\n border: none;\n}\n*/\n /*#main */\n /**************************************************************************************************************************\n * FORM\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * TOOLTIPS, WINDOWS...\n *************************************************************************************************************************/\n /**************************************************************************************************************************\n * JQUERY UI\n * \n * Needs style_elements.less. Uses .button() .win()\n *************************************************************************************************************************/\n /**\n * JQUERY HORIZONTAL UI TABS\n */\n /**\n * JQUERY VERTICAL UI TABS\n */\n /* questo renderebbe grigini i dati default\n .propInput.default input,\n .propInput.default select {\n color: #CCC;\n }\n */\n /*\n .propInput.local.default, .propInput.local.default * { display: none; }\n .propInput.global.overridden, .propInput.global.overridden * { display: none; }\n */\n /***************\n * COLOR PICKER\n ***************/\n}\n.mo a,\n.mo a:link,\n.mo a:visited,\n.mo a:active,\n.mo #site-slogan {\n color: #9C010F;\n text-decoration: none;\n}\nli .mo a,\nli .mo a:link,\nli .mo a:visited,\nli .mo a:active,\nli .mo #site-slogan {\n color: #9C010F;\n}\n.mo a:hover {\n color: #370005;\n}\nli .mo a:hover {\n color: #370005;\n}\n.mo a.disabled,\n.mo a.disabled:link,\n.mo a.disabled:visited {\n color: #000000;\n}\n.mo b,\n.mo strong {\n font-weight: bold;\n}\n.mo i,\n.mo em {\n font-style: italic;\n}\n.mo ul,\n.mo ol {\n margin: 0.5em 0;\n padding: 0 0 0 1.5em;\n}\n.mo ul li,\n.mo ol li {\n margin: 0.5em 0;\n}\n.mo ul li a,\n.mo ol li a,\n.mo ul li a:active,\n.mo ol li a:active,\n.mo ul li a:link,\n.mo ol li a:link,\n.mo ul li a:visited,\n.mo ol li a:visited {\n white-space: nowrap;\n}\n.mo p {\n margin: 1em 0;\n}\n.mo p .grey {\n color: #999998;\n}\n.mo small {\n font-size: smaller;\n}\n.mo big {\n font-size: larger;\n}\n.mo h1 {\n font-size: 2em;\n margin: 0.5em 0;\n}\n.mo h2,\n.mo h3.box_title {\n font-size: 1.5em;\n margin: 0.5em 0;\n}\n.mo h3 {\n font-size: 1.3em;\n margin: 0.5em 0;\n}\n.mo dl {\n margin-bottom: 1.5em;\n}\n.mo dl dt {\n font-weight: bold;\n}\n.mo dl dd {\n margin-left: 10px;\n font-style: italic;\n}\n.mo hr {\n border: 0;\n border-top: 2px solid #f1e4d6;\n margin: 1em 0;\n}\n.mo blockquote {\n font-style: italic;\n border-left: 2px solid #f1e4d6;\n padding: 0.5em;\n}\n.mo code {\n display: inline-block;\n border-left: 2px solid #f1e4d6;\n padding: 0.5em;\n}\n.mo table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n margin: 1.5em 0 1.5em 0;\n border-bottom: 2px solid #f1e4d6;\n /*&.thead-fixed {\n //margin: -@body-padding-top 0;\n margin: 0;\n }*/\n}\n.mo table tr.even,\n.mo table tr.odd {\n border: none;\n padding: 0;\n background-color: transparent;\n}\n.mo table th {\n padding: 0.5em 0.7em;\n font-weight: bold;\n border-top: 0 none;\n border-bottom: 2px solid #f1e4d6;\n vertical-align: middle;\n background-color: #D2CBB1;\n}\n.mo table td {\n padding: 0.1em 0.7em;\n height: 3.3em;\n background-color: #FEFDFC;\n border-top: 0 none;\n vertical-align: middle;\n}\n.mo table td.active {\n background-color: #FEFDFC;\n}\n.mo table > tr.even > td,\n.mo table > tbody > tr.even > td {\n background-color: #f1eee6;\n}\n.mo table > tr.even > td.active,\n.mo table > tbody > tr.even > td.active {\n background-color: #f1eee6;\n}\n.mo table tr:first-child th:first-child {\n border-top-left-radius: 7px;\n}\n.mo table tr:first-child th:last-child {\n border-top-right-radius: 7px;\n}\n.mo table .checkbox_cell {\n width: 3em;\n}\n.mo table tr.selected td,\n.mo table tr.selected td.active {\n background-color: #FFFF90 !important;\n}\n.mo table tr.odd.selected td,\n.mo table tr.odd.selected td.active,\n.mo table tr:nth-child(odd).selected td,\n.mo table tr:nth-child(odd).selected td.active {\n background-color: #fffeb0 !important;\n}\n.mo .table-wrapper-scroll {\n width: 100%;\n overflow-x: auto;\n}\n.mo caption {\n color: #9C010F;\n font-weight: bold;\n text-align: left;\n padding: 0.5em 0.7em;\n}\n.mo div.showall {\n padding: 0 0.7em 0.5em 0.7em;\n vertical-align: middle;\n clear: both;\n}\n.mo ul.links {\n margin: 0;\n padding: 0;\n}\n.mo ul.links.inline {\n display: inline;\n}\n.mo ul.links li {\n display: inline;\n list-style-type: none;\n padding: 0 0.5em;\n}\n.mo .small {\n font-size: 80%;\n}\n.mo .big {\n font-size: 120%;\n}\n.mo .clear-block {\n clear: both;\n}\n.mo .margin-top {\n margin-top: 0.5em;\n}\n.mo .overflow-hidden {\n overflow: hidden;\n}\n.mo .quarter-width {\n width: 25% !important;\n}\n.mo .half-width {\n width: 50% !important;\n}\n.mo .three-quarter-width {\n width: 75% !important;\n}\n.mo .full-width {\n width: 100% !important;\n}\n.mo .normal-width {\n width: auto !important;\n}\n.mo .clickable {\n cursor: pointer;\n}\n.mo .help {\n background-color: #e4dfcf;\n margin: 1em 0;\n padding: 0.8em;\n}\n.mo .help p:first-child {\n margin-top: 0;\n}\n.mo .help p:last-child {\n margin-bottom: 0;\n}\n.mo .dropdown {\n position: absolute;\n z-index: 1003;\n margin: 0;\n padding: 0.5em 1em;\n border-radius: 5px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 4px 10px #807e7c;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n}\n.mo .dropdown.dropdown-right {\n right: 0;\n}\n.mo .dropdown.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .dropdown,\n.button_links .mo .dropdown,\n.links.inline .mo .dropdown {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .dropdown,\n.top_links .mo .dropdown,\n.box_top_links .mo .dropdown,\n.slide_links .mo .dropdown {\n margin: 0.2em 0 0 0;\n}\n.mo .dropdown hr {\n margin: 0.5em -1em;\n border-top: 1px solid #999998;\n box-shadow: none;\n}\n.container-inline .mo .dropdown {\n display: block;\n}\n.mo .dropdown .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .dropdown-container {\n position: relative;\n white-space: nowrap;\n display: inline-block;\n}\n.container-inline .mo .dropdown-container {\n display: inline-block;\n}\n.form-item .mo .dropdown-container {\n margin: 0 0.5em 0 0;\n}\n.mo [class^=\"icon-\"]:before,\n.mo [class*=\" icon-\"]:before {\n margin-right: 0;\n margin-left: 0;\n}\n.mo i.icon {\n cursor: default;\n}\n.mo a:link i.icon {\n cursor: pointer;\n}\n.mo .icon_red {\n color: #BD362F;\n}\n.mo .icon_green {\n color: #51A351;\n}\n.mo img.icon {\n vertical-align: text-top;\n}\n.mo a.hint,\n.mo a.info {\n color: #666665;\n font-size: 80%;\n vertical-align: top;\n margin: 0 0.2em;\n}\n.mo a.hint:hover,\n.mo a.info:hover {\n color: #9C010F;\n}\nh1 .mo a.hint,\nh1 .mo a.info,\nh2 .mo a.hint,\nh2 .mo a.info,\nh3 .mo a.hint,\nh3 .mo a.info {\n font-size: 60%;\n}\nli .mo a.hint,\nli .mo a.info {\n color: #666665;\n}\n.mo a.hint {\n cursor: help;\n}\n.mo .suffix_icon {\n font-size: 80%;\n}\n.mo div.info {\n padding: 0.5em;\n background-color: #e4dfcf;\n margin: 0.5em 0;\n}\n.mo .menu_step_circle {\n display: inline-block;\n background-color: #f1eee6;\n color: #333332;\n padding: 0.3em 0.6em;\n margin: 0px 0.2em 0 0;\n border-radius: 1em;\n}\n.mo .menu_step_circle.current {\n background-color: #D2CBB1;\n}\n.mo .menu_step_circle.disabled {\n color: #999998;\n}\n.mo a.button_dropdown_split {\n border-left: 1px solid #333332;\n padding-left: 0.5em;\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo .button_links a.button_dropdown_split,\nli .mo .links.inline a.button_dropdown_split,\nli .mo .cell_links a.button_dropdown_split {\n color: #FEFDFC;\n}\n.mo .button_links a.button_dropdown_split img,\n.mo .links.inline a.button_dropdown_split img,\n.mo .cell_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .button_links a.button_dropdown_split:hover,\n.mo .links.inline a.button_dropdown_split:hover,\n.mo .cell_links a.button_dropdown_split:hover,\n.mo .button_links a.button_dropdown_split.pressed,\n.mo .links.inline a.button_dropdown_split.pressed,\n.mo .cell_links a.button_dropdown_split.pressed,\n.mo .button_links a.button_dropdown_split.selected,\n.mo .links.inline a.button_dropdown_split.selected,\n.mo .cell_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .button_links a.button_dropdown_split.disabled,\n.mo .links.inline a.button_dropdown_split.disabled,\n.mo .cell_links a.button_dropdown_split.disabled {\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.disabled a,\n.mo .links.inline a.button_dropdown_split.disabled a,\n.mo .cell_links a.button_dropdown_split.disabled a,\n.mo .button_links a.button_dropdown_split.disabled .link,\n.mo .links.inline a.button_dropdown_split.disabled .link,\n.mo .cell_links a.button_dropdown_split.disabled .link {\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.disabled:hover,\n.mo .links.inline a.button_dropdown_split.disabled:hover,\n.mo .cell_links a.button_dropdown_split.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .button_links a.button_dropdown_split.inline,\n.mo .links.inline a.button_dropdown_split.inline,\n.mo .cell_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo .button_links a.button_dropdown_split.primary,\n.mo .links.inline a.button_dropdown_split.primary,\n.mo .cell_links a.button_dropdown_split.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .button_links a.button_dropdown_split.primary:hover,\n.mo .links.inline a.button_dropdown_split.primary:hover,\n.mo .cell_links a.button_dropdown_split.primary:hover,\n.mo .button_links a.button_dropdown_split.primary.pressed,\n.mo .links.inline a.button_dropdown_split.primary.pressed,\n.mo .cell_links a.button_dropdown_split.primary.pressed,\n.mo .button_links a.button_dropdown_split.primary.selected,\n.mo .links.inline a.button_dropdown_split.primary.selected,\n.mo .cell_links a.button_dropdown_split.primary.selected {\n background-color: #69010a;\n}\n.mo .button_links a.button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .button_links a.button_dropdown_split.big .suffix_icon,\n.mo .links.inline a.button_dropdown_split.big .suffix_icon,\n.mo .cell_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .button_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .links.inline a.button_dropdown_split.with_button_dropdown_split.big,\n.mo .cell_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .button_links a.button_dropdown_split.loading,\n.mo .links.inline a.button_dropdown_split.loading,\n.mo .cell_links a.button_dropdown_split.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .button_links a.button_dropdown_split,\n.mo .links.inline a.button_dropdown_split,\n.mo .cell_links a.button_dropdown_split,\n.mo .top_links a.button_dropdown_split {\n margin-left: -1.5em;\n border-left: 1px solid #FEFDFC !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n z-index: 2;\n}\n.mo a.button,\n.mo input.form-submit {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo a.button,\nli .mo input.form-submit {\n color: #FEFDFC;\n}\n.mo a.button img,\n.mo input.form-submit img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo a.button:hover,\n.mo input.form-submit:hover,\n.mo a.button.pressed,\n.mo input.form-submit.pressed,\n.mo a.button.selected,\n.mo input.form-submit.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo a.button.disabled,\n.mo input.form-submit.disabled {\n color: #666665;\n}\n.mo a.button.disabled a,\n.mo input.form-submit.disabled a,\n.mo a.button.disabled .link,\n.mo input.form-submit.disabled .link {\n color: #666665;\n}\n.mo a.button.disabled:hover,\n.mo input.form-submit.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo a.button.inline,\n.mo input.form-submit.inline {\n margin: 0 7px 0 0;\n}\n.mo a.button.primary,\n.mo input.form-submit.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo a.button.primary:hover,\n.mo input.form-submit.primary:hover,\n.mo a.button.primary.pressed,\n.mo input.form-submit.primary.pressed,\n.mo a.button.primary.selected,\n.mo input.form-submit.primary.selected {\n background-color: #69010a;\n}\n.mo a.button.big,\n.mo input.form-submit.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo a.button.big .suffix_icon,\n.mo input.form-submit.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo a.button.with_button_dropdown_split,\n.mo input.form-submit.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo a.button.with_button_dropdown_split.big,\n.mo input.form-submit.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo a.button.loading,\n.mo input.form-submit.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.links a {\n font-weight: bold;\n}\n.mo ul.button_links li,\n.mo ul.inline li {\n padding: 0;\n}\n.mo ul.button_links li a,\n.mo ul.inline li a {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo ul.button_links li a,\nli .mo ul.inline li a {\n color: #FEFDFC;\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.button_links li a:hover,\n.mo ul.inline li a:hover,\n.mo ul.button_links li a.pressed,\n.mo ul.inline li a.pressed,\n.mo ul.button_links li a.selected,\n.mo ul.inline li a.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.button_links li a.disabled,\n.mo ul.inline li a.disabled {\n color: #666665;\n}\n.mo ul.button_links li a.disabled a,\n.mo ul.inline li a.disabled a,\n.mo ul.button_links li a.disabled .link,\n.mo ul.inline li a.disabled .link {\n color: #666665;\n}\n.mo ul.button_links li a.disabled:hover,\n.mo ul.inline li a.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.button_links li a.inline,\n.mo ul.inline li a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.button_links li a.primary,\n.mo ul.inline li a.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.button_links li a.primary:hover,\n.mo ul.inline li a.primary:hover,\n.mo ul.button_links li a.primary.pressed,\n.mo ul.inline li a.primary.pressed,\n.mo ul.button_links li a.primary.selected,\n.mo ul.inline li a.primary.selected {\n background-color: #69010a;\n}\n.mo ul.button_links li a.big,\n.mo ul.inline li a.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.button_links li a.big .suffix_icon,\n.mo ul.inline li a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.button_links li a.with_button_dropdown_split,\n.mo ul.inline li a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.button_links li a.with_button_dropdown_split.big,\n.mo ul.inline li a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.button_links li a.loading,\n.mo ul.inline li a.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.button_links li a img,\n.mo ul.inline li a img {\n vertical-align: text-top;\n margin: 0 0.5em 0 0;\n}\n.mo ul.buttonbar {\n white-space: nowrap;\n}\n.mo ul.buttonbar > li,\n.mo ul.buttonbar > .dropdown-container > li {\n margin: 0 1px 0 0;\n float: left;\n}\n.mo ul.buttonbar > li a,\n.mo ul.buttonbar > .dropdown-container > li a,\n.mo ul.buttonbar > li a.big,\n.mo ul.buttonbar > .dropdown-container > li a.big {\n margin-left: 0;\n margin-right: 0;\n border-radius: 0;\n}\n.mo ul.buttonbar > li a.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.with_button_dropdown_split,\n.mo ul.buttonbar > li a.big.with_button_dropdown_split,\n.mo ul.buttonbar > .dropdown-container > li a.big.with_button_dropdown_split {\n margin-right: 7px;\n}\n.mo ul.buttonbar > li.first a,\n.mo ul.buttonbar > .dropdown-container > li.first a {\n border-radius: 5px 0 0 5px;\n}\n.mo ul.buttonbar > li.first a.big,\n.mo ul.buttonbar > .dropdown-container > li.first a.big {\n border-radius: 7px 0 0 7px;\n}\n.mo ul.buttonbar > li.last a,\n.mo ul.buttonbar > .dropdown-container > li.last a {\n border-radius: 0 5px 5px 0;\n}\n.mo ul.buttonbar > li.last a.big,\n.mo ul.buttonbar > .dropdown-container > li.last a.big {\n border-radius: 0 7px 7px 0;\n}\n.mo ul.buttonbar.top_links {\n margin-left: 0.5em;\n}\n.mo ul.buttonbar:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo ul.cell_links > li,\n.mo ul.cell_links > .dropdown-container > li {\n padding: 0;\n}\n.mo ul.cell_links > li > a,\n.mo ul.cell_links > .dropdown-container > li > a {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n margin: 0 0.5em 0 0;\n}\nli .mo ul.cell_links > li > a,\nli .mo ul.cell_links > .dropdown-container > li > a {\n color: #FEFDFC;\n}\n.mo ul.cell_links > li > a img,\n.mo ul.cell_links > .dropdown-container > li > a img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.cell_links > li > a:hover,\n.mo ul.cell_links > .dropdown-container > li > a:hover,\n.mo ul.cell_links > li > a.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.pressed,\n.mo ul.cell_links > li > a.selected,\n.mo ul.cell_links > .dropdown-container > li > a.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.cell_links > li > a.disabled,\n.mo ul.cell_links > .dropdown-container > li > a.disabled {\n color: #666665;\n}\n.mo ul.cell_links > li > a.disabled a,\n.mo ul.cell_links > .dropdown-container > li > a.disabled a,\n.mo ul.cell_links > li > a.disabled .link,\n.mo ul.cell_links > .dropdown-container > li > a.disabled .link {\n color: #666665;\n}\n.mo ul.cell_links > li > a.disabled:hover,\n.mo ul.cell_links > .dropdown-container > li > a.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.cell_links > li > a.inline,\n.mo ul.cell_links > .dropdown-container > li > a.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.cell_links > li > a.primary,\n.mo ul.cell_links > .dropdown-container > li > a.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.cell_links > li > a.primary:hover,\n.mo ul.cell_links > .dropdown-container > li > a.primary:hover,\n.mo ul.cell_links > li > a.primary.pressed,\n.mo ul.cell_links > .dropdown-container > li > a.primary.pressed,\n.mo ul.cell_links > li > a.primary.selected,\n.mo ul.cell_links > .dropdown-container > li > a.primary.selected {\n background-color: #69010a;\n}\n.mo ul.cell_links > li > a.big,\n.mo ul.cell_links > .dropdown-container > li > a.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.cell_links > li > a.big .suffix_icon,\n.mo ul.cell_links > .dropdown-container > li > a.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.cell_links > li > a.with_button_dropdown_split.big,\n.mo ul.cell_links > .dropdown-container > li > a.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.cell_links > li > a.loading,\n.mo ul.cell_links > .dropdown-container > li > a.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.cell_links a.button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\ntd .mo ul.cell_links {\n text-align: right;\n}\n.mo .td_cell_links {\n text-align: right;\n white-space: nowrap;\n}\n.mo ul.top_links,\n.mo ul.box_top_links {\n float: right;\n text-align: right;\n}\n.mo ul.top_links > *,\n.mo ul.box_top_links > * {\n line-height: normal;\n text-align: left;\n margin-bottom: 0.4em;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a,\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n border-radius: 7px;\n padding: 0.25em 0.4em;\n font-size: 1.3em;\n}\nli .mo ul.top_links li a,\nli .mo ul.box_top_links li a,\nli .mo ul.top_links a.button_dropdown_split,\nli .mo ul.box_top_links a.button_dropdown_split {\n color: #FEFDFC;\n}\n.mo ul.top_links li a img,\n.mo ul.box_top_links li a img,\n.mo ul.top_links a.button_dropdown_split img,\n.mo ul.box_top_links a.button_dropdown_split img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo ul.top_links li a:hover,\n.mo ul.box_top_links li a:hover,\n.mo ul.top_links a.button_dropdown_split:hover,\n.mo ul.box_top_links a.button_dropdown_split:hover,\n.mo ul.top_links li a.pressed,\n.mo ul.box_top_links li a.pressed,\n.mo ul.top_links a.button_dropdown_split.pressed,\n.mo ul.box_top_links a.button_dropdown_split.pressed,\n.mo ul.top_links li a.selected,\n.mo ul.box_top_links li a.selected,\n.mo ul.top_links a.button_dropdown_split.selected,\n.mo ul.box_top_links a.button_dropdown_split.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo ul.top_links li a.disabled,\n.mo ul.box_top_links li a.disabled,\n.mo ul.top_links a.button_dropdown_split.disabled,\n.mo ul.box_top_links a.button_dropdown_split.disabled {\n color: #666665;\n}\n.mo ul.top_links li a.disabled a,\n.mo ul.box_top_links li a.disabled a,\n.mo ul.top_links a.button_dropdown_split.disabled a,\n.mo ul.box_top_links a.button_dropdown_split.disabled a,\n.mo ul.top_links li a.disabled .link,\n.mo ul.box_top_links li a.disabled .link,\n.mo ul.top_links a.button_dropdown_split.disabled .link,\n.mo ul.box_top_links a.button_dropdown_split.disabled .link {\n color: #666665;\n}\n.mo ul.top_links li a.disabled:hover,\n.mo ul.box_top_links li a.disabled:hover,\n.mo ul.top_links a.button_dropdown_split.disabled:hover,\n.mo ul.box_top_links a.button_dropdown_split.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo ul.top_links li a.inline,\n.mo ul.box_top_links li a.inline,\n.mo ul.top_links a.button_dropdown_split.inline,\n.mo ul.box_top_links a.button_dropdown_split.inline {\n margin: 0 7px 0 0;\n}\n.mo ul.top_links li a.primary,\n.mo ul.box_top_links li a.primary,\n.mo ul.top_links a.button_dropdown_split.primary,\n.mo ul.box_top_links a.button_dropdown_split.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo ul.top_links li a.primary:hover,\n.mo ul.box_top_links li a.primary:hover,\n.mo ul.top_links a.button_dropdown_split.primary:hover,\n.mo ul.box_top_links a.button_dropdown_split.primary:hover,\n.mo ul.top_links li a.primary.pressed,\n.mo ul.box_top_links li a.primary.pressed,\n.mo ul.top_links a.button_dropdown_split.primary.pressed,\n.mo ul.box_top_links a.button_dropdown_split.primary.pressed,\n.mo ul.top_links li a.primary.selected,\n.mo ul.box_top_links li a.primary.selected,\n.mo ul.top_links a.button_dropdown_split.primary.selected,\n.mo ul.box_top_links a.button_dropdown_split.primary.selected {\n background-color: #69010a;\n}\n.mo ul.top_links li a.big,\n.mo ul.box_top_links li a.big,\n.mo ul.top_links a.button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo ul.top_links li a.big .suffix_icon,\n.mo ul.box_top_links li a.big .suffix_icon,\n.mo ul.top_links a.button_dropdown_split.big .suffix_icon,\n.mo ul.box_top_links a.button_dropdown_split.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo ul.top_links li a.with_button_dropdown_split,\n.mo ul.box_top_links li a.with_button_dropdown_split,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo ul.top_links li a.with_button_dropdown_split.big,\n.mo ul.box_top_links li a.with_button_dropdown_split.big,\n.mo ul.top_links a.button_dropdown_split.with_button_dropdown_split.big,\n.mo ul.box_top_links a.button_dropdown_split.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo ul.top_links li a.loading,\n.mo ul.box_top_links li a.loading,\n.mo ul.top_links a.button_dropdown_split.loading,\n.mo ul.box_top_links a.button_dropdown_split.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo ul.top_links li,\n.mo ul.box_top_links li {\n padding: 0;\n}\n.mo ul.top_links li a,\n.mo ul.box_top_links li a {\n margin: 0px 0px 0px 0.5em;\n}\n.mo ul.top_links a.button_dropdown_split,\n.mo ul.box_top_links a.button_dropdown_split {\n margin: 0 0 0 -1em;\n}\n.mo ul.top_links .dropdown,\n.mo ul.box_top_links .dropdown {\n margin-left: 0.5em;\n}\n.mo ul.popup_links > li,\n.mo ul.popup_links > .dropdown-container > li {\n display: block;\n padding: 0;\n margin: 0;\n}\n.mo ul.popup_links > li > a,\n.mo ul.popup_links > .dropdown-container > li > a {\n display: block;\n border: none;\n padding: 0.5em;\n margin: 0;\n border-radius: 0;\n position: relative;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n background-color: transparent;\n color: #333332;\n}\n.mo ul.popup_links > li > a img,\n.mo ul.popup_links > .dropdown-container > li > a img {\n vertical-align: text-top;\n margin: 0 0.5em 0 0;\n}\n.mo ul.popup_links > li > a.disabled,\n.mo ul.popup_links > .dropdown-container > li > a.disabled {\n color: #999998 !important;\n}\n.mo ul.popup_links > li > a.disabled:hover,\n.mo ul.popup_links > .dropdown-container > li > a.disabled:hover {\n border: none;\n}\n.mo ul.popup_links > li > a .badge,\n.mo ul.popup_links > .dropdown-container > li > a .badge {\n position: absolute;\n right: 0;\n margin-left: 1em;\n top: 0.6em;\n}\n.mo ul.popup_links > li:hover,\n.mo ul.popup_links > .dropdown-container > li:hover {\n background-color: #333332;\n color: #FEFDFC;\n}\n.mo ul.popup_links > li:hover a,\n.mo ul.popup_links > .dropdown-container > li:hover a {\n color: #FEFDFC;\n}\n.mo ul.popup_links > li .cell_links > li > a,\n.mo ul.popup_links > .dropdown-container > li .cell_links > li > a {\n border-color: #999999;\n}\n.mo ul.popup_links > li.separator,\n.mo ul.popup_links > .dropdown-container > li.separator {\n border-top: 1px solid #333332;\n margin: 0.5em 0;\n}\n.mo ul.popup_links.table_columns > li > a,\n.mo ul.popup_links.table_columns > .dropdown-container > li > a {\n display: table-cell;\n vertical-align: middle;\n width: 100%;\n}\n.mo ul.popup_links.table_columns > li > .table_column,\n.mo ul.popup_links.table_columns > .dropdown-container > li > .table_column {\n display: table-cell;\n vertical-align: middle;\n width: auto;\n /*.button {\n margin: 0 .5em;\n color: @button-text-color;\n }*/\n}\n.mo .dropdown ul.popup_links {\n margin: -0.5em -1em;\n}\n.mo .dropdown ul.popup_links > li > a,\n.mo .dropdown ul.popup_links > .dropdown-container > li > a {\n text-align: left;\n width: 100%;\n}\n.mo select,\n.mo textarea {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n}\n.mo select:focus,\n.mo textarea:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo select.inline,\n.mo textarea.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo input:disabled,\n.mo select:disabled,\n.mo textarea:disabled {\n opacity: 0.5 !important;\n}\n.mo ::placeholder {\n color: #807f7f;\n opacity: 1;\n}\n.mo .async_loading {\n color: transparent;\n text-align: center;\n background: url(../../../../misc/others/loading.gif) no-repeat 50% 50% transparent;\n opacity: 0.5;\n}\n.mo .async_loading_iframe {\n background: url(../../../../misc/others/loadingbig.gif) no-repeat 50% 50% transparent;\n}\n.mo .ui-helper-hidden {\n display: none;\n}\n.mo .ui-helper-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: 1px;\n}\n.mo .ui-helper-reset {\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n line-height: 1.3;\n text-decoration: none;\n font-size: 100%;\n list-style: none;\n}\n.mo .ui-helper-clearfix:before,\n.mo .ui-helper-clearfix:after {\n content: \"\";\n display: table;\n border-collapse: collapse;\n}\n.mo .ui-helper-clearfix:after {\n clear: both;\n}\n.mo .ui-helper-clearfix {\n min-height: 0;\n /* support: IE7 */\n}\n.mo .ui-helper-zfix {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n position: absolute;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.mo .ui-front {\n z-index: 1004;\n}\n.mo .ui-state-disabled {\n cursor: default !important;\n}\n.mo .ui-icon {\n display: block;\n text-indent: -99999px;\n overflow: hidden;\n background-repeat: no-repeat;\n}\n.mo .ui-widget-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.mo .ui-widget-overlay {\n background: #aaaaaa none;\n opacity: 0.6;\n filter: alpha(opacity=60);\n}\n.mo .ui-widget-shadow {\n margin: -8px 0 0 -8px;\n padding: 8px;\n background: #aaaaaa none;\n opacity: 0.3;\n filter: alpha(opacity=30);\n border-radius: 8px;\n}\n.mo .ui-corner-all {\n border-radius: 5px;\n}\n.mo .ui-button {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n}\nli .mo .ui-button {\n color: #FEFDFC;\n}\n.mo .ui-button img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .ui-button:hover,\n.mo .ui-button.pressed,\n.mo .ui-button.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .ui-button.disabled {\n color: #666665;\n}\n.mo .ui-button.disabled a,\n.mo .ui-button.disabled .link {\n color: #666665;\n}\n.mo .ui-button.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .ui-button.inline {\n margin: 0 7px 0 0;\n}\n.mo .ui-button.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .ui-button.primary:hover,\n.mo .ui-button.primary.pressed,\n.mo .ui-button.primary.selected {\n background-color: #69010a;\n}\n.mo .ui-button.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .ui-button.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .ui-button.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .ui-button.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .ui-button.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .ui-button .ui-button-text,\n.mo .ui-button .ui-icon {\n color: #FEFDFC;\n}\n.mo .ui-button.ui-button-icon-only .ui-icon {\n margin: 0 0.1em;\n}\n.mo .ui-button.ui-button-icon-only .ui-button-text {\n display: none;\n}\n.mo .ui-button.ui-button-disabled {\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled a,\n.mo .ui-button.ui-button-disabled .link {\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .ui-button.ui-button-disabled .ui-button-text,\n.mo .ui-button.ui-button-disabled .ui-icon {\n color: #666665;\n}\n.mo .ui-button.ui-state-active {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .ui-buttonset {\n margin-right: 7px;\n vertical-align: middle;\n font-size: 0;\n}\n.mo .ui-buttonset > .ui-button {\n font-size: 13.6px;\n margin-right: 1px;\n border-radius: 0;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-left {\n border-radius: 5px 0 0 5px;\n}\n.mo .ui-buttonset > .ui-button.ui-corner-right {\n border-radius: 0 5px 5px 0;\n}\n.mo .ui-dialog {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n position: absolute;\n overflow: hidden;\n width: 300px;\n padding: 0;\n font-size: 1em;\n z-index: 1005;\n}\n.mo .ui-dialog .ui-dialog-titlebar {\n position: relative;\n padding: 0.5em 1em 0.3em;\n color: #333332;\n background: none #D2CBB1;\n border: none;\n font-weight: bold;\n border-radius: 0;\n font-size: 1.1em;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-icon {\n color: #333332;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-title {\n float: left;\n margin: 0.1em 16px 0.2em 0;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {\n position: absolute;\n right: 0.3em;\n top: 35%;\n width: 21px;\n margin: -10px 0 0 0;\n padding: 1px;\n height: 20px;\n cursor: pointer;\n border: 0 none;\n background: none transparent;\n box-shadow: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::-moz-focus-inner {\n border: none;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon {\n position: absolute;\n top: 50%;\n margin-top: -8px;\n left: 50%;\n margin-left: -8px;\n}\n.mo .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close.ui-button-icon-only .ui-button-text {\n display: block;\n line-height: normal;\n padding: 0.4em;\n text-indent: -9999999px;\n}\n.mo .ui-dialog .ui-dialog-content {\n border: 0;\n padding: 0.5em 1em;\n background: none;\n zoom: 1;\n max-height: 600px;\n position: relative;\n}\n.mo .ui-dialog .ui-dialog-content .async_loading_iframe {\n margin: -0.5em 0 0 0;\n}\n.mo .ui-dialog .async_loading_iframe {\n width: 100%;\n height: 100%;\n min-height: 100px;\n}\n.mo .ui-dialog .async_loading_iframe.with_bg {\n width: 10%;\n height: 6%;\n min-height: 50px;\n position: absolute;\n left: 45%;\n top: 47%;\n}\n.mo .ui-dialog .async_loading_iframe.over {\n position: absolute;\n left: 0;\n top: 0;\n}\n.mo .ui-dialog .ui-dialog-buttonpane {\n text-align: center;\n background-image: none;\n margin: 0.5em 0 0 0;\n border: none;\n padding: 0.3em 0;\n}\n.mo .ui-dialog.dialog_info .ui-dialog-titlebar {\n background: none #81b1b3;\n}\n.mo .ui-dialog.dialog_warn .ui-dialog-titlebar {\n background: none #c88170;\n}\n.mo .ui-dialog.dialog_ok .ui-dialog-titlebar {\n background: none #92b781;\n}\n.mo .ui-dialog.dialog_standard_href .ui-dialog-content {\n padding: 0;\n min-height: 600px;\n}\n.mo .ui-dialog.dialog_ajax_href .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_content .ui-dialog-content,\n.mo .ui-dialog.dialog_standard_rel .ui-dialog-content {\n overflow: auto;\n}\n.mo .ui-dialog.no-close .ui-dialog-titlebar-close {\n display: none;\n}\n.mo .ui-dialog:focus,\n.mo .ui-dialog:-moz-focusring {\n outline: 0 none !important;\n}\n.mo .ui-menu {\n list-style: outside none none;\n padding: 0px;\n margin: 0px;\n display: block;\n outline: medium none;\n}\n.mo .ui-menu .ui-menu-item {\n position: relative;\n margin: 0px;\n padding: 3px 1em 3px 0.4em;\n cursor: pointer;\n min-height: 0px;\n}\n.mo .ui-autocomplete {\n top: 0px;\n left: 0px;\n cursor: default;\n position: absolute;\n z-index: 1003;\n padding: 0.5em 1em;\n border-radius: 5px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 4px 10px #807e7c;\n background-color: #ffffff;\n max-height: 300px;\n overflow: auto;\n min-width: 100%;\n max-width: 25em;\n white-space: normal;\n min-width: auto;\n max-width: none;\n margin: 0;\n padding: 0;\n}\n.mo .ui-autocomplete.dropdown-right {\n right: 0;\n}\n.mo .ui-autocomplete.dropdown-bottom {\n bottom: 0;\n}\na.button + div.dropdown_spacer + .mo .ui-autocomplete,\n.button_links .mo .ui-autocomplete,\n.links.inline .mo .ui-autocomplete {\n margin: -0.4em 0 0 0;\n}\n.cell_links .mo .ui-autocomplete,\n.top_links .mo .ui-autocomplete,\n.box_top_links .mo .ui-autocomplete,\n.slide_links .mo .ui-autocomplete {\n margin: 0.2em 0 0 0;\n}\n.mo .ui-autocomplete hr {\n margin: 0.5em -1em;\n border-top: 1px solid #999998;\n box-shadow: none;\n}\n.container-inline .mo .ui-autocomplete {\n display: block;\n}\n.mo .ui-autocomplete .dropdown_footer {\n padding: 0.5em 0 0 0;\n margin: 0;\n}\n.mo .ui-autocomplete .ui-menu-item {\n display: block;\n padding: 0.5em;\n margin: 0;\n font-weight: bold;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active {\n background-color: #333332;\n color: #FEFDFC;\n}\n.mo .ui-autocomplete .ui-menu-item.ui-state-focus a,\n.mo .ui-autocomplete .ui-menu-item.ui-state-active a {\n color: #FEFDFC;\n}\n.mo .ui-tabs .ui-tabs-nav {\n border-radius: 0;\n}\n.mo .ui-tabs.tabs_horizontal > ul {\n margin: 0;\n border-bottom: 1px solid #D2CBB1;\n padding: 0px 0px 0px 0.5em;\n}\n.mo .ui-tabs.tabs_horizontal > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal > ul li > a {\n display: block;\n padding: 0.5em 1em;\n margin: 0 0.5em 0 0;\n border-radius: 5px 5px 0 0;\n background-color: #D2CBB1;\n border: 1px solid #D2CBB1;\n}\n.mo .ui-tabs.tabs_horizontal > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal > ul li.ui-state-active a {\n border-bottom: 1px solid #FEFDFC;\n background: transparent;\n font-weight: bold;\n background-color: transparent;\n color: #333332;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel {\n margin-top: 0.5em;\n}\n.mo .ui-tabs.tabs_horizontal .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul {\n background-color: #D2CBB1;\n margin: 0;\n border-bottom: 1px solid #D2CBB1;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li {\n float: left;\n list-style-type: none;\n margin: 0.4em 0 -1px 0;\n display: block;\n text-align: center;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a {\n display: block;\n padding: 0.5em 1em;\n margin: 0 0.5em 0 0;\n border-radius: 5px 5px 0 0;\n background-color: #333332;\n color: #FEFDFC;\n border: none;\n font-weight: bold;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li > a:hover {\n background-color: #191919;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li a:focus {\n outline: 0 none !important;\n}\n.mo .ui-tabs.tabs_horizontal.button_color > ul li.ui-state-active a {\n border-bottom: 1px solid #FEFDFC;\n background: transparent;\n font-weight: bold;\n background-color: #FEFDFC;\n color: #333332;\n}\n.mo .ui-tabs.tabs_vertical {\n position: relative;\n margin: 1em 0;\n}\n.mo .ui-tabs.tabs_vertical > ul {\n margin: 0;\n padding: 0;\n text-align: left;\n float: left;\n}\n.mo .ui-tabs.tabs_vertical > ul li {\n width: 11em;\n list-style-type: none;\n padding: 0.5em 1em;\n margin: 0;\n text-align: right;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active {\n background-color: #D2CBB1;\n font-weight: bold;\n border-radius: 5px 0 0 5px;\n}\n.mo .ui-tabs.tabs_vertical > ul li.ui-state-active a {\n color: #333332;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel {\n background: #FEFDFC;\n border: 1px solid #D2CBB1;\n padding: 0.5em 1em;\n margin: 0.5em 0;\n overflow: auto;\n}\n.mo .ui-tabs.tabs_vertical .ui-tabs-panel.ui-tabs-noscroll {\n padding: 0;\n}\n.mo .ui-tooltip {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n max-width: 300px;\n padding: 0.5em;\n z-index: 1004;\n}\n.mo .ui-spinner {\n display: block;\n margin: 10px 0 10px 0;\n padding: 0;\n position: relative;\n}\n.mo .ui-spinner input[type=number] {\n -moz-appearance: textfield;\n}\n.mo .ui-spinner input[type=number]::-webkit-outer-spin-button,\n.mo .ui-spinner input[type=number]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.mo .ui-spinner input[type=number]::-ms-clear {\n width: 0;\n height: 0;\n}\n.mo .ui-spinner .ui-spinner-input {\n margin: 0;\n margin-right: 2em;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .ui-spinner .ui-spinner-button {\n width: 2.5em;\n height: 50%;\n min-height: inherit;\n padding: 0;\n margin: 0;\n position: absolute;\n right: 0;\n line-height: 1em;\n cursor: pointer;\n}\n.mo .ui-spinner .ui-spinner-button .ui-icon {\n display: none;\n}\n.mo .ui-spinner .ui-spinner-up {\n top: 0;\n border-bottom: none;\n border-radius: 0 5px 0 0;\n}\n.mo .ui-spinner .ui-spinner-up .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d8\";\n}\n.mo .ui-spinner .ui-spinner-down {\n bottom: 0;\n border-top: none;\n border-radius: 0 0 5px 0;\n}\n.mo .ui-spinner .ui-spinner-down .ui-button-text:after {\n font-family: FontAwesome;\n font-weight: normal;\n content: \"\\f0d7\";\n}\n.mo .ui-icon {\n font-family: FontAwesome;\n background: none repeat scroll 0 0 transparent;\n text-indent: 0;\n width: auto;\n height: auto;\n min-width: 16px;\n vertical-align: middle;\n margin-top: 0;\n margin-right: 0.5em;\n}\n.mo .ui-icon-closethick:before {\n content: \"\\f00d\";\n}\n.mo .ui-draggable .ui-dialog-titlebar {\n cursor: move;\n}\n.mo .ui-draggable-handle,\n.mo .ui-sortable-handle {\n -ms-touch-action: none;\n touch-action: none;\n}\n.mo *,\n.mo *:before,\n.mo *:after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n.mo .ui-icon {\n overflow: visible;\n}\n.mo .fa {\n display: inline-block;\n font-style: normal;\n}\n.mo .buttons {\n text-align: center;\n padding-top: 3px;\n}\n.mo .propInput input[type=text],\n.mo .propInput input[type=number],\n.mo .propInput input[type=url],\n.mo .propInput select {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n margin: 0;\n}\n.mo .propInput input[type=text]:focus,\n.mo .propInput input[type=number]:focus,\n.mo .propInput input[type=url]:focus,\n.mo .propInput select:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput input[type=text].inline,\n.mo .propInput input[type=number].inline,\n.mo .propInput input[type=url].inline,\n.mo .propInput select.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput input[type=text].invalid,\n.mo .propInput input[type=number].invalid,\n.mo .propInput input[type=url].invalid,\n.mo .propInput select.invalid,\n.mo .propInput input[type=text].error,\n.mo .propInput input[type=number].error,\n.mo .propInput input[type=url].error,\n.mo .propInput select.error {\n border: 2px solid #BD362F;\n}\n.mo .propInput .data-select {\n display: block;\n}\n@media (-ms-high-contrast: active), (-ms-high-contrast: none), not screen\\0 {\n .mo .propInput .data-select {\n position: relative;\n }\n .mo .propInput .data-select select {\n -webkit-appearance: none;\n -moz-appearance: none;\n padding-right: 30px;\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n }\n .mo .propInput .data-select select::-ms-expand {\n display: none;\n }\n .mo .propInput .data-select:after {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n line-height: 30px;\n width: 28px;\n margin-right: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n /*\n content: \"â–¼\";\n font-size: 60%;\n */\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n pointer-events: none;\n }\n li .mo .propInput .data-select:after {\n color: #FEFDFC;\n }\n .mo .propInput .data-select:after img {\n vertical-align: middle;\n margin: 0 0.2em;\n }\n .mo .propInput .data-select:after:hover,\n .mo .propInput .data-select:after.pressed,\n .mo .propInput .data-select:after.selected {\n text-decoration: none;\n background-color: #191919;\n }\n .mo .propInput .data-select:after.disabled {\n color: #666665;\n }\n .mo .propInput .data-select:after.disabled a,\n .mo .propInput .data-select:after.disabled .link {\n color: #666665;\n }\n .mo .propInput .data-select:after.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n }\n .mo .propInput .data-select:after.inline {\n margin: 0 7px 0 0;\n }\n .mo .propInput .data-select:after.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n }\n .mo .propInput .data-select:after.primary:hover,\n .mo .propInput .data-select:after.primary.pressed,\n .mo .propInput .data-select:after.primary.selected {\n background-color: #69010a;\n }\n .mo .propInput .data-select:after.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n }\n .mo .propInput .data-select:after.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split {\n padding-right: 1.2em;\n }\n .mo .propInput .data-select:after.with_button_dropdown_split.big {\n padding-right: 1.8em;\n }\n .mo .propInput .data-select:after.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n }\n}\n.mo .propInput .ui-textbutton {\n width: 100%;\n display: inline-table;\n table-layout: fixed;\n margin-right: 0;\n vertical-align: middle;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-input.withButton {\n display: table-cell;\n margin: 0;\n margin-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button {\n display: table-cell;\n margin-right: 0;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button .ui-button-text {\n line-height: 0;\n}\n.mo .propInput .ui-textbutton .ui-textbutton-button.ui-button-icon-only {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n width: 1.6em;\n}\n.mo .propEditor {\n display: table;\n width: 100%;\n}\n.mo .propLabel {\n padding: 8px 8px;\n padding-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 45%;\n float: left;\n text-align: right;\n}\n.mo .propLabel[title]:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n float: right;\n position: initial;\n color: #666665;\n content: \"\\f059\";\n font-size: 80%;\n line-height: 1.5em;\n margin-left: 0.5em;\n}\n.mo .propInput {\n width: 55%;\n float: left;\n}\n.mo .propInput input,\n.mo .propInput select {\n width: 100%;\n}\n.mo .notnull.propEditor.checkboxes .propInput {\n width: 50%;\n}\n.mo .propCheck {\n width: 5%;\n float: left;\n padding: 5px;\n display: none;\n}\n.mo .notnull .propCheck {\n display: block;\n}\n.mo .propLabel:after,\n.mo .propInput:after,\n.mo .objEdit:after {\n content: \"\";\n display: table;\n}\n.mo .objEdit {\n display: block;\n width: 100%;\n /* background-color: rgba(0,0,0,0.02); */\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #f1eee6; */\n background-color: #FEFDFC;\n padding: 2px;\n}\n.mo .label.notused {\n display: none;\n font-size: 50%;\n color: #808080;\n}\n.mo .label.notused:before {\n content: \"[[[\";\n}\n.mo .label.notused:after {\n content: \"]]]\";\n}\n.mo .objLabel.level2 {\n color: rgba(255, 255, 255, 0.7);\n float: left;\n position: absolute;\n display: none;\n}\n.mo .objLabel.level3 {\n color: rgba(255, 255, 255, 0.4);\n float: left;\n position: absolute;\n top: 1em;\n display: none;\n}\n.mo .objEdit.level1 {\n /* border-bottom: 2px solid #CCC; */\n padding-top: 4px;\n padding-bottom: 2px;\n margin-bottom: 3px;\n /* padding: 2px; */\n}\n.mo .objLabel.level1 {\n color: black;\n display: block;\n /* display: none; */\n}\n.mo #toolstyles .objLabel.level1,\n.mo #tooltheme .objLabel.level1 {\n padding-left: 60px;\n}\n.mo .objLabel {\n text-transform: uppercase;\n border-bottom: 3px solid #D2CBB1;\n color: #333332;\n display: block;\n margin: -4px -2px 6px;\n padding: 5px;\n border-radius: 6px 6px 0 0;\n}\n.mo .objEdit.level0 {\n padding: 0px 1px;\n margin-top: 12px;\n}\n.mo .objLabel.level0 {\n display: block;\n color: #333332;\n background-color: #FEFDFC;\n font-weight: bold;\n font-size: 90%;\n border-bottom: 3px solid #333332;\n border-radius: 0;\n padding: 3px 10px;\n margin: 0px -7px 8px -7px;\n}\n.mo .supportsCustomStyles .objLabel.level0 {\n margin-right: 70px;\n}\n.mo .objEdit.level-1 {\n padding: 0 15px;\n overflow: auto;\n height: 95%;\n background-color: #FEFDFC;\n border-radius: 6px;\n}\n.mo .objEdit {\n position: relative;\n}\n.mo .objEdit.level1 {\n margin-top: 15px;\n}\n.mo .objPreview {\n width: 50px;\n height: 50px;\n border-radius: 100%;\n position: absolute;\n overflow: hidden;\n border: 2px solid #D2CBB1;\n top: -11px;\n left: 5px;\n}\n.mo .objPreview > div {\n position: absolute;\n bottom: 20%;\n left: 20%;\n}\n.mo .propEditor {\n /* border-bottom: 2px solid #CCC; */\n padding: 2px;\n}\n.mo .objEdit .propEditor {\n padding: 2px 0;\n border: 0;\n}\n.mo .propEditor.notnull {\n font-weight: bold;\n /* background-color: #FFFF80; */\n}\n.mo .propEditor.notnull input,\n.mo .propEditor.notnull select {\n font-weight: bold;\n}\n.mo .propEditor.notnull input[type=checkbox] {\n font-weight: normal;\n}\n.mo .propInput {\n position: relative;\n}\n.mo .propInput .colorPicker {\n padding-right: 30px;\n}\n.mo .propInput .data-color input[type=text] {\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n background-color: transparent;\n border-color: rgba(51, 51, 50, 0.2);\n box-shadow: none;\n border-style: dashed;\n}\n.mo .propInput .data-color input[type=text]:hover,\n.mo .propInput .data-color input[type=text]:focus {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n font-size: 90%;\n font-family: monospace;\n width: 5.5em;\n margin: 0;\n margin-left: 85px;\n /*\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: @mosaico-button-border-color;\n border-style: solid;\n */\n}\n.mo .propInput .data-color input[type=text]:hover:focus,\n.mo .propInput .data-color input[type=text]:focus:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .data-color input[type=text]:hover.inline,\n.mo .propInput .data-color input[type=text]:focus.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer {\n position: absolute;\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n margin: 0;\n z-index: 5;\n left: 0px;\n top: 0px;\n width: 80px;\n height: 30px;\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .evo-pointer:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n.mo .propInput .evo-pointer.inline {\n margin-right: 0.5em;\n width: auto;\n}\n.mo .propInput .evo-pointer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n font-family: FontAwesome;\n content: \"\\f0d7\";\n font-weight: normal;\n border-left: 1px solid rgba(254, 253, 252, 0.5) !important;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n line-height: 30px;\n width: 28px;\n padding: 0 8px;\n margin: 0;\n}\nli .mo .propInput .evo-pointer:before {\n color: #FEFDFC;\n}\n.mo .propInput .evo-pointer:before img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n.mo .propInput .evo-pointer:before:hover,\n.mo .propInput .evo-pointer:before.pressed,\n.mo .propInput .evo-pointer:before.selected {\n text-decoration: none;\n background-color: #191919;\n}\n.mo .propInput .evo-pointer:before.disabled {\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.disabled a,\n.mo .propInput .evo-pointer:before.disabled .link {\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n.mo .propInput .evo-pointer:before.inline {\n margin: 0 7px 0 0;\n}\n.mo .propInput .evo-pointer:before.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n.mo .propInput .evo-pointer:before.primary:hover,\n.mo .propInput .evo-pointer:before.primary.pressed,\n.mo .propInput .evo-pointer:before.primary.selected {\n background-color: #69010a;\n}\n.mo .propInput .evo-pointer:before.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n.mo .propInput .evo-pointer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n.mo .propInput .evo-pointer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n.mo .propInput .evo-pointer:before.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n.mo .objEdit input[type=checkbox] {\n display: none;\n /* , &:checked + .checkbox-replacer:before */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer {\n width: 1.28571429em;\n display: block;\n text-align: center;\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n.mo .objEdit input[type=checkbox]:checked + .checkbox-replacer:before {\n content: '\\f205';\n /* '\\f096'; */\n}\n.mo .objEdit input[type=checkbox] + .checkbox-replacer:before {\n font-size: 150%;\n text-align: center;\n content: '\\f204';\n /* '\\f14a'; */\n}\n.mo .propCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f041\";\n /* tondo con punto '\\f192';*/\n /* '\\f140'; */\n /* '\\f14a'; */\n content: \"\\f1b2\";\n /* cubo */\n font-size: 14px;\n opacity: 1;\n}\n.mo .propCheck input[type=checkbox] + .checkbox-replacer:before {\n content: '\\f0ac';\n /* asterisco \"\\f069\"; */\n /* '\\f096'; */\n content: \"\\f1b3\";\n /* cubi */\n font-size: 14px;\n opacity: 0.8;\n}\n.mo .propInput .ui-spinner {\n width: 100%;\n margin: 0;\n}\n.mo .propInput .ui-spinner .ui-spinner-input {\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n}\n.mo .propInput .ui-spinner .ui-state-default .ui-icon.fa,\n.mo .propInput .ui-spinner .ui-widget-content .ui-icon.fa {\n background-image: none;\n font-size: 10px;\n top: 9px;\n}\n.mo .propLabel[title] {\n text-decoration: underline;\n cursor: help;\n}\n.mo .noSelectedBlock,\n.mo .customStyleHelp,\n.mo .objEmpty,\n.mo .galleryEmpty,\n.mo .blockDescription {\n padding: 1em;\n margin-bottom: 0.5em;\n background-color: #f1eee6;\n border-radius: 7px;\n box-shadow: none;\n color: #4F4F4F;\n}\n.mo .customStyleHelp,\n.mo .objEmpty {\n margin-bottom: 1em;\n}\n.mo .evo-pop {\n right: 0;\n width: auto;\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n border-width: 0;\n padding: 3px;\n}\n.mo .evo-pop .evo-palette td {\n padding: 12px;\n border: none;\n}\n.mo .evo-pop .evo-palette th,\n.mo .evo-pop .evo-palette-ie th,\n.mo .evo-pop .evo-palette2 th {\n border: none;\n}\n.mo .evo-pop .evo-palette,\n.mo .evo-pop .evo-palette-ie,\n.mo .evo-pop .evo-palette2 {\n border-spacing: 0px 0px;\n margin: 0 auto;\n width: auto;\n border: none;\n}\n.mo .evo-pop .evo-palette2 td {\n padding: 8px 9px;\n}\n.mo .evo-pop .evo-cHist div {\n padding: 12px;\n margin: 2px;\n}\n.mo .evo-pop .evo-color div {\n padding: 12px;\n margin: 2px;\n border-color: #c0c0c0;\n}\n.mo .evo-pop .evo-color {\n width: 120px;\n padding: 1px 3px 2px 4px;\n}\n.mo .evo-pop .evo-color span {\n font-size: 17px;\n margin: 5px 0 4px 4px;\n}\n.mo .evo-pop .evo-more {\n padding: 4px 5px;\n}\n.mo .evo-pop .evo-more a {\n margin-right: 1em;\n}\n/****************************************************************************************************************************\n * TOOLBAR\n ***************************************************************************************************************************/\n#toolbar {\n padding: 5px 10px;\n}\n#toolbar .button,\n#toolbar .ui-button,\n#toolbar .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#toolbar ul.top_right_links {\n float: right;\n}\n#toolbar ul.top_right_links .dropdown {\n margin: 0.2em 0 0 0;\n}\n@media (max-width: 1460px) {\n #toolbar label[for=previewFrameToggle] {\n display: none;\n }\n #toolbar .ui-button[for=showGallery] .ui-icon {\n margin-right: 0;\n }\n #toolbar .ui-button[for=showGallery] .ui-button-text {\n display: none;\n }\n}\n#toolbar .leftButtons {\n float: left;\n}\n#toolbar .rightButtons {\n float: right;\n}\n#toolbar #downloadForm {\n display: inline-block;\n}\n/****************************************************************************************************************************\n * TOOLBOX\n ***************************************************************************************************************************/\n#main-toolbox {\n /* while local-editing we always show the local editor */\n /* while global-editing show the global editor unless it is overwritten (not null) */\n}\n#main-toolbox > div,\n#main-toolbox > div > div {\n height: 100%;\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs {\n overflow: hidden;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n top: 40px;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 100;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav {\n font-size: 1.2em;\n padding: 0px 0px 0px 4px;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li {\n margin: 4px 4px 0 0;\n line-height: 37px;\n /*\n a {\n background-color: @mosaico-button-background-color;\n color: @mosaico-button-text-color;\n text-decoration: none;\n font-weight: bold;\n &:hover {\n background-color: @mosaico-button-background-color-hover;\n }\n }\n &.ui-tabs-active a {\n background-color: @mosaico-background-color;\n color: @mosaico-text-color;\n font-weight: bold;\n }\n */\n /*a:focus, a:-moz-focusring {\n outline: 0 none !important;\n }*/\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-nav li a {\n width: 100%;\n padding: 0 0.5em;\n}\n#main-toolbox #tooltabs.ui-tabs .ui-tabs-panel {\n margin: 0;\n padding: 0.7em;\n position: absolute;\n bottom: 4px;\n left: 4px;\n right: 4px;\n z-index: 100;\n background-color: #FEFDFC;\n}\n#main-toolbox .draggable-item {\n display: inline-block;\n}\n#main-toolbox .draggable {\n width: 100px;\n height: 100px;\n overflow: hidden;\n border: 2px solid black;\n z-index: 100;\n display: inline-block;\n}\n#main-toolbox .draggable-item .block .handle {\n cursor: move;\n z-index: 120;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 20px;\n right: 20px;\n}\n#main-toolbox .draggable-item {\n position: relative;\n}\n#main-toolbox .draggable-item .addblockbutton {\n z-index: 1000;\n position: absolute;\n bottom: 10px;\n right: 5px;\n display: none;\n}\n#main-toolbox .draggable-item .image,\n#main-toolbox .draggable-item .block img {\n box-shadow: 0 0 1px #808080;\n margin: 3px 0;\n}\n#main-toolbox .draggable-item:hover {\n transform: scale(1.05, 1.05);\n z-index: 10;\n position: relative;\n}\n#main-toolbox .draggable-item:hover .addblockbutton {\n display: block;\n}\n#main-toolbox .draggable-item:hover .image {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .draggable-item:hover .block img {\n box-shadow: 0 0 15px #808080;\n}\n#main-toolbox .blockType {\n display: none;\n}\n#main-toolbox .block-list {\n max-width: 346px;\n}\n#main-toolbox .block-list .draggable-item,\n#main-toolbox .block-list .draggable-item img {\n width: 100%;\n}\n#main-toolbox .objEdit.level1.selectable {\n position: relative;\n}\n#main-toolbox .objEdit.level1.selectable:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem:after {\n outline-color: transparent;\n border-color: #CC0000;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-toolbox .objEdit.level1.selectable:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-toolbox .objEdit.level1.selectable.selecteditem {\n z-index: 10;\n}\n#main-toolbox .objEdit.level1.selectable:hover {\n z-index: 11;\n}\n#main-toolbox .blockCheck {\n float: right;\n margin-top: -34px;\n /*\n border-radius: 5px;\n border: 1px solid @mosaico-input-border-color;\n .reverse & {\n background-color: @mosaico-button-background-color;\n }\n */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer {\n width: 56px;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n padding: 1px;\n display: block;\n float: left;\n font-size: 14px;\n line-height: 18px;\n width: 22px;\n opacity: 1;\n height: 18px;\n top: 0;\n left: 0;\n box-sizing: content-box;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after {\n content: \"\\f1b2\";\n /* cubo */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n content: \"\\f1b3\";\n /* cubi */\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n border: 1px solid transparent;\n height: auto;\n padding: 5px 7px;\n margin: 10px 0 10px 0;\n width: 100%;\n color: #333332;\n background: none #e4dfcf;\n border-radius: 5px;\n border-color: #333332;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;\n width: 22px;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n color: rgba(51, 51, 50, 0.5);\n padding: 2px;\n margin: -1px -2px;\n z-index: 0;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after:focus,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before:focus {\n border-color: #66AFE9;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);\n outline: 0 none;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before.inline {\n margin-right: 0.5em;\n width: auto;\n}\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:after {\n padding-left: 4px;\n padding-right: 2px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:before {\n padding-left: 2px;\n padding-right: 4px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n display: inline-block;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n cursor: pointer;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n text-align: center;\n font-weight: bold;\n font-weight: normal;\n min-height: 18px;\n line-height: 18px;\n padding: 4px;\n margin: -3px -2px;\n opacity: 1;\n z-index: 1;\n}\nli #main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after,\nli #main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before {\n color: #FEFDFC;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after img,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.selected {\n text-decoration: none;\n background-color: #191919;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled {\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled a,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled a,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled .link,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled .link {\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.disabled:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.inline,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.inline {\n margin: 0 7px 0 0;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary:hover,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.pressed,\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.primary.selected,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.primary.selected {\n background-color: #69010a;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.big .suffix_icon,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.with_button_dropdown_split.big,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-toolbox .blockCheck input[type=checkbox]:checked + .checkbox-replacer:after.loading,\n#main-toolbox .blockCheck input[type=checkbox] + .checkbox-replacer:before.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-toolbox .workLocal .propInput.global,\n#main-toolbox .workLocal .propInput.global * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.local.default,\n#main-toolbox .workGlobal .propInput.local.default * {\n display: none;\n}\n#main-toolbox .workGlobal .propInput.global.overridden,\n#main-toolbox .workGlobal .propInput.global.overridden * {\n display: none;\n}\n#main-toolbox .workGlobalContent .propInput.local,\n#main-toolbox .workGlobalContent .propInput.local * {\n display: none;\n}\n#main-toolbox .workGlobalContent .blockCheck {\n display: none;\n}\n#main-toolbox .workGlobalContent .objLabel.level0 {\n margin-right: 0;\n}\n#main-toolbox .customStyled span {\n display: none;\n}\n#main-toolbox .customStyled:before {\n content: \" \";\n}\n#main-toolbox .customStyled:after {\n visibility: visible;\n font-family: FontAwesome;\n color: #333332;\n position: relative;\n top: 1px;\n left: -2px;\n display: inline-block;\n content: \"\\f1b2\";\n font-size: 14px;\n opacity: 1;\n}\n#main-toolbox #tooldebug {\n overflow: auto;\n}\n.mo-standalone #main-toolbox #tooltabs.ui-tabs > .ui-tabs-nav {\n padding-left: 40px;\n}\n/****************************************************************************************************************************\n * IMAGES GALLERY\n ***************************************************************************************************************************/\n#toolimagesgallery {\n padding: 10px;\n}\n@keyframes slideright {\n 0% {\n left: -450px;\n }\n 100% {\n left: 0;\n }\n}\n@keyframes slideleft {\n 0% {\n left: 0;\n }\n 100% {\n left: -450px;\n }\n}\n#toolimages .pane {\n text-align: center;\n}\n#toolimages .loadbutton,\n#toolimages .galleryPager {\n margin: 0.5em;\n}\n.slidebar {\n z-index: 200;\n position: absolute;\n top: 0;\n width: 397px;\n left: 0;\n animation: slideright 0.2s ease-out 0s 1;\n border-radius: 0;\n background-color: #FEFDFC;\n box-shadow: 1px 0px 3px #808080;\n}\n.slidebar .close {\n float: right;\n visibility: hidden;\n cursor: pointer;\n width: 24px;\n display: block;\n}\n.slidebar .close:before {\n visibility: visible;\n font-size: 24px;\n font-family: FontAwesome;\n content: '\\f00d';\n position: relative;\n top: 0px;\n right: 0px;\n width: 24px;\n height: 24px;\n}\n.slidebar .pane {\n background-color: #FEFDFC;\n border-radius: 5px;\n margin: 5px;\n padding: 5px;\n}\n.slidebar .pane-title {\n padding: 5px;\n display: block;\n}\n.slidebar.hidden {\n left: -450px;\n animation: slideleft 0.2s ease-out 0s 1;\n}\n#toolimagestab {\n padding: 0.2em;\n}\n#toolimagestab ul.ui-tabs-nav {\n padding: 0;\n}\n#toolimagestab li.ui-state-active a {\n background: none repeat scroll 0% 0% #FFF;\n}\n#toolimagestab .ui-tabs-panel {\n display: block;\n margin-top: 0;\n padding: 15px 18px;\n background: none repeat scroll 0% 0% #FFF;\n border: 1px solid #D2CBB1;\n border-width: 0px 1px 1px;\n}\n/****************************************************************************************************************************\n * PREVIEW\n ***************************************************************************************************************************/\n#main-preview .button,\n#main-preview .ui-button,\n#main-preview .button_dropdown_split {\n margin-top: 0;\n margin-bottom: 0;\n}\n#main-preview #preview-toolbar {\n padding: 3px 10px;\n text-align: center;\n position: absolute;\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 200;\n}\n#main-preview #frame-container {\n position: absolute;\n top: 40px;\n bottom: 40px;\n left: 0;\n right: 0;\n background-color: #FEFDFC;\n box-shadow: inset 0px 0px 10px #808080;\n}\n#frame-container > iframe {\n border: 0;\n box-sizing: border-box;\n padding: 0 6px;\n width: 100%;\n height: 100%;\n overflow: auto;\n transform-origin: 0 0;\n transform: scale(1);\n}\n#frame-container.desktop > iframe {\n padding: 12px;\n width: 200%;\n height: 200%;\n transform: scale(0.5);\n}\n#frame-container.large > iframe {\n padding: 15px;\n width: 250%;\n height: 250%;\n transform: scale(0.4);\n}\n/*\nSafari Hack: Safari create reflow glitches due to a webkit bug with border-spacing (cellspacing)\nwhen the template being edited makes use of horizontal border spacing.\n See: https://github.com/voidlabs/mosaico/issues/53\nThe following are terrible hacks to make this happens less often.\n\nIt seems something similar happens to Chrome, too;\n See: https://github.com/voidlabs/mosaico/issues/85\nSo we broadened the application of this hack to include Chrome.\n\n2019/02/19 Update: since Mozilla Firefox 63 (Sept 2018), Mozilla implemented \n\"-webkit-min-device-pixel-ratio\", so this hack is currently being executed also by Firefox:\n See: https://developer.mozilla.org/en-US/docs/Web/CSS/@media\nWe have no reports of side effects on Firefox resulting from this code being enabled.\n*/\n@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) { @media {\n #main-wysiwyg-area table:not(.img-wysiwyg), #main-wysiwyg-area .selected table:not(.img-wysiwyg):hover {\n position: relative;\n }\n #main-wysiwyg-area table:not(.img-wysiwyg):hover, #main-wysiwyg-area .selected table:not(.img-wysiwyg) {\n position: static;\n }\n}}\n/*\nAfter enabling the dashed outlines for editable contents we had reports from webkit based\nbrowsers (Safari) users of flickering similar to the previous issues.\n See: https://github.com/voidlabs/mosaico/issues/430\nPlease note there is no space between \"and\" and the following bracket because we only\nwant to tarket webkit (Safari) and not blink (Chrome).\n*/\n@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media {\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:not(.selecteditem):not(:hover):after,\n #main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:not(.selecteditem):not(:hover) .mo-imgselectionhelper {\n \tvisibility: hidden !important;\n \tz-index: -1 !important;\n \topacity: 1 !important;\n \tborder-width: 0px 0px !important;\n border-style: solid solid !important;\n }\n\n}}\n\n#main-edit-area .editable {\n position: relative;\n}\n/* minimum size for empty dropzones */\n#main-edit-area .sortable-blocks-edit.empty {\n min-height: 200px;\n height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 20px 30px;\n border: 2px dashed currentcolor;\n border-radius: 20px;\n animation: border-color-selection-pulsate 4s infinite;\n position: relative;\n}\n#main-edit-area .sortable-blocks-edit.empty:after {\n content: attr(data-empty-content);\n font-size: 21.76px;\n font-weight: normal;\n text-decoration: none;\n font-family: \"trebuchet ms\", arial, sans-serif;\n}\n#main-edit-area .isdragging .sortable-blocks-edit.empty:after {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n height: auto;\n bottom: -14px;\n}\n@keyframes pulse {\n 0% {\n left: -10px;\n right: -10px;\n opacity: 0.8;\n }\n 100% {\n left: -30px;\n right: -30px;\n opacity: 0;\n }\n}\n@keyframes slidein {\n 0% {\n transform: scale(1.5, 1.5);\n opacity: 0;\n }\n 100% {\n transform: scale(1, 1);\n opacity: 1;\n }\n}\n@keyframes slidein2 {\n 0% {\n margin-left: -30%;\n margin-right: 30%;\n opacity: 0;\n }\n 100% {\n margin-left: 0;\n margin-right: 0;\n opacity: 1;\n }\n}\n#main-edit-area .sortable-placeholder {\n animation: slidein 0.2s linear 0s 1;\n}\n#main-edit-area .sortable-placeholder:after {\n content: \"\";\n position: absolute;\n top: -10px;\n left: -10px;\n right: -10px;\n bottom: -10px;\n border: 10px solid red;\n border-color: rgba(255, 0, 0, 0.1) red rgba(255, 0, 0, 0.1) red;\n z-index: 50;\n opacity: 0.8;\n}\n#main-edit-area .img-wysiwyg {\n position: relative;\n /* questo dovrebbe avere lo stesso stile dell'immagine rimpiazzata! */\n /* display: inline-block; */\n display: block;\n width: auto;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg:before {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n line-height: 45px;\n height: auto;\n top: -10px;\n bottom: -10px;\n}\n#main-edit-area .isdraggingimg .ui-droppable.img-wysiwyg.ui-state-draghover:before {\n background-color: rgba(204, 0, 0, 0.8);\n animation: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder) + div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):first-child:before,\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n content: attr(data-drop-content);\n text-align: center;\n line-height: 24px;\n position: absolute;\n animation: droppable-pulsate 1s ease-in-out infinite alternate;\n top: -14px;\n left: -10px;\n height: 24px;\n background-color: rgba(204, 0, 0, 0.6);\n background-clip: content-box;\n color: white;\n right: -10px;\n border: 2px dashed #CC0000;\n z-index: 10;\n pointer-events: none;\n}\n#main-edit-area .isdragging .sortable-blocks-edit > div:not(.sortable-placeholder):not(.ui-sortable-helper):not(.ui-draggable-dragging):last-child:after {\n bottom: -20px;\n top: auto;\n}\n#main-edit-area .editable.sortable-placeholder:hover .tools {\n visibility: hidden;\n}\n#main-edit-area .editable:hover .tools {\n visibility: visible;\n}\n#main-edit-area .ui-sortable-helper > *,\n#main-edit-area .ui-sortable-helper .tools > * {\n opacity: 0.3;\n}\n#main-edit-area .ui-sortable-helper .tools,\n#main-edit-area .ui-sortable-helper .tools .handle {\n opacity: 1;\n}\n#main-edit-area .tool {\n font-size: 1em;\n line-height: normal;\n min-height: 30px;\n min-height: 20px \\9;\n vertical-align: middle;\n background-color: #333332;\n border: 1px solid #333332;\n color: #FEFDFC;\n border-radius: 5px;\n padding: 5px 7px;\n margin: 10px 7px 10px 0;\n text-decoration: none;\n white-space: nowrap;\n font-weight: bold;\n display: inline-block;\n text-align: center;\n width: 25px;\n height: 25px;\n font-size: 20px;\n padding: 3px;\n padding-bottom: 2px;\n margin: 0;\n min-height: 25px;\n box-shadow: 0 0 5px #ffffff;\n cursor: pointer;\n}\nli #main-edit-area .tool {\n color: #FEFDFC;\n}\n#main-edit-area .tool img {\n vertical-align: middle;\n margin: 0 0.2em;\n}\n#main-edit-area .tool:hover,\n#main-edit-area .tool.pressed,\n#main-edit-area .tool.selected {\n text-decoration: none;\n background-color: #191919;\n}\n#main-edit-area .tool.disabled {\n color: #666665;\n}\n#main-edit-area .tool.disabled a,\n#main-edit-area .tool.disabled .link {\n color: #666665;\n}\n#main-edit-area .tool.disabled:hover {\n background-color: #333332;\n border: 1px solid #333332;\n color: #666665;\n}\n#main-edit-area .tool.inline {\n margin: 0 7px 0 0;\n}\n#main-edit-area .tool.primary {\n color: #FEFDFC;\n background-color: #9C010F;\n border-color: #9C010F;\n}\n#main-edit-area .tool.primary:hover,\n#main-edit-area .tool.primary.pressed,\n#main-edit-area .tool.primary.selected {\n background-color: #69010a;\n}\n#main-edit-area .tool.big {\n font-size: 1.5em;\n border-radius: 7px;\n padding: 7.5px 10.5px;\n}\n#main-edit-area .tool.big .suffix_icon {\n font-size: 55%;\n vertical-align: middle;\n}\n#main-edit-area .tool.with_button_dropdown_split {\n padding-right: 1.2em;\n}\n#main-edit-area .tool.with_button_dropdown_split.big {\n padding-right: 1.8em;\n}\n#main-edit-area .tool.loading {\n opacity: 0.5;\n background-image: none;\n /* interesting CONTENT REPLACING alternative\n position: relative;\n color: transparent;\n background: none;\n background-color: lighten(@button-background-color, 40%);\n border-color: lighten(@button-background-color, 40%);\n &:after {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n padding: @input-padding-v @input-padding-h;\n color: @background-color;\n content: '...';\n }*/\n}\n#main-edit-area .tool input.fileupload {\n padding-top: 50px;\n}\n#main-edit-area .tool:hover {\n background-color: #191919;\n}\n#main-edit-area .tools .tool.handle {\n float: left;\n margin-left: 16px;\n cursor: move;\n}\n#main-edit-area .tools .tool.moveup,\n#main-edit-area .tools .tool.movedown {\n float: left;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete,\n#main-edit-area .tools .tool.clone {\n float: right;\n margin-left: 3px;\n}\n#main-edit-area .tools .tool.delete {\n margin-right: 16px;\n}\n#main-edit-area .midtools {\n visibility: hidden;\n z-index: 30;\n position: absolute;\n bottom: 16px;\n text-align: left;\n}\n#main-edit-area .img-wysiwyg:hover .midtools {\n visibility: visible;\n}\n#main-edit-area .uploading .midtools {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileuploadtext {\n visibility: hidden !important;\n}\n#main-edit-area .uploading .fileupload.withfile {\n visibility: hidden;\n}\n#main-edit-area .img-wysiwyg .img-size {\n visibility: hidden;\n position: absolute;\n top: 0;\n right: 0;\n padding: 2px;\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 12px;\n background-color: rgba(128, 128, 128, 0.5);\n color: white;\n}\n#main-edit-area .img-wysiwyg:hover .img-size {\n visibility: visible;\n}\n#main-edit-area .midtools {\n margin-left: 4px;\n}\n#main-edit-area .midtools .tool {\n margin-left: 4px;\n}\n#main-edit-area .tools {\n position: absolute;\n visibility: hidden;\n margin: 0;\n top: -16px;\n left: 0;\n right: 0;\n height: 1px;\n z-index: 20;\n text-align: center;\n /* width: 100%;*/\n /* padding: 0.25em; */\n}\n#main-wysiwyg-area {\n backface-visibility: hidden;\n background-color: white;\n}\n#main-edit-area,\n#main-toolbox,\n#main-preview {\n position: absolute;\n top: 0;\n bottom: 0;\n}\n@keyframes opacityAnimation {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 0.3;\n }\n 100% {\n opacity: 0.6;\n }\n}\n#main-wysiwyg-area a[href] {\n cursor: default !important;\n}\n#main-wysiwyg-area a[contenteditable] {\n cursor: text !important;\n}\n#main-wysiwyg-area .wysiwyg-loading {\n pointer-events: none;\n animation: opacityAnimation 2s infinite;\n}\n#main-wysiwyg-area span[contenteditable],\n#main-wysiwyg-area a[contenteditable],\n#main-wysiwyg-area b[contenteditable],\n#main-wysiwyg-area i[contenteditable],\n#main-wysiwyg-area cite[contenteditable],\n#main-wysiwyg-area code[contenteditable],\n#main-wysiwyg-area em[contenteditable],\n#main-wysiwyg-area label[contenteditable],\n#main-wysiwyg-area small[contenteditable],\n#main-wysiwyg-area strong[contenteditable],\n#main-wysiwyg-area sub[contenteditable],\n#main-wysiwyg-area sup[contenteditable],\n#main-wysiwyg-area q[contenteditable] {\n display: inline-block;\n}\n#main-wysiwyg-area [contenteditable] {\n min-width: 1em;\n}\n#main-wysiwyg-area [contenteditable]:empty::before {\n content: \"\\2063\";\n display: inline-block;\n position: relative;\n}\n#main-edit-area .mce-edit-focus {\n outline: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mo-blockselectionhelper {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -12px;\n right: -12px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 10px;\n border-right-width: 10px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected .mo-blockselectionhelper {\n outline-color: transparent;\n border-color: #CC0000;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mo-blockselectionhelper {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable.selected {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .mce-content-body:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .mce-content-body:hover:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable .selectable-img .mo-imgselectionhelper:before {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px dashed transparent;\n opacity: 0.3;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img .mo-imgselectionhelper:before {\n border-color: currentcolor;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .editable:hover .selectable-img:hover .mo-imgselectionhelper:before {\n border-color: transparent;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body {\n position: relative;\n cursor: text;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem:after {\n outline-color: transparent;\n border-color: #CC0000;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .mce-content-body:hover {\n z-index: 11;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img {\n position: relative;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img .mo-imgselectionhelper:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -3px;\n bottom: -3px;\n left: -7px;\n right: -7px;\n border: 1px solid transparent;\n border-width: 0;\n border-left-width: 5px;\n border-right-width: 5px;\n outline: 1px solid transparent;\n pointer-events: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem .mo-imgselectionhelper:after {\n outline-color: transparent;\n border-color: #CC0000;\n border-style: dashed solid;\n animation: border-color-selection-pulsate 4s infinite;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover .mo-imgselectionhelper:after {\n outline-color: currentcolor;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n animation: none;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img.selecteditem {\n z-index: 10;\n}\n#main-edit-area #main-wysiwyg-area:not(.isdragging):not(.isdraggingimg) .selectable-img:hover {\n z-index: 11;\n}\n#main-edit-area .textMiddle {\n text-shadow: none !important;\n font-weight: bold;\n background-color: rgba(255, 255, 255, 0.2);\n /* border-radius: 5px; */\n padding: 3px;\n position: absolute;\n top: 2px;\n left: 2px;\n right: 2px;\n}\n#main-wysiwyg-area replacedbody {\n position: relative;\n display: block;\n min-height: 100%;\n max-width: 700px;\n margin: 0 auto !important;\n padding: 16px 20px !important;\n}\n@media (min-width: 1400px) {\n #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (min-width: 1600px) {\n #main-wysiwyg-area replacedbody {\n max-width: 900px;\n }\n}\n@media (max-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 700px;\n }\n}\n@media (min-width: 1700px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody {\n max-width: 800px;\n }\n}\n@media (max-width: 1400px) {\n .withPreviewFrame #main-wysiwyg-area replacedbody:before,\n .withPreviewFrame #main-wysiwyg-area replacedbody:after {\n display: none;\n }\n}\n@media (min-width: 1100px) {\n #main-wysiwyg-area replacedbody:before,\n #main-wysiwyg-area replacedbody:after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 40px;\n bottom: 0;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0) 19%, white 21%, white 79%, rgba(255, 255, 255, 0) 81%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 28%, white 28%, white 72%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 0) 75%), linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%), linear-gradient(-135deg, rgba(255, 255, 255, 0) 25%, #CCC 25%, white 28%, white 72%, #CCC 75%, rgba(255, 255, 255, 0) 75%);\n background-size: 80px 20px;\n background-position: left -40px top 0;\n z-index: 1;\n }\n #main-wysiwyg-area replacedbody:after {\n left: auto;\n right: 0;\n background-position: left 0px top 0;\n }\n}\n.mce-toolbar-grp.mce-panel .mce-btn-group {\n box-shadow: 0 0 5px #ffffff;\n}\n/**************************************************************************************************************************\n * TINYMCE / MOXIEMANAGER HTML ELEMENTS\n *************************************************************************************************************************/\n/**\n * moxiemanager window\n */\n.moxman-container.moxman-window,\n.mce-window {\n border: none;\n border-top-left-radius: 7px;\n border-top-right-radius: 7px;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n overflow: hidden;\n}\n.moxman-window .moxman-window-head,\n.mce-window .moxman-window-head,\n.moxman-window .mce-window-head,\n.mce-window .mce-window-head {\n background: none #D2CBB1;\n font-size: 1.1em;\n}\n.moxman-window .moxman-window-head .moxman-title,\n.mce-window .moxman-window-head .moxman-title,\n.moxman-window .mce-window-head .moxman-title,\n.mce-window .mce-window-head .moxman-title,\n.moxman-window .moxman-window-head .mce-title,\n.mce-window .moxman-window-head .mce-title,\n.moxman-window .mce-window-head .mce-title,\n.mce-window .mce-window-head .mce-title {\n color: #333332;\n}\n.moxman-window .moxman-window-head button.moxman-close,\n.mce-window .moxman-window-head button.moxman-close,\n.moxman-window .mce-window-head button.moxman-close,\n.mce-window .mce-window-head button.moxman-close,\n.moxman-window .moxman-window-head button.mce-close,\n.mce-window .moxman-window-head button.mce-close,\n.moxman-window .mce-window-head button.mce-close,\n.mce-window .mce-window-head button.mce-close {\n font-size: 1.6em;\n top: 6px;\n}\n.moxman-window .moxman-window-head button.moxman-close:hover,\n.mce-window .moxman-window-head button.moxman-close:hover,\n.moxman-window .mce-window-head button.moxman-close:hover,\n.mce-window .mce-window-head button.moxman-close:hover,\n.moxman-window .moxman-window-head button.mce-close:hover,\n.mce-window .moxman-window-head button.mce-close:hover,\n.moxman-window .mce-window-head button.mce-close:hover,\n.mce-window .mce-window-head button.mce-close:hover {\n color: #333332;\n}\n.moxman-window .moxman-panel,\n.mce-window .moxman-panel,\n.moxman-window .mce-panel,\n.mce-window .mce-panel {\n background-color: #FEFDFC;\n}\n.moxman-window .moxman-container-body .moxman-panel.moxman-first,\n.mce-window .moxman-container-body .moxman-panel.moxman-first,\n.moxman-window .mce-container-body .moxman-panel.moxman-first,\n.mce-window .mce-container-body .moxman-panel.moxman-first,\n.moxman-window .moxman-container-body .mce-panel.mce-first,\n.mce-window .moxman-container-body .mce-panel.mce-first,\n.moxman-window .mce-container-body .mce-panel.mce-first,\n.mce-window .mce-container-body .mce-panel.mce-first {\n border-bottom: none;\n}\n.moxman-window div.moxman-filelist-head,\n.mce-window div.moxman-filelist-head {\n background-color: #FEFDFC;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist,\n.mce-window .moxman-filelist {\n border-top: 2px solid #f1e4d6;\n /* HIDE CHECKBOX: .moxman-filelist-body td:first-child, .moxman-filelist-head td:first-child {\n display: none;\n }*/\n}\n.moxman-window .moxman-filelist .moxman-filelist-row td,\n.mce-window .moxman-filelist .moxman-filelist-row td {\n background-color: #f1eee6;\n border-bottom: none;\n}\n.moxman-window .moxman-filelist .moxman-filelist-odd td,\n.mce-window .moxman-filelist .moxman-filelist-odd td {\n background-color: #FEFDFC;\n}\n.moxman-window .moxman-filelist tr.moxman-checked,\n.mce-window .moxman-filelist tr.moxman-checked,\n.moxman-window .moxman-filelist tr.moxman-checked td,\n.mce-window .moxman-filelist tr.moxman-checked td {\n background-color: #FFFF90;\n color: #333332;\n}\n.moxman-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.mce-window .moxman-filelist tr.moxman-checked td div .moxman-txt,\n.moxman-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked i.moxman-ico,\n.moxman-window .moxman-filelist tr.moxman-checked td i.moxman-ico,\n.mce-window .moxman-filelist tr.moxman-checked td i.moxman-ico {\n color: #333332;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-down,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-down {\n border-top-color: #333332;\n}\n.moxman-window .moxman-filelist .moxman-filelist-head-item .moxman-up,\n.mce-window .moxman-filelist .moxman-filelist-head-item .moxman-up {\n border-bottom-color: #333332;\n}\n.moxman-window .moxman-thumbnailview,\n.mce-window .moxman-thumbnailview {\n border-top: 2px solid #f1e4d6;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb,\n.mce-window .moxman-thumbnailview .moxman-thumb {\n border: 1px solid #f1eee6;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb:hover,\n.mce-window .moxman-thumbnailview .moxman-thumb:hover,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked {\n outline: 2px solid #FFFF90;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info {\n background-color: #f1eee6;\n color: #333332;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox {\n background-color: #FEFDFC;\n color: #333332;\n border: 1px solid #333332;\n}\n.moxman-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-active .moxman-info i.moxman-i-checkbox:before,\n.moxman-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before,\n.mce-window .moxman-thumbnailview .moxman-thumb.moxman-checked .moxman-info i.moxman-i-checkbox:before {\n color: #333332;\n}\n.moxman-window i.moxman-i-checkbox,\n.mce-window i.moxman-i-checkbox,\n.moxman-window i.mce-i-checkbox,\n.mce-window i.mce-i-checkbox {\n background-color: transparent;\n}\n.moxman-window .mce-listbox,\n.mce-window .mce-listbox,\n.moxman-window .mce-listbox:hover,\n.mce-window .mce-listbox:hover,\n.moxman-window .mce-listbox.mce-active,\n.mce-window .mce-listbox.mce-active,\n.moxman-window .mce-listbox.mce-active:hover,\n.mce-window .mce-listbox.mce-active:hover,\n.moxman-window .mce-listbox:focus,\n.mce-window .mce-listbox:focus {\n background-color: transparent;\n text-shadow: none;\n border: 1px solid #C5C5C5;\n}\n.moxman-window .mce-listbox span,\n.mce-window .mce-listbox span,\n.moxman-window .mce-listbox:hover span,\n.mce-window .mce-listbox:hover span,\n.moxman-window .mce-listbox.mce-active span,\n.mce-window .mce-listbox.mce-active span,\n.moxman-window .mce-listbox.mce-active:hover span,\n.mce-window .mce-listbox.mce-active:hover span,\n.moxman-window .mce-listbox:focus span,\n.mce-window .mce-listbox:focus span,\n.moxman-window .mce-listbox .mce-ico,\n.mce-window .mce-listbox .mce-ico,\n.moxman-window .mce-listbox:hover .mce-ico,\n.mce-window .mce-listbox:hover .mce-ico,\n.moxman-window .mce-listbox.mce-active .mce-ico,\n.mce-window .mce-listbox.mce-active .mce-ico,\n.moxman-window .mce-listbox.mce-active:hover .mce-ico,\n.mce-window .mce-listbox.mce-active:hover .mce-ico,\n.moxman-window .mce-listbox:focus .mce-ico,\n.mce-window .mce-listbox:focus .mce-ico {\n color: #333332;\n}\n.moxman-window .mce-listbox i.mce-caret,\n.mce-window .mce-listbox i.mce-caret,\n.moxman-window .mce-listbox:hover i.mce-caret,\n.mce-window .mce-listbox:hover i.mce-caret,\n.moxman-window .mce-listbox.mce-active i.mce-caret,\n.mce-window .mce-listbox.mce-active i.mce-caret,\n.moxman-window .mce-listbox.mce-active:hover i.mce-caret,\n.mce-window .mce-listbox.mce-active:hover i.mce-caret,\n.moxman-window .mce-listbox:focus i.mce-caret,\n.mce-window .mce-listbox:focus i.mce-caret {\n border-top-color: #333332;\n}\n.moxman-window .moxman-btn i,\n.mce-window .moxman-btn i,\n.moxman-window .mce-btn i,\n.mce-window .mce-btn i {\n text-shadow: none;\n}\n.moxman-window input,\n.mce-window input,\n.moxman-window select,\n.mce-window select,\n.moxman-window textarea,\n.mce-window textarea,\n.moxman-window button,\n.mce-window button {\n max-width: none;\n}\n.moxman-tooltip,\n.mce-tooltip {\n z-index: 500000 !important;\n}\n.mce-toolbar-grp.mce-panel,\n.mce-tinymce-inline {\n background-color: transparent !important;\n border-color: transparent !important;\n}\n.mce-menu,\n.moxman-menu {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n}\nbody.moxman-v2 .moxman-btn {\n border: none;\n background-color: transparent;\n}\nbody.moxman-v2 .moxman-btn button {\n background-color: #333332;\n color: #FEFDFC;\n border: 1px solid #333332;\n border-radius: 5px;\n}\nbody.moxman-v2 .moxman-btn button i {\n color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn button .moxman-caret {\n border-top-color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn.moxman-active button {\n background-color: #191919;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button {\n color: #FEFDFC;\n background-color: #9C010F;\n border: 1px solid #9C010F;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button i {\n color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-btn.moxman-primary button .moxman-caret {\n border-top-color: #FEFDFC;\n}\nbody.moxman-v2 .moxman-combobox .moxman-textbox {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n}\nbody.moxman-v2 .moxman-combobox .moxman-btn button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n@keyframes border-color-selection-pulsate {\n 0% {\n border-color: currentcolor;\n }\n 40% {\n border-color: #CC0000;\n }\n 60% {\n border-color: #CC0000;\n }\n 100% {\n border-color: currentcolor;\n }\n}\n@keyframes droppable-pulsate {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0.1;\n }\n}\n/****************************************************************************************************************************\n * PAGE SETTINGS\n * Base styles / reset, full page layout\n ***************************************************************************************************************************/\nbody {\n background-color: #D2CBB1;\n margin: 0;\n overflow: hidden;\n /* otherwsie TinyMCE menues sometimes makes scrollbars show in main body */\n}\ninput,\nselect,\ntextarea,\nbutton {\n font-family: inherit;\n font-size: inherit;\n max-width: 100%;\n}\n* {\n user-select: none;\n}\ninput,\ntextarea,\n[contenteditable],\n[contenteditable] *,\n.evo-color span {\n user-select: text;\n}\na[disabledhref] {\n color: #06C;\n color: -webkit-link;\n text-decoration: underline;\n cursor: auto;\n}\na[disabledhref]:-moz-read-write {\n text-decoration: underline -moz-anchor-decoration;\n color: -moz-hyperlinktext;\n}\n/****************************************************************************************************************************\n * LAYOUT\n ***************************************************************************************************************************/\n#page {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area {\n left: 0;\n right: 0;\n overflow: hidden;\n}\n#main-edit-area,\n#toolbar {\n min-width: 600px;\n}\n#toolbar {\n z-index: 110 !important;\n background-color: #D2CBB1;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n}\n#main-toolbox {\n backface-visibility: hidden;\n display: none;\n left: 0;\n width: 400px;\n box-shadow: 0 0 10px #808080, 0 0 5px #808080;\n}\n.withToolbox #main-toolbox {\n display: block;\n}\n.withToolbox #main-edit-area,\n.withToolbox #toolbar {\n left: 400px;\n}\n#main-preview {\n backface-visibility: hidden;\n display: none;\n right: 0;\n width: 340px;\n overflow: hidden;\n}\n.withPreviewFrame #main-preview {\n display: block;\n}\n.withPreviewFrame #main-edit-area {\n right: 345px;\n}\n#main-edit-area:before,\n#main-edit-area:after,\n#frame-container:before,\n#frame-container:after {\n content: \"\";\n display: block;\n position: absolute;\n border: 0;\n height: 40px;\n box-shadow: 0px 1px 10px #808080, 0px 0px 5px #808080;\n left: 0;\n right: 0;\n top: 0;\n z-index: 100;\n}\n#main-edit-area:after {\n top: auto;\n bottom: -40px;\n}\n#frame-container:before {\n top: -40px;\n}\n#frame-container:after {\n top: auto;\n bottom: -40px;\n}\n#main-wysiwyg-area {\n position: absolute;\n top: 40px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n -webkit-transform: translate3d(0, 0, 0);\n}\n/****************************************************************************************************************************\n * GENERIC UTILITIES: \n * DRAG&DROP, UPLOADER, TOASTER, TOOLTIP, FONTS, LOADER\n ***************************************************************************************************************************/\n#main-toolbox .draggable.image {\n width: 85px;\n height: 85px;\n text-align: center;\n vertical-align: middle;\n padding: 5px;\n border: 0;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n}\n#main-toolbox .draggable.image img {\n opacity: 0;\n}\n.ui-draggable-dragging {\n z-index: 10000;\n}\n.ui-draggable-dragging.sortable-placeholder {\n top: 0 !important;\n left: 0 !important;\n}\n.uploading .fileuploadtext {\n display: none;\n}\n.fileuploadtext {\n top: 0px !important;\n left: 0px !important;\n right: 0px !important;\n bottom: 0px !important;\n color: #000000;\n}\n.uploadzone .fileuploadtext {\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-weight: bold;\n}\n.isdragging .uploadzone .fileuploadtext,\n.isdraggingimg .uploadzone .fileuploadtext {\n display: none !important;\n}\n.uploadzone .progress {\n display: none;\n}\n.uploadzone.uploading .progress {\n display: block;\n}\n/* this is needed to push a dropzone over a \"makeDroppable\" (greater z-index)\n because IE10 doesn't support \"pointer-events: none\" and images drag/drop from desktop wouldn't work */\n.mo-uploadzone {\n position: absolute;\n z-index: 15;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: block;\n}\n.toast-bottom-full-width {\n margin-left: 25%;\n margin-right: 25%;\n width: 50% !important;\n}\nbody > .ui-tooltip {\n border-radius: 7px;\n border: 0px solid #807e7c;\n border-width: 1px \\9;\n border-color: rgba(128, 126, 124, 0);\n box-shadow: 0 2px 20px #807e7c;\n color: #333332;\n background-color: #ffffff;\n padding: 0;\n overflow: hidden;\n font-family: \"trebuchet ms\", arial, sans-serif;\n font-size: 16px;\n text-decoration: none !important;\n font-size: 14px;\n border-width: 0px;\n padding: 8px;\n position: absolute;\n z-index: 9999;\n max-width: 300px;\n box-shadow: 0px 0px 5px #AAA;\n}\n.ui-helper-hidden-accessible {\n border: 0px none;\n clip: rect(1px, 1px, 1px, 1px);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute !important;\n width: 1px;\n}\ni.mce-i-newsletter-profile:before {\n content: '\\e826';\n font-family: \"fontello\";\n}\n@keyframes loading {\n 0% {\n transform: scale(1, 1) rotate(0deg);\n }\n 50% {\n transform: scale(1.5, 1.5) rotate(360deg);\n }\n 100% {\n transform: scale(1, 1) rotate(720deg);\n }\n}\n.mo-standalone #loading.loading img {\n animation: loading 4s linear infinite;\n}\n@keyframes broken {\n 0% {\n opacity: 0;\n }\n 95% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n#loading.loading div {\n animation: broken 10s linear forwards;\n padding: 1em;\n opacity: 1;\n}\n#carousel-dialog .carousel-buttons {\n position: absolute;\n right: 5px;\n bottom: 10px;\n}\n#carousel-dialog .carousel-buttons .button {\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-remember {\n font-size: 1.2em;\n position: absolute;\n left: 10px;\n bottom: 17px;\n}\n#carousel-dialog .carousel-remember input {\n vertical-align: middle;\n margin-right: 0.2em;\n}\n#carousel-dialog .owl-carousel {\n height: 550px;\n}\n#carousel-dialog .owl-controls {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 7px;\n}\n#carousel-dialog .owl-controls .owl-page.active span {\n background-color: #333332;\n}\n#carousel-dialog .owl-controls .owl-page span {\n background-color: #D2CBB1;\n /*opacity: 1;*/\n}\n#carousel-dialog .carousel-help {\n margin-top: 5px;\n font-size: 1.2em;\n}\n#carousel-dialog .carousel-help-text {\n line-height: 1.5em;\n}\n#carousel-dialog .carousel-help-text.large-width {\n width: 80%;\n margin: 0 auto;\n}\n#carousel-dialog .carousel-help-text p {\n padding: 0.5em;\n}\n#carousel-dialog .carousel-help .left {\n margin-right: 20px;\n}\n#carousel-dialog .carousel-help .top {\n margin-bottom: 10px;\n}\n#carousel-dialog .carousel-help-balloon {\n display: flex;\n display: -webkit-flex;\n display: -ms-flexbox;\n align-items: center;\n -webkit-align-items: center;\n /*-ms-flex-align: center; -webkit-box-align: center;*/\n justify-content: center;\n text-align: center;\n overflow: auto;\n padding: 0 0.5em;\n}\n#carousel-dialog .carousel-help-balloon > div {\n width: 100%;\n}\n.toast-title {\n font-weight: bold;\n}\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n color: #FFFFFF;\n}\n.toast-message a:hover {\n color: #CCCCCC;\n text-decoration: none;\n}\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #FFFFFF;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n line-height: 1;\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n.rtl .toast-close-button {\n left: -0.3em;\n float: left;\n right: 0.3em;\n}\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.toast-top-center {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-center {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-left {\n top: 12px;\n left: 12px;\n}\n.toast-top-right {\n top: 12px;\n right: 12px;\n}\n.toast-bottom-right {\n right: 12px;\n bottom: 12px;\n}\n.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n}\n#toast-container {\n position: fixed;\n z-index: 999999;\n pointer-events: none;\n /*overrides*/\n}\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n#toast-container > div {\n position: relative;\n pointer-events: auto;\n overflow: hidden;\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #FFFFFF;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n#toast-container > div.rtl {\n direction: rtl;\n padding: 15px 50px 15px 15px;\n background-position: right 15px center;\n}\n#toast-container > div:hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer;\n}\n#toast-container > .toast-info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n width: 300px;\n margin-left: auto;\n margin-right: auto;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin-left: auto;\n margin-right: auto;\n}\n.toast {\n background-color: #030303;\n}\n.toast-success {\n background-color: #51A351;\n}\n.toast-error {\n background-color: #BD362F;\n}\n.toast-info {\n background-color: #2F96B4;\n}\n.toast-warning {\n background-color: #F89406;\n}\n.toast-progress {\n position: absolute;\n left: 0;\n bottom: 0;\n height: 4px;\n background-color: #000000;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em;\n }\n #toast-container > div.rtl {\n padding: 8px 50px 8px 8px;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n #toast-container .rtl .toast-close-button {\n left: -0.2em;\n right: 0.2em;\n }\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em;\n }\n #toast-container > div.rtl {\n padding: 15px 50px 15px 15px;\n }\n}\n/*\n evol-colorpicker 3.3.2\n (c) 2018 Olivier Giulieri\n http://evoluteur.github.io/colorpicker/\n*/\n.evo-pop {\n z-index: 10000;\n width: 204px;\n padding: 3px 3px 0;\n}\n.evo-pop-ie {\n z-index: 10000;\n width: 212px;\n padding: 3px;\n}\n.evo-palette td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette tr.top > td {\n border-bottom: 0;\n}\n.evo-palette tr.in > td {\n border-top: 0;\n border-bottom: 0;\n}\n.evo-palette tr.bottom > td {\n border-top: 0;\n}\n.evo-palette div.sep {\n height: 3px;\n}\n.evo-palette,\n.evo-palette-ie {\n border-collapse: separate;\n border-spacing: 4px 0px;\n *border-collapse: expression('separate', cellSpacing='2px');\n}\n.evo-palette th,\n.evo-palette-ie th {\n border: 0;\n padding: 5px 3px;\n text-align: left;\n font-weight: normal;\n background: transparent !important;\n}\n.evo-palette-ie td {\n font-size: 1px;\n border: solid 1px #c0c0c0;\n padding: 7px;\n cursor: pointer;\n}\n.evo-palette2,\n.evo-palette2-ie {\n margin: auto;\n border-collapse: collapse;\n}\n.evo-palette2 td,\n.evo-palette2-ie td {\n font-size: 1px;\n cursor: pointer;\n}\n.evo-palette2 td {\n padding: 6px 7px;\n}\n.evo-palette2-ie td {\n padding: 5px;\n}\n.evo-palcenter {\n padding: 5px;\n text-align: center;\n}\n.evo-colorind,\n.evo-colorind-ie,\n.evo-colorind-ff {\n border: solid 1px #c3c3c3;\n width: 18px;\n height: 18px;\n float: right;\n}\n.evo-colorind-ie {\n position: relative;\n top: -23px;\n}\n.evo-colorbox-ie {\n font-size: 8px;\n padding: 3px 9px !important;\n}\n.evo-pop:after,\n.evo-pop-ie:after,\n.evo-colorind:after,\n.evo-colorind-ie:after,\n.evo-colorind-ff:after,\n.evo-color span:after,\n.evo-cHist:after {\n content: \".\";\n display: block;\n height: 0;\n clear: both;\n visibility: hidden;\n font-size: 0;\n}\n.evo-color {\n width: 94px;\n padding: 1px 3px 0 4px;\n}\n.evo-color div {\n border: solid 1px #808080;\n border-right: solid 1px #c0c0c0;\n border-bottom: solid 1px #c0c0c0;\n padding: 3px;\n margin-bottom: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-color span {\n font-size: 15px;\n margin: 1px 0 4px 3px;\n float: left;\n}\n.evo-sep {\n height: 10px;\n font-size: 0;\n}\n.evo-more {\n padding: 4px 5px 4px;\n font-size: smaller;\n}\n.evo-cHist {\n padding: 3px;\n}\n.evo-cHist div {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n margin: 5px;\n width: 10px;\n height: 10px;\n float: left;\n}\n.evo-transparent {\n background-image: repeating-linear-gradient(135deg, black, black 1px, white 1px, white 3px);\n}\n.evo-tr-box {\n cursor: pointer;\n border: solid 1px #c0c0c0;\n padding: 3px;\n width: 7px;\n height: 7px;\n float: right;\n position: relative;\n right: -3px;\n top: 2px;\n}\na.evo-hist {\n margin-left: 6px;\n}\n.evo-pointer {\n cursor: pointer;\n}\n.evo-hidden-button {\n display: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9pY29ucy5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2NvcmUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9maXhlZC13aWR0aC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2xpc3QubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9hbmltYXRlZC5sZXNzIiwiLi4vL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvcm90YXRlZC1mbGlwcGVkLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3Mvc3RhY2tlZC5sZXNzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ljb25zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy92YXJpYWJsZXMubGVzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9zY3JlZW4tcmVhZGVyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL2xlc3MvbWl4aW5zLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9wYXRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9jb3JlLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9sYXJnZXIubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2ZpeGVkLXdpZHRoLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9saXN0Lmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9ib3JkZXJlZC1wdWxsZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL2FuaW1hdGVkLmxlc3MiLCIuLi8vcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvbGVzcy9yb3RhdGVkLWZsaXBwZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3N0YWNrZWQubGVzcyIsIi4uLy9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9sZXNzL3NjcmVlbi1yZWFkZXIubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljb190b29scy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV92YXJpYWJsZXMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfbW9zYWljby5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50cy5sZXNzIiwiLi4vc3JjL2Nzcy9zdHlsZV9lbGVtZW50c19taXhpbnMubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfanF1ZXJ5Lmxlc3MiLCIuLi9zcmMvY3NzL3NhZmFyaWhhY2suY3NzIiwiLi4vc3JjL2Nzcy9zdHlsZV9tb3NhaWNvX2NvbnRlbnQubGVzcyIsIi4uL3NyYy9jc3Mvc3R5bGVfZWxlbWVudHNfbW94aWUubGVzcyIsIi4uL25vZGVfbW9kdWxlcy90b2FzdHIvdG9hc3RyLmxlc3MiLCIuLi9ub2RlX21vZHVsZXMvZXZvbC1jb2xvcnBpY2tlci9jc3MvZXZvbC1jb2xvcnBpY2tlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0E7RUFDRSxhQUFhLGFBQWI7RUFDQSxTQUFTLDhDQUFUO0VBQ0EsU0FBUyxzREFBa0UsT0FBTywwQkFDNUUsaURBQTZELE9BQU8sY0FDcEUsZ0RBQTRELE9BQU8sYUFDbkUsK0NBQTJELE9BQU8saUJBQ2xFLGtFQUE4RSxPQUFPLE1BSjNGO0VBTUEsbUJBQUE7RUFDQSxrQkFBQTs7QUNiRDtFQ0lDLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTs7O0FEVEQ7RUVLQyx1QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7O0FGUEQ7RUVTc0IsY0FBQTs7QUZUdEI7RUVVc0IsY0FBQTs7QUZWdEI7RUVXc0IsY0FBQTs7QUZYdEI7RUVZc0IsY0FBQTs7QUZadEI7RUdHQyxtQkFBQTtFQUNBLGtCQUFBOztBSEpEO0VJSUMsZUFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FKTkQsTUlPQztFQUFPLGtCQUFBOztBSlBSO0VJVUMsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUpkRCxNQUFDO0VJZ0JFLG1CQUFBOztBSmhCSDtFS0lDLDRCQUFBO0VBQ0EseUJBQUE7RUFDQSxvQkFBQTs7QUxORDtFS1M2QixXQUFBOztBTFQ3QjtFS1U4QixZQUFBOztBTFY5QixHQUFDO0VLYStCLG1CQUFBOztBTGJoQyxHQUFDO0VLY2dDLGtCQUFBOzs7QUFJbEM7RUFBYyxZQUFBOztBQUNkO0VBQWEsV0FBQTs7QUFHWCxHQUFDO0VBQWEsbUJBQUE7O0FBQ2QsR0FBQztFQUFjLGtCQUFBOztBTHZCaEI7RU1JQyw2Q0FBQTtFQUNRLHFDQUFBOztBTkxUO0VNU0MsdUNBQXVDLFFBQXZDO0VBQ1EsK0JBQStCLFFBQS9COztBQUdWO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDUSxXQUFXLFlBQVg7O0VBRVY7SUFDRSxtQkFBbUIsY0FBbkI7SUFDUSxXQUFXLGNBQVg7OztBQUlaO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDUSxXQUFXLFlBQVg7O0VBRVY7SUFDRSxtQkFBbUIsY0FBbkI7SUFDUSxXQUFXLGNBQVg7OztBTi9CWDtFT2NDLFlBQVksMERBQVo7RUFDQSxtQkFBbUIsYUFBbkI7RUFDSSxlQUFlLGFBQWY7RUFDSSxXQUFXLGFBQVg7O0FQakJUO0VPY0MsWUFBWSwwREFBWjtFQUNBLG1CQUFtQixjQUFuQjtFQUNJLGVBQWUsY0FBZjtFQUNJLFdBQVcsY0FBWDs7QVBqQlQ7RU9jQyxZQUFZLDBEQUFaO0VBQ0EsbUJBQW1CLGNBQW5CO0VBQ0ksZUFBZSxjQUFmO0VBQ0ksV0FBVyxjQUFYOztBUGpCVDtFT3FCQyxZQUFZLG9FQUFaO0VBQ0EsbUJBQW1CLFlBQW5CO0VBQ0ksZUFBZSxZQUFmO0VBQ0ksV0FBVyxZQUFYOztBUHhCVDtFT3FCQyxZQUFZLG9FQUFaO0VBQ0EsbUJBQW1CLFlBQW5CO0VBQ0ksZUFBZSxZQUFmO0VBQ0ksV0FBVyxZQUFYOztBUHhCVCxLQUFNO0FBQWUsS0FBTTtBQUFnQixLQUFNO0FBQWdCLEtBQU07QUFDcEQsS0FBTTtFUWlCeEIsWUFBQTs7QVJsQkQ7RVNJQyxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBOztBVFREO0FBQWM7RVNZYixrQkFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FUZkQ7RVNpQjRCLG9CQUFBOztBVGpCNUI7RVNrQjRCLGNBQUE7O0FUbEI1QjtFU21CMkIsV0FBQTs7OztBVG5CM0IsU0FBUztFVUd1QixTQ3dVbEIsT0R4VWtCOztBVkhoQyxTQUFTO0VVSXVCLFNDMmRsQixPRDNka0I7O0FWSmhDLFVBQVU7RVVLdUIsU0MwakJsQixPRDFqQmtCOztBVkxqQyxjQUFjO0VVTXVCLFNDc09sQixPRHRPa0I7O0FWTnJDLFNBQVM7RVVPdUIsU0N1V2xCLE9EdldrQjs7QVZQaEMsUUFBUTtFVVF1QixTQ2tuQmxCLE9EbG5Ca0I7O0FWUi9CLFVBQVU7RVVTdUIsU0NzbkJsQixPRHRuQmtCOztBVlRqQyxRQUFRO0VVVXVCLFNDeXRCbEIsT0R6dEJrQjs7QVZWL0IsUUFBUTtFVVd1QixTQ21SbEIsT0RuUmtCOztBVlgvQixZQUFZO0VVWXVCLFNDdXBCbEIsT0R2cEJrQjs7QVZabkMsTUFBTTtFVWF1QixTQ3FwQmxCLE9EcnBCa0I7O0FWYjdCLFdBQVc7RVVjdUIsU0NzcEJsQixPRHRwQmtCOztBVmRsQyxTQUFTO0VVZXVCLFNDeUlsQixPRHpJa0I7O0FWZmhDLFVBQVU7QUFBUyxTQUFTO0FBQVMsU0FBUztFVWtCZCxTQ3FxQmxCLE9EcnFCa0I7O0FWbEJoQyxlQUFlO0VVbUJ1QixTQzhpQmxCLE9EOWlCa0I7O0FWbkJ0QyxnQkFBZ0I7RVVvQnVCLFNDNGlCbEIsT0Q1aUJrQjs7QVZwQnZDLGFBQWE7RVVxQnVCLFNDNGZsQixPRDVma0I7O0FWckJwQyxVQUFVO0VVc0J1QixTQ2lrQmxCLE9EamtCa0I7O0FWdEJqQyxRQUFRO0FBQVMsT0FBTztFVXdCTSxTQ2dLbEIsT0RoS2tCOztBVnhCOUIsV0FBVztFVXlCdUIsU0MrcUJsQixPRC9xQmtCOztBVnpCbEMsUUFBUTtFVTBCdUIsU0N3VmxCLE9EeFZrQjs7QVYxQi9CLFVBQVU7RVUyQnVCLFNDdVBsQixPRHZQa0I7O0FWM0JqQyxXQUFXO0VVNEJ1QixTQ2dKbEIsT0RoSmtCOztBVjVCbEMsUUFBUTtFVTZCdUIsU0NtaEJsQixPRG5oQmtCOztBVjdCL0IsWUFBWTtFVThCdUIsU0NnTWxCLE9EaE1rQjs7QVY5Qm5DLHVCQUF1QjtFVStCdUIsU0NZbEIsT0Raa0I7O0FWL0I5QyxxQkFBcUI7RVVnQ3VCLFNDY2xCLE9EZGtCOztBVmhDNUMsU0FBUztFVWlDdUIsU0NxV2xCLE9EcldrQjs7QVZqQ2hDLGlCQUFpQjtFVWtDdUIsU0N3ZWxCLE9EeGVrQjs7QVZsQ3hDLGdCQUFnQjtBQUFTLFVBQVU7RVVvQ0YsU0NzZ0JsQixPRHRnQmtCOztBVnBDakMsV0FBVztFVXFDdUIsU0NnZ0JsQixPRGhnQmtCOztBVnJDbEMsWUFBWTtFVXNDdUIsU0N3WWxCLE9EeFlrQjs7QVZ0Q25DLFFBQVE7RVV1Q3VCLFNDMllsQixPRDNZa0I7O0FWdkMvQixRQUFRO0VVd0N1QixTQzRQbEIsT0Q1UGtCOztBVnhDL0IsY0FBYztFVXlDdUIsU0NvVWxCLE9EcFVrQjs7QVZ6Q3JDLGNBQWM7RVUwQ3VCLFNDaXRCbEIsT0RqdEJrQjs7QVYxQ3JDLGVBQWU7RVUyQ3VCLFNDK3NCbEIsT0Qvc0JrQjs7QVYzQ3RDLGFBQWE7RVU0Q3VCLFNDZ3RCbEIsT0RodEJrQjs7QVY1Q3BDLFVBQVU7RVU2Q3VCLFNDeWVsQixPRHpla0I7O0FWN0NqQyxXQUFXO0VVOEN1QixTQ3dCbEIsT0R4QmtCOztBVjlDbEMsT0FBTztFVStDdUIsU0N5bUJsQixPRHptQmtCOztBVi9DOUIsUUFBUTtFVWdEdUIsU0N5bUJsQixPRHptQmtCOztBVmhEL0IsUUFBUTtFVWlEdUIsU0N5RGxCLE9EekRrQjs7QVZqRC9CLFlBQVk7RVVrRHVCLFNDeURsQixPRHpEa0I7O0FWbERuQyxTQUFTO0VVbUR1QixTQytkbEIsT0QvZGtCOztBVm5EaEMsVUFBVTtFVW9EdUIsU0MyRWxCLE9EM0VrQjs7QVZwRGpDLFFBQVE7RVVxRHVCLFNDMFBsQixPRDFQa0I7O0FWckQvQixRQUFRO0VVc0R1QixTQ2lEbEIsT0RqRGtCOztBVnREL0IsVUFBVTtFVXVEdUIsU0MwVmxCLE9EMVZrQjs7QVZ2RGpDLGVBQWU7RVV3RHVCLFNDd21CbEIsT0R4bUJrQjs7QVZ4RHRDLGNBQWM7RVV5RHVCLFNDd21CbEIsT0R4bUJrQjs7QVZ6RHJDLGNBQWM7RVUwRHVCLFNDcENsQixPRG9Da0I7O0FWMURyQyxnQkFBZ0I7RVUyRHVCLFNDdkNsQixPRHVDa0I7O0FWM0R2QyxlQUFlO0VVNER1QixTQ3JDbEIsT0RxQ2tCOztBVjVEdEMsaUJBQWlCO0VVNkR1QixTQ3hDbEIsT0R3Q2tCOztBVjdEeEMsUUFBUTtFVThEdUIsU0MrV2xCLE9EL1drQjs7QVY5RC9CLFVBQVU7QUFBUyxXQUFXO0VVZ0VJLFNDMmFsQixPRDNha0I7O0FWaEVsQyxVQUFVO0VVaUV1QixTQ3NVbEIsT0R0VWtCOztBVmpFakMsZ0JBQWdCO0VVa0V1QixTQ2tyQmxCLE9EbHJCa0I7O0FWbEV2QyxTQUFTO0FBQVMsU0FBUztBQUFTLGFBQWE7RVVxRWIsU0MwYmxCLE9EMWJrQjs7QVZyRXBDLFVBQVU7RVVzRXVCLFNDa2JsQixPRGxia0I7O0FWdEVqQyxjQUFjO0VVdUV1QixTQ3dYbEIsT0R4WGtCOztBVnZFckMsVUFBVTtFVXdFdUIsU0N0RGxCLE9Ec0RrQjs7QVZ4RWpDLFFBQVE7RVV5RXVCLFNDbW5CbEIsT0RubkJrQjs7QVZ6RS9CLFFBQVE7QUFBUyxtQkFBbUI7RVUyRU0sU0MrYWxCLE9EL2FrQjs7QVYzRTFDLGtCQUFrQjtFVTRFdUIsU0M4ZmxCLE9EOWZrQjs7QVY1RXpDLGtCQUFrQjtFVTZFdUIsU0MrRWxCLE9EL0VrQjs7QVY3RXpDLFVBQVU7RVU4RXVCLFNDekJsQixPRHlCa0I7O0FWOUVqQyxpQkFBaUI7RVUrRXVCLFNDbWpCbEIsT0RuakJrQjs7QVYvRXhDLGlCQUFpQjtFVWdGdUIsU0NxTGxCLE9EckxrQjs7QVZoRnhDLFlBQVk7RVVpRnVCLFNDbEJsQixPRGtCa0I7O0FWakZuQyxRQUFRO0VVa0Z1QixTQ3NibEIsT0R0YmtCOztBVmxGL0IsU0FBUztFVW1GdUIsU0NnYWxCLE9EaGFrQjs7QVZuRmhDLFFBQVE7RVVvRnVCLFNDbWpCbEIsT0RuakJrQjs7QVZwRi9CLFdBQVc7RVVxRnVCLFNDK05sQixPRC9Oa0I7O0FWckZsQyxnQkFBZ0I7RVVzRnVCLFNDZ0xsQixPRGhMa0I7O0FWdEZ2QyxnQkFBZ0I7RVV1RnVCLFNDNGlCbEIsT0Q1aUJrQjs7QVZ2RnZDLFNBQVM7RVV3RnVCLFNDK0lsQixPRC9Ja0I7O0FWeEZoQyxnQkFBZ0I7RVV5RnVCLFNDeUVsQixPRHpFa0I7O0FWekZ2QyxpQkFBaUI7RVUwRnVCLFNDeUVsQixPRHpFa0I7O0FWMUZ4QyxlQUFlO0VVMkZ1QixTQ2tibEIsT0RsYmtCOztBVjNGdEMsZ0JBQWdCO0VVNEZ1QixTQ3VYbEIsT0R2WGtCOztBVjVGdkMsZ0JBQWdCO0VVNkZ1QixTQzJsQmxCLE9EM2xCa0I7O0FWN0Z2QyxnQkFBZ0I7RVU4RnVCLFNDMkRsQixPRDNEa0I7O0FWOUZ2QyxtQkFBbUI7RVUrRnVCLFNDeWJsQixPRHpia0I7O0FWL0YxQyxlQUFlO0VVZ0d1QixTQzBTbEIsT0QxU2tCOztBVmhHdEMsY0FBYztFVWlHdUIsU0MwR2xCLE9EMUdrQjs7QVZqR3JDLGtCQUFrQjtFVWtHdUIsU0N1bEJsQixPRHZsQmtCOztBVmxHekMsa0JBQWtCO0VVbUd1QixTQ3VEbEIsT0R2RGtCOztBVm5HekMsT0FBTztFVW9HdUIsU0NuQ2xCLE9EbUNrQjs7QVZwRzlCLGNBQWM7RVVxR3VCLFNDbkRsQixPRG1Ea0I7O0FWckdyQyxlQUFlO0VVc0d1QixTQ25EbEIsT0RtRGtCOztBVnRHdEMsWUFBWTtFVXVHdUIsU0NuRGxCLE9EbURrQjs7QVZ2R25DLGNBQWM7RVV3R3VCLFNDdkRsQixPRHVEa0I7O0FWeEdyQyxnQkFBZ0I7QUFBUyxTQUFTO0VVMEdGLFNDNGRsQixPRDVka0I7O0FWMUdoQyxVQUFVO0VVMkd1QixTQzhJbEIsT0Q5SWtCOztBVjNHakMsWUFBWTtFVTRHdUIsU0NzRmxCLE9EdEZrQjs7QVY1R25DLFFBQVE7RVU2R3VCLFNDK1psQixPRC9aa0I7O0FWN0cvQixTQUFTO0VVOEd1QixTQ29XbEIsT0RwV2tCOztBVjlHaEMsWUFBWTtFVStHdUIsU0NwRGxCLE9Eb0RrQjs7QVYvR25DLHNCQUFzQjtFVWdIdUIsU0N1SWxCLE9EdklrQjs7QVZoSDdDLFFBQVE7RVVpSHVCLFNDa05sQixPRGxOa0I7O0FWakgvQixRQUFRO0VVa0h1QixTQzBTbEIsT0QxU2tCOztBVmxIL0IsUUFBUTtFVW1IdUIsU0M2S2xCLE9EN0trQjs7QVZuSC9CLE9BQU87RVVvSHVCLFNDeUlsQixPRHpJa0I7O0FWcEg5QixhQUFhO0VVcUh1QixTQ3lJbEIsT0R6SWtCOztBVnJIcEMsV0FBVztBQUFTLHdCQUF3QjtFVXVIRyxTQ2lJbEIsT0RqSWtCOztBVnZIL0MsU0FBUztFVXdIdUIsU0MrWWxCLE9EL1lrQjs7QVZ4SGhDLFlBQVk7RVV5SHVCLFNDQWxCLE9EQWtCOztBVnpIbkMsVUFBVTtFVTBIdUIsU0NvYWxCLE9EcGFrQjs7QVYxSGpDLFdBQVc7RVUySHVCLFNDZ0VsQixPRGhFa0I7O0FWM0hsQyxVQUFVO0VVNEh1QixTQzZUbEIsT0Q3VGtCOztBVjVIakMsY0FBYztFVTZIdUIsU0N1Q2xCLE9EdkNrQjs7QVY3SHJDLGdCQUFnQjtFVThIdUIsU0NtQ2xCLE9EbkNrQjs7QVY5SHZDLFdBQVc7RVUrSHVCLFNDK2FsQixPRC9ha0I7O0FWL0hsQyxpQkFBaUI7RVVnSXVCLFNDa2RsQixPRGxka0I7O0FWaEl4QyxVQUFVO0VVaUl1QixTQzBLbEIsT0QxS2tCOztBVmpJakMsZUFBZTtFVWtJdUIsU0MyS2xCLE9EM0trQjs7QVZsSXRDLFlBQVk7RVVtSXVCLFNDM0VsQixPRDJFa0I7O0FWbkluQyxZQUFZO0VVb0l1QixTQzdFbEIsT0Q2RWtCOztBVnBJbkMsZUFBZTtBQUFTLGFBQWE7RVVzSUQsU0NsRWxCLE9Ea0VrQjs7QVZ0SXBDLGtCQUFrQjtFVXVJdUIsU0Mra0JsQixPRC9rQmtCOztBVnZJekMsbUJBQW1CO0VVd0l1QixTQzRIbEIsT0Q1SGtCOztBVnhJMUMsZ0JBQWdCO0VVeUl1QixTQ1RsQixPRFNrQjs7QVZ6SXZDLE9BQU87RVUwSXVCLFNDMlFsQixPRDNRa0I7O0FWMUk5QixTQUFTO0FBQVMsUUFBUTtFVTRJSyxTQzZDbEIsT0Q3Q2tCOztBVjVJL0IsWUFBWTtFVTZJdUIsU0NrRGxCLE9EbERrQjs7QVY3SW5DLGVBQWU7RVU4SXVCLFNDc2lCbEIsT0R0aUJrQjs7QVY5SXRDLGlCQUFpQjtFVStJdUIsU0NvaUJsQixPRHBpQmtCOztBVi9JeEMsYUFBYTtFVWdKdUIsU0MyZWxCLE9EM2VrQjs7QVZoSnBDLFdBQVc7RVVpSnVCLFNDOE5sQixPRDlOa0I7O0FWakpsQyxZQUFZO0VVa0p1QixTQ29jbEIsT0RwY2tCOztBVmxKbkMsbUJBQW1CO0VVbUp1QixTQ3VSbEIsT0R2UmtCOztBVm5KMUMsY0FBYztFVW9KdUIsU0M2aEJsQixPRDdoQmtCOztBVnBKckMsaUJBQWlCO0VVcUp1QixTQ3NHbEIsT0R0R2tCOztBVnJKeEMsV0FBVztFVXNKdUIsU0M4YmxCLE9EOWJrQjs7QVZ0SmxDLFVBQVU7RVV1SnVCLFNDcWpCbEIsT0RyakJrQjs7QVZ2SmpDLGlCQUFpQjtFVXdKdUIsU0NnTGxCLE9EaExrQjs7QVZ4SnhDLFVBQVU7RVV5SnVCLFNDdWtCbEIsT0R2a0JrQjs7QVZ6SmpDLFdBQVc7RVUwSnVCLFNDcVFsQixPRHJRa0I7O0FWMUpsQyxTQUFTO0VVMkp1QixTQ2lXbEIsT0RqV2tCOztBVjNKaEMsWUFBWTtFVTRKdUIsU0MyZGxCLE9EM2RrQjs7QVY1Sm5DLGNBQWM7RVU2SnVCLFNDakRsQixPRGlEa0I7O0FWN0pyQyxnQkFBZ0I7RVU4SnVCLFNDK1ZsQixPRC9Wa0I7O0FWOUp2QyxXQUFXO0VVK0p1QixTQ3NqQmxCLE9EdGpCa0I7O0FWL0psQyxjQUFjO0FBQVMsWUFBWTtFVWlLQSxTQ2dHbEIsT0RoR2tCOztBVmpLbkMsVUFBVTtFVWtLdUIsU0NvS2xCLE9EcEtrQjs7QVZsS2pDLFVBQVU7RVVtS3VCLFNDMGpCbEIsT0QxakJrQjs7QVZuS2pDLGVBQWU7RVVvS3VCLFNDb0NsQixPRHBDa0I7O0FWcEt0QyxRQUFRO0FBQVMsT0FBTztFVXNLTSxTQytZbEIsT0QvWWtCOztBVnRLOUIsU0FBUztFVXVLdUIsU0NvTWxCLE9EcE1rQjs7QVZ2S2hDLFlBQVk7RVV3S3VCLFNDckRsQixPRHFEa0I7O0FWeEtuQyxRQUFRO0VVeUt1QixTQ2hGbEIsT0RnRmtCOztBVnpLL0IsZUFBZTtFVTBLdUIsU0NyQmxCLE9EcUJrQjs7QVYxS3RDLGdCQUFnQjtFVTJLdUIsU0NvTGxCLE9EcExrQjs7QVYzS3ZDLGVBQWU7RVU0S3VCLFNDa0xsQixPRGxMa0I7O0FWNUt0QyxhQUFhO0VVNkt1QixTQ21MbEIsT0RuTGtCOztBVjdLcEMsZUFBZTtFVThLdUIsU0MrS2xCLE9EL0trQjs7QVY5S3RDLHFCQUFxQjtFVStLdUIsU0NySWxCLE9EcUlrQjs7QVYvSzVDLHNCQUFzQjtFVWdMdUIsU0NqSWxCLE9EaUlrQjs7QVZoTDdDLG1CQUFtQjtFVWlMdUIsU0NqSWxCLE9EaUlrQjs7QVZqTDFDLHFCQUFxQjtFVWtMdUIsU0N6SWxCLE9EeUlrQjs7QVZsTDVDLFNBQVM7RVVtTHVCLFNDMkpsQixPRDNKa0I7O0FWbkxoQyxVQUFVO0VVb0x1QixTQzZsQmxCLE9EN2xCa0I7O0FWcExqQyxTQUFTO0VVcUx1QixTQ3FlbEIsT0RyZWtCOztBVnJMaEMsVUFBVTtFVXNMdUIsU0N5R2xCLE9EekdrQjs7QVZ0TGpDLGFBQWE7RVV1THVCLFNDekVsQixPRHlFa0I7O0FWdkxwQyxjQUFjO0VVd0x1QixTQ2xJbEIsT0RrSWtCOztBVnhMckMsU0FBUztBQUFTLFNBQVM7RVUwTEssU0NpakJsQixPRGpqQmtCOztBVjFMaEMsU0FBUztBQUFTLFFBQVE7RVU0TEssU0M0T2xCLE9ENU9rQjs7QVY1TC9CLFNBQVM7RVU2THVCLFNDZGxCLE9EY2tCOztBVjdMaEMsU0FBUztFVThMdUIsU0MwR2xCLE9EMUdrQjs7QVY5TGhDLE9BQU87QUFBUyxZQUFZO0VVZ01PLFNDNlhsQixPRDdYa0I7O0FWaE1uQyxRQUFRO0FBQVMsV0FBVztFVWtNTSxTQzJGbEIsT0QzRmtCOztBVmxNbEMsYUFBYTtFVW1NdUIsU0M2U2xCLE9EN1NrQjs7QVZuTXBDLFFBQVE7QUFBUyxZQUFZO0VVcU1NLFNDcUdsQixPRHJHa0I7O0FWck1uQyxVQUFVO0VVc011QixTQ2dibEIsT0RoYmtCOztBVnRNakMsV0FBVztBQUFTLFdBQVc7QUFBUyxRQUFRO0VVeU1qQixTQ2xJbEIsT0RrSWtCOztBVnpNL0IsV0FBVztFVTBNdUIsU0NzT2xCLE9EdE9rQjs7QVYxTWxDLFdBQVc7RVUyTXVCLFNDb09sQixPRHBPa0I7O0FWM01sQyxpQkFBaUI7RVU0TXVCLFNDK2JsQixPRC9ia0I7O0FWNU14QyxhQUFhO0VVNk11QixTQzJnQmxCLE9EM2dCa0I7O0FWN01wQyxTQUFTO0VVOE11QixTQ3VjbEIsT0R2Y2tCOztBVjlNaEMsU0FBUztFVStNdUIsU0N5T2xCLE9Eek9rQjs7QVYvTWhDLFNBQVM7RVVnTnVCLFNDNmZsQixPRDdma0I7O0FWaE5oQyxhQUFhO0VVaU51QixTQ21UbEIsT0RuVGtCOztBVmpOcEMsb0JBQW9CO0VVa051QixTQ29UbEIsT0RwVGtCOztBVmxOM0Msc0JBQXNCO0VVbU51QixTQ2dJbEIsT0RoSWtCOztBVm5ON0MsZUFBZTtFVW9OdUIsU0M0SGxCLE9ENUhrQjs7QVZwTnRDLFNBQVM7RVVxTnVCLFNDcVFsQixPRHJRa0I7O0FWck5oQyxjQUFjO0VVc051QixTQ3BGbEIsT0RvRmtCOztBVnROckMsWUFBWTtFVXVOdUIsU0M5RWxCLE9EOEVrQjs7QVZ2Tm5DLGNBQWM7RVV3TnVCLFNDckZsQixPRHFGa0I7O0FWeE5yQyxlQUFlO0VVeU51QixTQ3JGbEIsT0RxRmtCOztBVnpOdEMsV0FBVztFVTBOdUIsU0NoQ2xCLE9EZ0NrQjs7QVYxTmxDLFlBQVk7QUFBUyxRQUFRO0VVNE5FLFNDMFlsQixPRDFZa0I7O0FWNU4vQixhQUFhO0FBQVMsYUFBYTtFVThOQyxTQzhZbEIsT0Q5WWtCOztBVjlOcEMsV0FBVztBQUFTLFlBQVk7RVVnT0csU0MyWWxCLE9EM1lrQjs7QVZoT25DLFlBQVk7RVVpT3VCLFNDVWxCLE9EVmtCOztBVmpPbkMsWUFBWTtFVWtPdUIsU0N1TWxCLE9Edk1rQjs7QVZsT25DLGVBQWU7QUFBUyxRQUFRO0VVb09ELFNDcWZsQixPRHJma0I7O0FWcE8vQixTQUFTO0FBQVMsU0FBUztFVXNPSyxTQ29GbEIsT0RwRmtCOztBVnRPaEMsYUFBYTtBQUFTLGNBQWM7RVV3T0MsU0MrYWxCLE9EL2FrQjs7QVZ4T3JDLGFBQWE7RVV5T3VCLFNDN0NsQixPRDZDa0I7O0FWek9wQyxjQUFjO0VVME91QixTQzFDbEIsT0QwQ2tCOztBVjFPckMsU0FBUztBQUFTLFFBQVE7RVU0T0ssU0NwSWxCLE9Eb0lrQjs7QVY1Ty9CLFdBQVc7RVU2T3VCLFNDNldsQixPRDdXa0I7O0FWN09sQyxZQUFZO0VVOE91QixTQ3llbEIsT0R6ZWtCOztBVjlPbkMsU0FBUztBQUFTLGFBQWE7RVVnUEssU0NyRWxCLE9EcUVrQjs7QVZoUHBDLGVBQWU7RVVpUHVCLFNDcUxsQixPRHJMa0I7O0FWalB0QyxZQUFZO0VVa1B1QixTQ0dsQixPREhrQjs7QVZsUG5DLGtCQUFrQjtFVW1QdUIsU0NuRWxCLE9EbUVrQjs7QVZuUHpDLGdCQUFnQjtFVW9QdUIsU0NuRWxCLE9EbUVrQjs7QVZwUHZDLFdBQVc7RVVxUHVCLFNDaWZsQixPRGpma0I7O0FWclBsQyxlQUFlO0VVc1B1QixTQzhZbEIsT0Q5WWtCOztBVnRQdEMsWUFBWTtFVXVQdUIsU0N5WmxCLE9EelprQjs7QVZ2UG5DLFVBQVU7RVV3UHVCLFNDOUpsQixPRDhKa0I7O0FWeFBqQyxVQUFVO0VVeVB1QixTQ2xFbEIsT0RrRWtCOztBVnpQakMsV0FBVztFVTBQdUIsU0MxQ2xCLE9EMENrQjs7QVYxUGxDLGVBQWU7RVUyUHVCLFNDOEJsQixPRDlCa0I7O0FWM1B0QyxjQUFjO0VVNFB1QixTQzFJbEIsT0QwSWtCOztBVjVQckMsY0FBYztFVTZQdUIsU0NzSGxCLE9EdEhrQjs7QVY3UHJDLGFBQWE7RVU4UHVCLFNDck9sQixPRHFPa0I7O0FWOVBwQyxVQUFVO0VVK1B1QixTQzRNbEIsT0Q1TWtCOztBVi9QakMsZUFBZTtFVWdRdUIsU0NVbEIsT0RWa0I7O0FWaFF0QyxRQUFRO0VVaVF1QixTQzNLbEIsT0QyS2tCOztBVmpRL0IsWUFBWTtFVWtRdUIsU0N1RmxCLE9EdkZrQjs7QVZsUW5DLGVBQWU7RVVtUXVCLFNDMlFsQixPRDNRa0I7O0FWblF0QyxxQkFBcUI7RVVvUXVCLFNDck9sQixPRHFPa0I7O0FWcFE1QyxzQkFBc0I7RVVxUXVCLFNDck9sQixPRHFPa0I7O0FWclE3QyxtQkFBbUI7RVVzUXVCLFNDck9sQixPRHFPa0I7O0FWdFExQyxxQkFBcUI7RVV1UXVCLFNDek9sQixPRHlPa0I7O0FWdlE1QyxjQUFjO0VVd1F1QixTQ3JPbEIsT0RxT2tCOztBVnhRckMsZUFBZTtFVXlRdUIsU0NyT2xCLE9EcU9rQjs7QVZ6UXRDLFlBQVk7RVUwUXVCLFNDck9sQixPRHFPa0I7O0FWMVFuQyxjQUFjO0VVMlF1QixTQ3pPbEIsT0R5T2tCOztBVjNRckMsV0FBVztFVTRRdUIsU0NwRGxCLE9Eb0RrQjs7QVY1UWxDLFVBQVU7RVU2UXVCLFNDNElsQixPRDVJa0I7O0FWN1FqQyxVQUFVO0VVOFF1QixTQ3dZbEIsT0R4WWtCOztBVjlRakMsZ0JBQWdCO0FBQVMsVUFBVTtFVWdSRixTQ3VNbEIsT0R2TWtCOztBVmhSakMsWUFBWTtFVWlSdUIsU0N6R2xCLE9EeUdrQjs7QVZqUm5DLGNBQWM7RVVrUnVCLFNDeVFsQixPRHpRa0I7O0FWbFJyQyxlQUFlO0VVbVJ1QixTQ3lRbEIsT0R6UWtCOztBVm5SdEMsV0FBVztFVW9SdUIsU0MrVmxCLE9EL1ZrQjs7QVZwUmxDLFVBQVU7RVVxUnVCLFNDOUdsQixPRDhHa0I7O0FWclJqQyxjQUFjO0FBQVMsU0FBUztFVXVSQSxTQ29SbEIsT0RwUmtCOztBVnZSaEMsY0FBYztFVXdSdUIsU0MrQ2xCLE9EL0NrQjs7QVZ4UnJDLFlBQVk7RVV5UnVCLFNDbUJsQixPRG5Ca0I7O0FWelJuQyxpQkFBaUI7RVUwUnVCLFNDb0JsQixPRHBCa0I7O0FWMVJ4QyxXQUFXO0VVMlJ1QixTQ3FVbEIsT0RyVWtCOztBVjNSbEMsV0FBVztFVTRSdUIsU0MyQmxCLE9EM0JrQjs7QVY1UmxDLFNBQVM7RVU2UnVCLFNDZ0xsQixPRGhMa0I7O0FWN1JoQyxXQUFXO0VVOFJ1QixTQzJCbEIsT0QzQmtCOztBVjlSbEMsY0FBYztFVStSdUIsU0N1SGxCLE9EdkhrQjs7QVYvUnJDLFVBQVU7RVVnU3VCLFNDTWxCLE9ETmtCOztBVmhTakMsa0JBQWtCO0VVaVN1QixTQ0lsQixPREprQjs7QVZqU3pDLFlBQVk7RVVrU3VCLFNDNlhsQixPRDdYa0I7O0FWbFNuQyxRQUFRO0VVbVN1QixTQ2hIbEIsT0RnSGtCOztBVm5TL0Isa0JBQWtCO0FBQVMsYUFBYTtFVXFTSixTQ3VRbEIsT0R2UWtCOztBVnJTcEMsbUJBQW1CO0FBQVMsa0JBQWtCO0FBQVMsZUFBZTtFVXdTaEMsU0NzVmxCLE9EdFZrQjs7QVZ4U3RDLGtCQUFrQjtFVXlTdUIsU0N3SWxCLE9EeElrQjs7QVZ6U3pDLFFBQVE7RVUwU3VCLFNDaEdsQixPRGdHa0I7O0FWMVMvQixhQUFhO0VVMlN1QixTQ3ZIbEIsT0R1SGtCOztBVjNTcEMsVUFBVTtBQUFTLGdCQUFnQjtFVTZTSSxTQ3RKbEIsT0RzSmtCOztBVjdTdkMsWUFBWTtFVThTdUIsU0N5T2xCLE9Eek9rQjs7QVY5U25DLFFBQVE7RVUrU3VCLFNDMEZsQixPRDFGa0I7O0FWL1MvQixlQUFlO0VVZ1R1QixTQzFEbEIsT0QwRGtCOztBVmhUdEMsZUFBZTtFVWlUdUIsU0NrV2xCLE9EbFdrQjs7QVZqVHRDLGFBQWE7RVVrVHVCLFNDNFZsQixPRDVWa0I7O0FWbFRwQyxVQUFVO0VVbVR1QixTQ2xFbEIsT0RrRWtCOztBVm5UakMsZ0JBQWdCO0VVb1R1QixTQ2dPbEIsT0RoT2tCOztBVnBUdkMsY0FBYztFVXFUdUIsU0MySmxCLE9EM0prQjs7QVZyVHJDLG9CQUFvQjtFVXNUdUIsU0MySmxCLE9EM0prQjs7QVZ0VDNDLFVBQVU7RVV1VHVCLFNDc1JsQixPRHRSa0I7O0FWdlRqQyxjQUFjO0VVd1R1QixTQzVMbEIsT0Q0TGtCOztBVnhUckMscUJBQXFCO0VVeVR1QixTQ3hCbEIsT0R3QmtCOztBVnpUNUMsVUFBVTtFVTBUdUIsU0N1UGxCLE9EdlBrQjs7QVYxVGpDLFVBQVU7RVUyVHVCLFNDNklsQixPRDdJa0I7O0FWM1RqQyx1QkFBdUI7RVU0VHVCLFNDOUpsQixPRDhKa0I7O0FWNVQ5Qyx3QkFBd0I7RVU2VHVCLFNDOUpsQixPRDhKa0I7O0FWN1QvQyxxQkFBcUI7RVU4VHVCLFNDOUpsQixPRDhKa0I7O0FWOVQ1Qyx1QkFBdUI7RVUrVHVCLFNDbEtsQixPRGtLa0I7O0FWL1Q5QyxTQUFTO0VVZ1V1QixTQzhEbEIsT0Q5RGtCOztBVmhVaEMsUUFBUTtFVWlVdUIsU0NySGxCLE9EcUhrQjs7QVZqVS9CLFVBQVU7RVVrVXVCLFNDdlNsQixPRHVTa0I7O0FWbFVqQyxjQUFjO0VVbVV1QixTQzJabEIsT0QzWmtCOztBVm5VckMsWUFBWTtFVW9VdUIsU0NoTmxCLE9EZ05rQjs7QVZwVW5DLGNBQWM7RVVxVXVCLFNDN0ZsQixPRDZGa0I7O0FWclVyQyxjQUFjO0VVc1V1QixTQzdGbEIsT0Q2RmtCOztBVnRVckMsY0FBYztFVXVVdUIsU0MrT2xCLE9EL09rQjs7QVZ2VXJDLGVBQWU7RVV3VXVCLFNDaU1sQixPRGpNa0I7O0FWeFV0QyxVQUFVO0VVeVV1QixTQzZXbEIsT0Q3V2tCOztBVnpVakMsZ0JBQWdCO0VVMFV1QixTQzBJbEIsT0QxSWtCOztBVjFVdkMsa0JBQWtCO0VVMlV1QixTQzBJbEIsT0QxSWtCOztBVjNVekMsWUFBWTtFVTRVdUIsU0NxRmxCLE9EckZrQjs7QVY1VW5DLGNBQWM7RVU2VXVCLFNDbUZsQixPRG5Ga0I7O0FWN1VyQyxnQkFBZ0I7RVU4VXVCLFNDbkxsQixPRG1Ma0I7O0FWOVV2QyxpQkFBaUI7RVUrVXVCLFNDMEtsQixPRDFLa0I7O0FWL1V4Qyx3QkFBd0I7RVVnVnVCLFNDcEZsQixPRG9Ga0I7O0FWaFYvQyxnQkFBZ0I7RVVpVnVCLFNDd1BsQixPRHhQa0I7O0FWalZ2QyxXQUFXO0VVa1Z1QixTQ2pKbEIsT0RpSmtCOztBVmxWbEMsZUFBZTtBQUFTLHVCQUF1QjtFVW9WRCxTQy9NbEIsT0QrTWtCOztBVnBWOUMsYUFBYTtBQUFTLHFCQUFxQjtFVXNWQyxTQzlNbEIsT0Q4TWtCOztBVnRWNUMsZ0JBQWdCO0FBQVMsd0JBQXdCO0VVd1ZGLFNDak5sQixPRGlOa0I7O0FWeFYvQyxRQUFRO0FBQVMsT0FBTztFVTBWTSxTQ3ZHbEIsT0R1R2tCOztBVjFWOUIsT0FBTztFVTJWdUIsU0NoQ2xCLE9EZ0NrQjs7QVYzVjlCLFVBQVU7QUFBUyxPQUFPO0VVNlZJLFNDcVlsQixPRHJZa0I7O0FWN1Y5QixTQUFTO0FBQVMsT0FBTztFVStWSyxTQzRDbEIsT0Q1Q2tCOztBVi9WOUIsT0FBTztBQUFTLE9BQU87QUFBUyxPQUFPO0FBQVMsT0FBTztFVW1XekIsU0NnRGxCLE9EaERrQjs7QVZuVzlCLFNBQVM7QUFBUyxVQUFVO0FBQVMsT0FBTztFVXNXZCxTQ2lObEIsT0RqTmtCOztBVnRXOUIsT0FBTztBQUFTLE9BQU87RVV3V08sU0MrQ2xCLE9EL0NrQjs7QVZ4VzlCLFdBQVc7QUFBUyxPQUFPO0VVMFdHLFNDM1BsQixPRDJQa0I7O0FWMVc5QixRQUFRO0VVMld1QixTQ2hHbEIsT0RnR2tCOztBVjNXL0IsYUFBYTtFVTRXdUIsU0NwRmxCLE9Eb0ZrQjs7QVY1V3BDLGtCQUFrQjtFVTZXdUIsU0MwUGxCLE9EMVBrQjs7QVY3V3pDLG1CQUFtQjtFVThXdUIsU0MwUGxCLE9EMVBrQjs7QVY5VzFDLG1CQUFtQjtFVStXdUIsU0MwUGxCLE9EMVBrQjs7QVYvVzFDLG9CQUFvQjtFVWdYdUIsU0MwUGxCLE9EMVBrQjs7QVZoWDNDLG9CQUFvQjtFVWlYdUIsU0M2UGxCLE9EN1BrQjs7QVZqWDNDLHFCQUFxQjtFVWtYdUIsU0M2UGxCLE9EN1BrQjs7QVZsWDVDLGFBQWE7RVVtWHVCLFNDa1VsQixPRGxVa0I7O0FWblhwQyxlQUFlO0VVb1h1QixTQzhUbEIsT0Q5VGtCOztBVnBYdEMsa0JBQWtCO0VVcVh1QixTQ3lhbEIsT0R6YWtCOztBVnJYekMsV0FBVztFVXNYdUIsU0NzYWxCLE9EdGFrQjs7QVZ0WGxDLFFBQVE7RVV1WHVCLFNDMlpsQixPRDNaa0I7O0FWdlgvQixlQUFlO0VVd1h1QixTQzJabEIsT0QzWmtCOztBVnhYdEMsZ0JBQWdCO0VVeVh1QixTQ29hbEIsT0RwYWtCOztBVnpYdkMsV0FBVztFVTBYdUIsU0N4SmxCLE9Ed0prQjs7QVYxWGxDLGtCQUFrQjtFVTJYdUIsU0M4UGxCLE9EOVBrQjs7QVYzWHpDLGFBQWE7RVU0WHVCLFNDZ0JsQixPRGhCa0I7O0FWNVhwQyxVQUFVO0VVNlh1QixTQ3BGbEIsT0RvRmtCOztBVjdYakMsT0FBTztFVThYdUIsU0MzV2xCLE9EMldrQjs7QVY5WDlCLGFBQWE7RVUrWHVCLFNDL1JsQixPRCtSa0I7O0FWL1hwQyxvQkFBb0I7RVVnWXVCLFNDL1JsQixPRCtSa0I7O0FWaFkzQyxVQUFVO0VVaVl1QixTQytVbEIsT0QvVWtCOztBVmpZakMsaUJBQWlCO0VVa1l1QixTQytVbEIsT0QvVWtCOztBVmxZeEMsbUJBQW1CO0VVbVl1QixTQ2dEbEIsT0RoRGtCOztBVm5ZMUMsaUJBQWlCO0VVb1l1QixTQ2tEbEIsT0RsRGtCOztBVnBZeEMsbUJBQW1CO0VVcVl1QixTQytDbEIsT0QvQ2tCOztBVnJZMUMsb0JBQW9CO0VVc1l1QixTQytDbEIsT0QvQ2tCOztBVnRZM0MsU0FBUztFVXVZdUIsU0NqV2xCLE9EaVdrQjs7QVZ2WWhDLFdBQVc7RVV3WXVCLFNDbVlsQixPRG5Za0I7O0FWeFlsQyxXQUFXO0VVeVl1QixTQzdXbEIsT0Q2V2tCOztBVnpZbEMsU0FBUztFVTBZdUIsU0NrQ2xCLE9EbENrQjs7QVYxWWhDLFlBQVk7RVUyWXVCLFNDNUtsQixPRDRLa0I7O0FWM1luQyxTQUFTO0VVNFl1QixTQ2dObEIsT0RoTmtCOztBVjVZaEMsY0FBYztFVTZZdUIsU0N4RmxCLE9Ed0ZrQjs7QVY3WXJDLFVBQVU7RVU4WXVCLFNDNFRsQixPRDVUa0I7O0FWOVlqQyxVQUFVO0VVK1l1QixTQ3RJbEIsT0RzSWtCOztBVi9ZakMsUUFBUTtFVWdadUIsU0M2Q2xCLE9EN0NrQjs7QVZoWi9CLFVBQVU7QUFBUyxZQUFZO0VVa1pJLFNDNURsQixPRDREa0I7O0FWbFpuQyxTQUFTO0VVbVp1QixTQzhQbEIsT0Q5UGtCOztBVm5aaEMsVUFBVTtFVW9adUIsU0N1RWxCLE9EdkVrQjs7QVZwWmpDLFdBQVc7RVVxWnVCLFNDOVdsQixPRDhXa0I7O0FWclpsQyxPQUFPO0VVc1p1QixTQ3RTbEIsT0RzU2tCOztBVnRaOUIsTUFBTTtFVXVadUIsU0NpV2xCLE9EaldrQjs7QVZ2WjdCLFNBQVM7RVV3WnVCLFNDdVdsQixPRHZXa0I7O0FWeFpoQyxVQUFVO0VVeVp1QixTQytJbEIsT0QvSWtCOztBVnpaakMsYUFBYTtFVTBadUIsU0NrRmxCLE9EbEZrQjs7QVYxWnBDLGtCQUFrQjtFVTJadUIsU0M2TmxCLE9EN05rQjs7QVYzWnpDLHdCQUF3QjtFVTRadUIsU0MvV2xCLE9EK1drQjs7QVY1Wi9DLHVCQUF1QjtFVTZadUIsU0NqWGxCLE9EaVhrQjs7QVY3WjlDLGVBQWU7QUFBUyx1QkFBdUI7RVUrWkQsU0N6UmxCLE9EeVJrQjs7QVYvWjlDLGdCQUFnQjtFVWdhdUIsU0NuTWxCLE9EbU1rQjs7QVZoYXZDLGNBQWM7RVVpYXVCLFNDaVdsQixPRGpXa0I7O0FWamFyQyxnQkFBZ0I7RVVrYXVCLFNDb1ZsQixPRHBWa0I7O0FWbGF2QyxnQkFBZ0I7QUFBUyxPQUFPO0VVb2FGLFNDMFNsQixPRDFTa0I7O0FWcGE5QixpQkFBaUI7RVVxYXVCLFNDMEdsQixPRDFHa0I7O0FWcmF4QyxpQkFBaUI7RVVzYXVCLFNDNE1sQixPRDVNa0I7O0FWdGF4QyxTQUFTO0VVdWF1QixTQ3NMbEIsT0R0TGtCOztBVnZhaEMsbUJBQW1CO0VVd2F1QixTQ3pMbEIsT0R5TGtCOztBVnhhMUMsYUFBYTtFVXlhdUIsU0NvV2xCLE9EcFdrQjs7QVZ6YXBDLFVBQVU7RVUwYXVCLFNDOERsQixPRDlEa0I7O0FWMWFqQyxlQUFlO0FBQVMsUUFBUTtBQUFTLGNBQWM7RVU2YWxCLFNDOFNsQixPRDlTa0I7O0FWN2FyQyxnQkFBZ0I7QUFBUyxrQkFBa0I7RVUrYUYsU0MxRmxCLE9EMEZrQjs7QVYvYXpDLFNBQVM7RVVnYnVCLFNDc1dsQixPRHRXa0I7O0FWaGJoQyxVQUFVO0VVaWJ1QixTQ2xHbEIsT0RrR2tCOztBVmpiakMsVUFBVTtFVWtidUIsU0NnSGxCLE9EaEhrQjs7QVZsYmpDLGlCQUFpQjtFVW1idUIsU0NpSGxCLE9EakhrQjs7QVZuYnhDLHNCQUFzQjtFVW9idUIsU0N5TmxCLE9Eek5rQjs7QVZwYjdDLGVBQWU7RVVxYnVCLFNDdU5sQixPRHZOa0I7O0FWcmJ0QyxhQUFhO0VVc2J1QixTQy9ObEIsT0QrTmtCOztBVnRicEMsUUFBUTtFVXVidUIsU0M1TmxCLE9ENE5rQjs7QVZ2Yi9CLGlCQUFpQjtFVXdidUIsU0MyRWxCLE9EM0VrQjs7QVZ4YnhDLGtCQUFrQjtFVXlidUIsU0N5RWxCLE9EekVrQjs7QVZ6YnpDLFVBQVU7RVUwYnVCLFNDdk5sQixPRHVOa0I7O0FWMWJqQyxVQUFVO0VVMmJ1QixTQ3pDbEIsT0R5Q2tCOztBVjNiakMsWUFBWTtFVTRidUIsU0NwQ2xCLE9Eb0NrQjs7QVY1Ym5DLE9BQU87RVU2YnVCLFNDdExsQixPRHNMa0I7O0FWN2I5QixZQUFZO0VVOGJ1QixTQzdVbEIsT0Q2VWtCOztBVjlibkMsU0FBUztFVStidUIsU0MxUmxCLE9EMFJrQjs7QVYvYmhDLE9BQU87RVVnY3VCLFNDc0RsQixPRHREa0I7O0FWaGM5QixTQUFTO0VVaWN1QixTQ21MbEIsT0RuTGtCOztBVmpjaEMsUUFBUTtFVWtjdUIsU0NyUGxCLE9EcVBrQjs7QVZsYy9CLFNBQVM7RVVtY3VCLFNDclBsQixPRHFQa0I7O0FWbmNoQyxXQUFXO0VVb2N1QixTQzdXbEIsT0Q2V2tCOztBVnBjbEMsa0JBQWtCO0VVcWN1QixTQzdXbEIsT0Q2V2tCOztBVnJjekMsU0FBUztFVXNjdUIsU0MwTGxCLE9EMUxrQjs7QVZ0Y2hDLGdCQUFnQjtFVXVjdUIsU0MwTGxCLE9EMUxrQjs7QVZ2Y3ZDLFdBQVc7RVV3Y3VCLFNDeUZsQixPRHpGa0I7O0FWeGNsQyxjQUFjO0FBQVMsT0FBTztFVTBjQSxTQ3pVbEIsT0R5VWtCOztBVjFjOUIsT0FBTztBQUFTLFFBQVE7RVU0Y08sU0MrTWxCLE9EL01rQjs7QVY1Yy9CLFFBQVE7RVU2Y3VCLFNDNFBsQixPRDVQa0I7O0FWN2MvQixXQUFXO0VVOGN1QixTQ3VLbEIsT0R2S2tCOztBVjljbEMsY0FBYztFVStjdUIsU0N0UGxCLE9Ec1BrQjs7QVYvY3JDLGNBQWM7RVVnZHVCLFNDaUtsQixPRGpLa0I7O0FWaGRyQyxZQUFZO0VVaWR1QixTQzlQbEIsT0Q4UGtCOztBVmpkbkMsY0FBYztFVWtkdUIsU0MvTGxCLE9EK0xrQjs7QVZsZHJDLGVBQWU7RVVtZHVCLFNDeExsQixPRHdMa0I7O0FWbmR0QyxnQkFBZ0I7RVVvZHVCLFNDck1sQixPRHFNa0I7O0FWcGR2QyxxQkFBcUI7RVVxZHVCLFNDL0xsQixPRCtMa0I7O0FWcmQ1QyxnQkFBZ0I7QUFBUyxrQkFBa0I7QUFBUyxnQkFBZ0I7RVV3ZDdCLFNDeE1sQixPRHdNa0I7O0FWeGR2QyxjQUFjO0FBQVMsa0JBQWtCO0VVMGRBLFNDOU1sQixPRDhNa0I7O0FWMWR6QyxnQkFBZ0I7QUFBUyxnQkFBZ0I7RVU0ZEYsU0MvTWxCLE9EK01rQjs7QVY1ZHZDLGdCQUFnQjtBQUFTLGdCQUFnQjtFVThkRixTQ3BNbEIsT0RvTWtCOztBVjlkdkMsZUFBZTtFVStkdUIsU0NqTmxCLE9EaU5rQjs7QVYvZHRDLFFBQVE7RVVnZXVCLFNDdVJsQixPRHZSa0I7O0FWaGUvQixXQUFXO0VVaWV1QixTQzVTbEIsT0Q0U2tCOztBVmplbEMsWUFBWTtFVWtldUIsU0M5RWxCLE9EOEVrQjs7QVZsZW5DLGFBQWE7QUFBUyxhQUFhO0FBQVMsY0FBYztBQUFTLFdBQzlEO0FBQVMsYUFBYTtFVXNlUyxTQ25FbEIsT0RtRWtCOztBVnZlcEMsa0JBQWtCO0VVd2V1QixTQy9UbEIsT0QrVGtCOztBVnhlekMsTUFBTTtBQUFTLGNBQWM7QUFBUyxTQUFTO0VVMmVmLFNDcURsQixPRHJEa0I7O0FWM2VoQyxNQUFNO0FBQVMsVUFBVTtFVTZlUSxTQ25RbEIsT0RtUWtCOztBVjdlakMsY0FBYztFVThldUIsU0N6S2xCLE9EeUtrQjs7QVY5ZXJDLE9BQU87RVUrZXVCLFNDM0tsQixPRDJLa0I7O0FWL2U5Qix1QkFBdUI7QUFBUyxhQUFhO0FBQVMsZUFBZTtFVWtmL0IsU0N4SmxCLE9Ed0prQjs7QVZsZnRDLGlCQUFpQjtFVW1mdUIsU0MyS2xCLE9EM0trQjs7QVZuZnhDLE1BQU07RVVvZnVCLFNDaUNsQixPRGpDa0I7O0FWcGY3QixVQUFVO0FBQVMsVUFBVTtFVXNmSSxTQzBRbEIsT0QxUWtCOztBVnRmakMsUUFBUTtBQUFTLGVBQWU7RVV3Zk0sU0NWbEIsT0RVa0I7O0FWeGZ0QyxVQUFVO0FBQVMsaUJBQWlCO0VVMGZJLFNDWGxCLE9EV2tCOztBVjFmeEMsV0FBVztFVTJmdUIsU0MxSWxCLE9EMElrQjs7QVYzZmxDLGVBQWU7RVU0ZnVCLFNDbFZsQixPRGtWa0I7O0FWNWZ0QyxVQUFVO0VVNmZ1QixTQ2pKbEIsT0RpSmtCOztBVjdmakMsYUFBYTtFVThmdUIsU0NibEIsT0Rha0I7O0FWOWZwQyxXQUFXO0VVK2Z1QixTQytGbEIsT0QvRmtCOztBVi9mbEMsYUFBYTtFVWdnQnVCLFNDdUVsQixPRHZFa0I7O0FWaGdCcEMsb0JBQW9CO0VVaWdCdUIsU0N1RWxCLE9EdkVrQjs7QVZqZ0IzQyxRQUFRO0VVa2dCdUIsU0N6WmxCLE9EeVprQjs7QVZsZ0IvQixpQkFBaUI7QUFBUyxZQUFZO0VVb2dCSCxTQzVNbEIsT0Q0TWtCOztBVnBnQm5DLE9BQU87RVVxZ0J1QixTQzBNbEIsT0QxTWtCOztBVnJnQjlCLGNBQWM7RVVzZ0J1QixTQ3hhbEIsT0R3YWtCOztBVnRnQnJDLFFBQVE7RVV1Z0J1QixTQ0lsQixPREprQjs7QVZ2Z0IvQixjQUFjO0VVd2dCdUIsU0N1RmxCLE9EdkZrQjs7QVZ4Z0JyQyxVQUFVO0VVeWdCdUIsU0MyTWxCLE9EM01rQjs7QVZ6Z0JqQyxRQUFRO0VVMGdCdUIsU0MrUWxCLE9EL1FrQjs7QVYxZ0IvQixlQUFlO0VVMmdCdUIsU0N6Q2xCLE9EeUNrQjs7QVYzZ0J0QyxRQUFRO0VVNGdCdUIsU0N3UGxCLE9EeFBrQjs7QVY1Z0IvQixjQUFjO0VVNmdCdUIsU0NyWmxCLE9EcVprQjs7QVY3Z0JyQyxVQUFVO0VVOGdCdUIsU0N2QmxCLE9EdUJrQjs7QVY5Z0JqQyxpQkFBaUI7RVUrZ0J1QixTQzNMbEIsT0QyTGtCOztBVi9nQnhDLFdBQVc7RVVnaEJ1QixTQzVYbEIsT0Q0WGtCOztBVmhoQmxDLGlCQUFpQjtFVWloQnVCLFNDaFlsQixPRGdZa0I7O0FWamhCeEMsZUFBZTtFVWtoQnVCLFNDbllsQixPRG1Za0I7O0FWbGhCdEMsV0FBVztFVW1oQnVCLFNDdFlsQixPRHNZa0I7O0FWbmhCbEMsYUFBYTtFVW9oQnVCLFNDbFlsQixPRGtZa0I7O0FWcGhCcEMsYUFBYTtFVXFoQnVCLFNDbFlsQixPRGtZa0I7O0FWcmhCcEMsY0FBYztFVXNoQnVCLFNDM2JsQixPRDJia0I7O0FWdGhCckMsZ0JBQWdCO0VVdWhCdUIsU0MzYmxCLE9EMmJrQjs7QVZ2aEJ2QyxTQUFTO0VVd2hCdUIsU0MrS2xCLE9EL0trQjs7QVZ4aEJoQyxhQUFhO0VVeWhCdUIsU0NuVmxCLE9EbVZrQjs7QVZ6aEJwQyxNQUFNO0VVMGhCdUIsU0M5ZGxCLE9EOGRrQjs7QVYxaEI3QixjQUFjO0VVMmhCdUIsU0M1UmxCLE9ENFJrQjs7QVYzaEJyQyxlQUFlO0VVNGhCdUIsU0MvQ2xCLE9EK0NrQjs7QVY1aEJ0QyxpQkFBaUI7RVU2aEJ1QixTQzlibEIsT0Q4YmtCOztBVjdoQnhDLGNBQWM7RVU4aEJ1QixTQ3RmbEIsT0RzZmtCOztBVjloQnJDLGFBQWE7RVUraEJ1QixTQy9CbEIsT0QrQmtCOztBVi9oQnBDLGNBQWM7RVVnaUJ1QixTQ3pIbEIsT0R5SGtCOztBVmhpQnJDLFVBQVU7RVVpaUJ1QixTQ3ZJbEIsT0R1SWtCOztBVmppQmpDLGlCQUFpQjtFVWtpQnVCLFNDdklsQixPRHVJa0I7O0FWbGlCeEMsY0FBYztFVW1pQnVCLFNDNEpsQixPRDVKa0I7O0FWbmlCckMsYUFBYTtFVW9pQnVCLFNDNEpsQixPRDVKa0I7O0FWcGlCcEMsV0FBVztFVXFpQnVCLFNDeGNsQixPRHdja0I7O0FWcmlCbEMsT0FBTztFVXNpQnVCLFNDamJsQixPRGlia0I7O0FWdGlCOUIsV0FBVztFVXVpQnVCLFNDdkpsQixPRHVKa0I7O0FWdmlCbEMsYUFBYTtFVXdpQnVCLFNDM2dCbEIsT0QyZ0JrQjs7QVZ4aUJwQyxNQUFNO0VVeWlCdUIsU0M3WmxCLE9ENlprQjs7QVZ6aUI3QixVQUFVO0FBQVMsVUFBVTtBQUFTLE9BQU87RVU0aUJmLFNDektsQixPRHlLa0I7O0FWNWlCOUIsWUFBWTtFVTZpQnVCLFNDcEdsQixPRG9Ha0I7O0FWN2lCbkMsY0FBYztFVThpQnVCLFNDeGJsQixPRHdia0I7O0FWOWlCckMsa0JBQWtCO0VVK2lCdUIsU0M1V2xCLE9ENFdrQjs7QVYvaUJ6QyxZQUFZO0VVZ2pCdUIsU0M5VmxCLE9EOFZrQjs7QVZoakJuQyxZQUFZO0VVaWpCdUIsU0M5UGxCLE9EOFBrQjs7QVZqakJuQyxXQUFXO0VVa2pCdUIsU0NySmxCLE9EcUprQjs7QVZsakJsQyxVQUFVO0VVbWpCdUIsU0NlbEIsT0Rma0I7O0FWbmpCakMsZ0JBQWdCO0VVb2pCdUIsU0MyQmxCLE9EM0JrQjs7QVZwakJ2QyxlQUFlO0VVcWpCdUIsU0NvQ2xCLE9EcENrQjs7QVZyakJ0QyxZQUFZO0VVc2pCdUIsU0NxQ2xCLE9EckNrQjs7QVZ0akJuQyxhQUFhO0VVdWpCdUIsU0M1YWxCLE9ENGFrQjs7QVZ2akJwQyxtQkFBbUI7RVV3akJ1QixTQzlhbEIsT0Q4YWtCOztBVnhqQjFDLFdBQVc7RVV5akJ1QixTQy9WbEIsT0QrVmtCOztBVnpqQmxDLFFBQVE7RVUwakJ1QixTQ29CbEIsT0RwQmtCOztBVjFqQi9CLGVBQWU7RVUyakJ1QixTQzhLbEIsT0Q5S2tCOztBVjNqQnRDLGNBQWM7RVU0akJ1QixTQy9GbEIsT0QrRmtCOztBVjVqQnJDLGVBQWU7RVU2akJ1QixTQzZFbEIsT0Q3RWtCOztBVjdqQnRDLGFBQWE7RVU4akJ1QixTQzlNbEIsT0Q4TWtCOztBVjlqQnBDLFNBQVM7RVUrakJ1QixTQytLbEIsT0QvS2tCOztBVi9qQmhDLFFBQVE7RVVna0J1QixTQzdIbEIsT0Q2SGtCOztBVmhrQi9CLFdBQVc7RVVpa0J1QixTQ25IbEIsT0RtSGtCOztBVmprQmxDLFlBQVk7QUFBUyxlQUFlO0VVbWtCRSxTQ2tJbEIsT0RsSWtCOztBVm5rQnRDLG1CQUFtQjtFVW9rQnVCLFNDa0lsQixPRGxJa0I7O0FWcGtCMUMsZ0JBQWdCO0VVcWtCdUIsU0MwS2xCLE9EMUtrQjs7QVZya0J2QyxlQUFlO0VVc2tCdUIsU0NsSWxCLE9Ea0lrQjs7QVZ0a0J0QyxjQUFjO0VVdWtCdUIsU0N5S2xCLE9EektrQjs7QVZ2a0JyQyxlQUFlO0VVd2tCdUIsU0NuSWxCLE9EbUlrQjs7QVZ4a0J0QyxpQkFBaUI7RVV5a0J1QixTQ2xJbEIsT0RrSWtCOztBVnprQnhDLGlCQUFpQjtFVTBrQnVCLFNDcElsQixPRG9Ja0I7O0FWMWtCeEMsVUFBVTtFVTJrQnVCLFNDMUdsQixPRDBHa0I7O0FWM2tCakMsY0FBYztFVTRrQnVCLFNDN1FsQixPRDZRa0I7O0FWNWtCckMscUJBQXFCO0VVNmtCdUIsU0MxVWxCLE9EMFVrQjs7QVY3a0I1QyxlQUFlO0VVOGtCdUIsU0N6RWxCLE9EeUVrQjs7QVY5a0J0QyxZQUFZO0VVK2tCdUIsU0NrTGxCLE9EbExrQjs7QVYva0JuQyxVQUFVO0VVZ2xCdUIsU0NYbEIsT0RXa0I7O0FWaGxCakMsYUFBYTtFVWlsQnVCLFNDdUpsQixPRHZKa0I7O0FWamxCcEMsY0FBYztFVWtsQnVCLFNDd0psQixPRHhKa0I7O0FWbGxCckMsU0FBUztBQUFTLE9BQU87RVVvbEJLLFNDL2ZsQixPRCtma0I7O0FWcGxCOUIsV0FBVztFVXFsQnVCLFNDNEpsQixPRDVKa0I7O0FWcmxCbEMsU0FBUztFVXNsQnVCLFNDOEdsQixPRDlHa0I7O0FWdGxCaEMsVUFBVTtFVXVsQnVCLFNDd0RsQixPRHhEa0I7O0FWdmxCakMsVUFBVTtFVXdsQnVCLFNDOUlsQixPRDhJa0I7O0FWeGxCakMsTUFBTTtBQUFTLGdCQUFnQjtFVTBsQlEsU0MwTGxCLE9EMUxrQjs7QVYxbEJ2QyxpQkFBaUI7RVUybEJ1QixTQ2pIbEIsT0RpSGtCOztBVjNsQnhDLFlBQVk7RVU0bEJ1QixTQ3JIbEIsT0RxSGtCOztBVjVsQm5DLGdCQUFnQjtFVTZsQnVCLFNDbldsQixPRG1Xa0I7O0FWN2xCdkMsYUFBYTtBQUFTLFdBQVc7QUFBUyxnQkFBZ0I7RVVnbUJuQixTQy9nQmxCLE9EK2dCa0I7O0FWaG1CdkMsYUFBYTtBQUFTLDBCQUEwQjtFVWttQkMsU0M5Z0JsQixPRDhnQmtCOztBVmxtQmpELGFBQWE7QUFBUyxnQkFBZ0I7RVVvbUJDLFNDbGhCbEIsT0RraEJrQjs7QVZwbUJ2QyxhQUFhO0FBQVMsbUJBQW1CO0VVc21CQyxTQ25oQmxCLE9EbWhCa0I7O0FWdG1CMUMsYUFBYTtBQUFTLGlCQUFpQjtFVXdtQkMsU0N4aEJsQixPRHdoQmtCOztBVnhtQnhDLGlCQUFpQjtFVXltQnVCLFNDM0lsQixPRDJJa0I7O0FWem1CeEMsWUFBWTtFVTBtQnVCLFNDM09sQixPRDJPa0I7O0FWMW1CbkMsZ0JBQWdCO0VVMm1CdUIsU0N4SWxCLE9Ed0lrQjs7QVYzbUJ2QyxrQkFBa0I7RVU0bUJ1QixTQ3hJbEIsT0R3SWtCOztBVjVtQnpDLGVBQWU7RVU2bUJ1QixTQ3dCbEIsT0R4QmtCOztBVjdtQnRDLGlCQUFpQjtFVThtQnVCLFNDd0JsQixPRHhCa0I7O0FWOW1CeEMsVUFBVTtFVSttQnVCLFNDL2RsQixPRCtka0I7O0FWL21CakMsa0JBQWtCO0VVZ25CdUIsU0NsZWxCLE9Ea2VrQjs7QVZobkJ6QyxTQUFTO0VVaW5CdUIsU0NwY2xCLE9Eb2NrQjs7QVZqbkJoQyxpQkFBaUI7RVVrbkJ1QixTQ2xqQmxCLE9Ea2pCa0I7O0FWbG5CeEMsZUFBZTtFVW1uQnVCLFNDeFBsQixPRHdQa0I7O0FWbm5CdEMsZUFBZTtBQUFTLG1CQUFtQjtFVXFuQkQsU0N6UGxCLE9EeVBrQjs7QVZybkIxQyxlQUFlO0FBQVMsa0JBQWtCO0VVdW5CRCxTQzdQbEIsT0Q2UGtCOztBVnZuQnpDLGVBQWU7QUFBUyxpQkFBaUI7RVV5bkJELFNDaFFsQixPRGdRa0I7O0FWem5CeEMsYUFBYTtFVTBuQnVCLFNDclFsQixPRHFRa0I7O0FWMW5CcEMsZUFBZTtBQUFTLGVBQWU7RVU0bkJELFNDeFJsQixPRHdSa0I7O0FWNW5CdEMsZUFBZTtBQUFTLGdCQUFnQjtFVThuQkQsU0M3UmxCLE9ENlJrQjs7QVY5bkJ2QyxtQkFBbUI7RVUrbkJ1QixTQzFSbEIsT0QwUmtCOztBVi9uQjFDLGlCQUFpQjtFVWdvQnVCLFNDcFNsQixPRG9Ta0I7O0FWaG9CeEMsZ0JBQWdCO0VVaW9CdUIsU0MzUmxCLE9EMlJrQjs7QVZqb0J2QyxrQkFBa0I7RVVrb0J1QixTQy9SbEIsT0QrUmtCOztBVmxvQnpDLGdCQUFnQjtFVW1vQnVCLFNDalNsQixPRGlTa0I7O0FWbm9CdkMsYUFBYTtFVW9vQnVCLFNDK0RsQixPRC9Ea0I7O0FWcG9CcEMsY0FBYztFVXFvQnVCLFNDL0ZsQixPRCtGa0I7O0FWcm9CckMsb0JBQW9CO0VVc29CdUIsU0MvYmxCLE9EK2JrQjs7QVZ0b0IzQyxNQUFNO0VVdW9CdUIsU0N0VWxCLE9Ec1VrQjs7QVZ2b0I3QixhQUFhO0VVd29CdUIsU0N0VWxCLE9Ec1VrQjs7QVZ4b0JwQyxlQUFlO0VVeW9CdUIsU0NrRWxCLE9EbEVrQjs7QVZ6b0J0QyxpQkFBaUI7RVUwb0J1QixTQ3JLbEIsT0RxS2tCOztBVjFvQnhDLHdCQUF3QjtFVTJvQnVCLFNDcktsQixPRHFLa0I7O0FWM29CL0MsY0FBYztFVTRvQnVCLFNDNVVsQixPRDRVa0I7O0FWNW9CckMsZUFBZTtFVTZvQnVCLFNDd0hsQixPRHhIa0I7O0FWN29CdEMsVUFBVTtFVThvQnVCLFNDbkZsQixPRG1Ga0I7O0FWOW9CakMsVUFBVTtFVStvQnVCLFNDemVsQixPRHlla0I7O0FWL29CakMsV0FBVztFVWdwQnVCLFNDOVdsQixPRDhXa0I7O0FWaHBCbEMsU0FBUztFVWlwQnVCLFNDeEtsQixPRHdLa0I7O0FWanBCaEMscUJBQXFCO0VVa3BCdUIsU0NwUWxCLE9Eb1FrQjs7QVZscEI1QyxNQUFNO0FBQVMsY0FBYztFVW9wQlEsU0NTbEIsT0RUa0I7O0FWcHBCckMsVUFBVTtFVXFwQnVCLFNDamRsQixPRGlka0I7O0FWcnBCakMsU0FBUztFVXNwQnVCLFNDem9CbEIsT0R5b0JrQjs7QVZ0cEJoQyxVQUFVO0VVdXBCdUIsU0MvbkJsQixPRCtuQmtCOztBVnZwQmpDLG1CQUFtQjtFVXdwQnVCLFNDM2hCbEIsT0QyaEJrQjs7QVZ4cEIxQyxvQkFBb0I7RVV5cEJ1QixTQzloQmxCLE9EOGhCa0I7O0FWenBCM0Msb0JBQW9CO0VVMHBCdUIsU0M1aEJsQixPRDRoQmtCOztBVjFwQjNDLG9CQUFvQjtFVTJwQnVCLFNDamlCbEIsT0RpaUJrQjs7QVYzcEIzQyxZQUFZO0VVNHBCdUIsU0NwUmxCLE9Eb1JrQjs7QVY1cEJuQyxXQUFXO0VVNnBCdUIsU0M1TmxCLE9ENE5rQjs7QVY3cEJsQyxhQUFhO0VVOHBCdUIsU0M1TmxCLE9ENE5rQjs7QVY5cEJwQyxTQUFTO0VVK3BCdUIsU0MvTmxCLE9EK05rQjs7QVYvcEJoQyxPQUFPO0VVZ3FCdUIsU0NsT2xCLE9Ea09rQjs7QVZocUI5QixjQUFjO0VVaXFCdUIsU0NwZWxCLE9Eb2VrQjs7QVZqcUJyQyxnQkFBZ0I7RVVrcUJ1QixTQ3BlbEIsT0RvZWtCOztBVmxxQnZDLFNBQVM7RVVtcUJ1QixTQ3RTbEIsT0RzU2tCOztBVm5xQmhDLFNBQVM7RVVvcUJ1QixTQ2lGbEIsT0RqRmtCOztBVnBxQmhDLGFBQWE7RVVxcUJ1QixTQ2xrQmxCLE9Ea2tCa0I7O0FWcnFCcEMsYUFBYTtFVXNxQnVCLFNDclhsQixPRHFYa0I7O0FWdHFCcEMsZ0JBQWdCO0VVdXFCdUIsU0NwSWxCLE9Eb0lrQjs7QVZ2cUJ2QyxRQUFRO0VVd3FCdUIsU0NwY2xCLE9Eb2NrQjs7QVZ4cUIvQixtQkFBbUI7RVV5cUJ1QixTQ2hlbEIsT0RnZWtCOztBVnpxQjFDLFlBQVk7RVUwcUJ1QixTQ3BmbEIsT0RvZmtCOztBVjFxQm5DLFFBQVE7RVUycUJ1QixTQ2xObEIsT0RrTmtCOztBVjNxQi9CLGdCQUFnQjtFVTRxQnVCLFNDMVhsQixPRDBYa0I7O0FWNXFCdkMsT0FBTztFVTZxQnVCLFNDb0RsQixPRHBEa0I7O0FWN3FCOUIsZ0JBQWdCO0VVOHFCdUIsU0MzSmxCLE9EMkprQjs7QVY5cUJ2QyxZQUFZO0VVK3FCdUIsU0N6TmxCLE9EeU5rQjs7QVYvcUJuQyxVQUFVO0VVZ3JCdUIsU0NsSGxCLE9Ea0hrQjs7QVZockJqQyxnQkFBZ0I7RVVpckJ1QixTQzdMbEIsT0Q2TGtCOztBVmpyQnZDLGtCQUFrQjtFVWtyQnVCLFNDN0xsQixPRDZMa0I7O0FWbHJCekMsZUFBZTtFVW1yQnVCLFNDM0NsQixPRDJDa0I7O0FWbnJCdEMsaUJBQWlCO0VVb3JCdUIsU0MzQ2xCLE9EMkNrQjs7QVZwckJ4QyxnQkFBZ0I7RVVxckJ1QixTQ3JHbEIsT0RxR2tCOztBVnJyQnZDLG1CQUFtQjtFVXNyQnVCLFNDckdsQixPRHFHa0I7O0FWdHJCMUMsV0FBVztFVXVyQnVCLFNDN1VsQixPRDZVa0I7O0FWdnJCbEMsYUFBYTtFVXdyQnVCLFNDbmxCbEIsT0RtbEJrQjs7QVZ4ckJwQyxlQUFlO0VVeXJCdUIsU0NubEJsQixPRG1sQmtCOztBVnpyQnRDLFdBQVc7RVUwckJ1QixTQy9MbEIsT0QrTGtCOztBVjFyQmxDLFVBQVU7RVUyckJ1QixTQ2xYbEIsT0RrWGtCOztBVjNyQmpDLGNBQWM7RVU0ckJ1QixTQ2tGbEIsT0RsRmtCOztBVjVyQnJDLFdBQVc7RVU2ckJ1QixTQ21GbEIsT0RuRmtCOztBVjdyQmxDLFVBQVU7RVU4ckJ1QixTQzljbEIsT0Q4Y2tCOztBVjlyQmpDLG9CQUFvQjtFVStyQnVCLFNDMkJsQixPRDNCa0I7O0FWL3JCM0Msa0JBQWtCO0VVZ3NCdUIsU0NtRWxCLE9EbkVrQjs7QVZoc0J6QyxxQkFBcUI7RVVpc0J1QixTQ3hLbEIsT0R3S2tCOztBVmpzQjVDLFNBQVM7RVVrc0J1QixTQzlsQmxCLE9EOGxCa0I7O0FWbHNCaEMscUJBQXFCO0VVbXNCdUIsU0N0b0JsQixPRHNvQmtCOztBVm5zQjVDLHdCQUF3QjtFVW9zQnVCLFNDcURsQixPRHJEa0I7O0FWcHNCL0MsV0FBVztFVXFzQnVCLFNDeGxCbEIsT0R3bEJrQjs7QVZyc0JsQywrQkFBK0I7RVVzc0J1QixTQzVvQmxCLE9ENG9Ca0I7O0FWdHNCdEQsb0JBQW9CO0FBQVMsdUNBQXVDO0VVd3NCTixTQzlxQmxCLE9EOHFCa0I7O0FWeHNCOUQsWUFBWTtBQUFTLG1CQUFtQjtBQUFTLFFBQVE7RVUyc0IxQixTQ3ZmbEIsT0R1ZmtCOztBVjNzQi9CLFNBQVM7RVU0c0J1QixTQ2hZbEIsT0RnWWtCOztBVjVzQmhDLFdBQVc7RVU2c0J1QixTQ2hZbEIsT0RnWWtCOztBVjdzQmxDLFdBQVc7QUFBUyxpQkFBaUI7RVUrc0JHLFNDMUhsQixPRDBIa0I7O0FWL3NCeEMsY0FBYztFVWd0QnVCLFNDelJsQixPRHlSa0I7O0FWaHRCckMsVUFBVTtFVWl0QnVCLFNDaUNsQixPRGpDa0I7O0FWanRCakMsaUJBQWlCO0VVa3RCdUIsU0NpQ2xCLE9EakNrQjs7QVZsdEJ4QyxZQUFZO0VVbXRCdUIsU0NsSGxCLE9Ea0hrQjs7QVZudEJuQyxrQkFBa0I7RVVvdEJ1QixTQ2xIbEIsT0RrSGtCOztBVnB0QnpDLG1CQUFtQjtFVXF0QnVCLFNDbEhsQixPRGtIa0I7O0FWcnRCMUMsY0FBYztFVXN0QnVCLFNDck5sQixPRHFOa0I7O0FWdHRCckMsZUFBZTtFVXV0QnVCLFNDcGJsQixPRG9ia0I7O0FWdnRCdEMsU0FBUztFVXd0QnVCLFNDbUVsQixPRG5Fa0I7O0FWeHRCaEMsYUFBYTtFVXl0QnVCLFNDcERsQixPRG9Ea0I7O0FWenRCcEMsc0JBQXNCO0FBQVMsd0JBQXdCO0VVMnRCUixTQ3pZbEIsT0R5WWtCOztBVjN0Qi9DLE1BQU07QUFBUyxnQkFBZ0I7RVU2dEJRLFNDN2FsQixPRDZha0I7O0FWN3RCdkMsZUFBZTtFVTh0QnVCLFNDdFhsQixPRHNYa0I7O0FWOXRCdEMsaUJBQWlCO0VVK3RCdUIsU0NsZmxCLE9Ea2ZrQjs7QVYvdEJ4QyxtQkFBbUI7RVVndUJ1QixTQ2xmbEIsT0RrZmtCOztBVmh1QjFDLFVBQVU7RVVpdUJ1QixTQ3RUbEIsT0RzVGtCOztBVmp1QmpDLGdCQUFnQjtFVWt1QnVCLFNDcHRCbEIsT0RvdEJrQjs7QVZsdUJ2QyxrQkFBa0I7RVVtdUJ1QixTQ3B0QmxCLE9Eb3RCa0I7O0FWbnVCekMsU0FBUztBQUFTLGdCQUFnQjtFVXF1QkssU0NydEJsQixPRHF0QmtCOztBVnJ1QnZDLFdBQVc7QUFBUyxrQkFBa0I7RVV1dUJHLFNDdHRCbEIsT0RzdEJrQjs7QVZ2dUJ6QyxlQUFlO0VVd3VCdUIsU0NKbEIsT0RJa0I7O0FWeHVCdEMsaUJBQWlCO0VVeXVCdUIsU0NKbEIsT0RJa0I7O0FWenVCeEMsVUFBVTtFVTB1QnVCLFNDSGxCLE9ER2tCOztBVjF1QmpDLFlBQVk7RVUydUJ1QixTQzNXbEIsT0QyV2tCOztBVjN1Qm5DLG1CQUFtQjtBQUFTLFdBQVc7RVU2dUJMLFNDNVdsQixPRDRXa0I7O0FWN3VCbEMscUJBQXFCO0FBQVMsYUFBYTtFVSt1QlAsU0M3V2xCLE9ENldrQjs7QVYvdUJwQyxTQUFTO0VVZ3ZCdUIsU0N0TmxCLE9Ec05rQjs7QVZodkJoQyxrQkFBa0I7RVVpdkJ1QixTQzNibEIsT0QyYmtCOztBVmp2QnpDLFlBQVk7RVVrdkJ1QixTQ3RGbEIsT0RzRmtCOztBVmx2Qm5DLGlCQUFpQjtBQUFTLGVBQWU7QUFBUyxvQkFBb0I7RVVxdkIzQixTQ3hFbEIsT0R3RWtCOztBVnJ2QjNDLGlCQUFpQjtBQUFTLDhCQUE4QjtFVXV2QkgsU0N2RWxCLE9EdUVrQjs7QVZ2dkJyRCxpQkFBaUI7QUFBUyxvQkFBb0I7RVV5dkJILFNDM0VsQixPRDJFa0I7O0FWenZCM0MsaUJBQWlCO0FBQVMsdUJBQXVCO0VVMnZCSCxTQzVFbEIsT0Q0RWtCOztBVjN2QjlDLGlCQUFpQjtBQUFTLHFCQUFxQjtFVTZ2QkgsU0NqRmxCLE9EaUZrQjs7QVY3dkI1QyxVQUFVO0VVOHZCdUIsU0MzS2xCLE9EMktrQjs7QVY5dkJqQyxXQUFXO0FBQVMsT0FBTztBQUFTLFFBQVE7RVVpd0JiLFNDenJCbEIsT0R5ckJrQjs7QVZqd0IvQixXQUFXO0VVa3dCdUIsU0NsUGxCLE9Ea1BrQjs7QVZsd0JsQyxtQkFBbUI7RVVtd0J1QixTQ0tsQixPRExrQjs7QVZud0IxQyxtQkFBbUI7RVVvd0J1QixTQ0tsQixP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 */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file diff --git a/client/static/mosaico/rs/mosaico.min.js b/client/static/mosaico/rs/mosaico.min.js new file mode 100644 index 00000000..8b5c33bc --- /dev/null +++ b/client/static/mosaico/rs/mosaico.min.js @@ -0,0 +1,348 @@ +/** + * Mosaico - OpenSource Email Template Editor - v0.17.5 - 2019-05-18 + * Licensed under the GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.en.html) + * + * Copyright (c) 2019 Stefano Bagnara + */ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Mosaico = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i
\x3c!-- ko if: typeof $index != \'undefined\' --\x3e
\x3c!-- ko if: $index() > 0 --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $index() < $parent.blocks().length -1 --\x3e
\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: typeof $data._nextVariant != \'undefined\' --\x3e
\x3c!-- /ko --\x3e
\x3c!-- ko block: $data --\x3e\x3c!-- /ko --\x3e'),templateSystem.addTemplate("blocks-show","\x3c!-- ko template: { name: 'block-show', foreach: blocks } --\x3e\x3c!-- /ko --\x3e"),templateSystem.addTemplate("blocks-wysiwyg","
"),templateSystem.addTemplate("customstyle",'
Customized block.
  • In this status changes to properties will be specific to the current block (instead of being global to all blocks in the same section)
  • A "small cube" icon beside the property will mark the customization. By clicking this icon the property value will be reverted to the value defined for the section.
'),templateSystem.addTemplate("empty",""),templateSystem.addTemplate("error",'[
]'),templateSystem.addTemplate("gallery-images",'
\x3c!-- ko if: items.pageCount() > 1 --\x3e\x3c!-- /ko --\x3e'),templateSystem.addTemplate("img-wysiwyg",'
size
\x3c!-- ko if: _src() != \'\' --\x3e
\x3c!-- ko if: typeof $root.editImage !== \'undefined\' --\x3e
\x3c!-- /ko --\x3e \x3c!-- /ko --\x3e \x3c!-- ko if: _src() == \'\' --\x3e
\x3c!-- ko if: typeof $root.selectImage !== \'undefined\' --\x3e \x3c!-- /ko --\x3e \x3c!-- /ko --\x3e
\x3c!-- ko template: _template --\x3e\x3c!-- /ko --\x3e \x3c!-- ko if: _src() == \'\' --\x3e \x3c!-- Insert an image here --\x3e Drop an image here \x3c!-- /ko --\x3e \x3c!-- ko if: _src() != \'\' --\x3e \x3c!-- --\x3e \x3c!-- /ko --\x3e \x3c!-- pulsante per la cancellazione --\x3e
\x3c!-- ko if: _src.preloaded && _src() != _src.preloaded() --\x3ePRELOADING....\x3c!-- /ko --\x3e \x3c!-- ko if: _src() != \'\' --\x3e \x3c!-- /ko --\x3e
'),templateSystem.addTemplate("main",'\x3c!-- ko if: $root.logoPath --\x3e
mosaico
Oppps... !!
\x3c!-- /ko --\x3e'),templateSystem.addTemplate("toolbox",'
Block __name__
Add
\x3c!-- ko if: $root.selectedBlock() !== null --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.selectedBlock() == null --\x3e
By clicking on message parts you will select a block and content options, if any, will show here
\x3c!-- /ko --\x3e \x3c!-- ko block: content --\x3e\x3c!-- /ko --\x3e
\x3c!-- ko if: typeof $root.content().theme === \'undefined\' || typeof $root.content().theme().scheme === \'undefined\' || $root.content().theme().scheme() === \'custom\' --\x3e \x3c!-- ko if: $root.selectedBlock() !== null --\x3e
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.selectedBlock() == null --\x3e
By clicking on message parts you will select a block and style options, if available, will show here
\x3c!-- /ko --\x3e
\x3c!-- ko block: content --\x3e\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e
X
Gallery:
Click or drag files here
\x3c!-- ko if: $root.showGallery() --\x3e
\x3c!-- ko if: galleryRecent().length == 0 --\x3e
No images uploaded, yet
\x3c!-- /ko --\x3e \x3c!-- ko template: {name: \'gallery-images\', data: { items: galleryRecent } } --\x3e# recent gallery #\x3c!-- /ko --\x3e
\x3c!-- ko if: $root.galleryLoaded() === false --\x3e# load gally #\x3c!-- /ko --\x3e \x3c!-- ko if: $root.galleryLoaded() === \'loading\' --\x3e
Loading gallery...
\x3c!-- /ko --\x3e \x3c!-- ko if: $root.galleryLoaded() === 0 --\x3e
The gallery is empty
\x3c!-- /ko --\x3e \x3c!-- ko template: {name: \'gallery-images\', data: { items: galleryRemote } } --\x3e# remote gallery #\x3c!-- /ko --\x3e
\x3c!-- /ko --\x3e
X
\x3c!-- ko if: $root.debug --\x3e Content:
  BlockDefs:  
  \x3c!-- /ko --\x3e  Output  Export  Import  
X
\x3c!-- ko withProperties: { templateMode: \'styler\' } --\x3e \x3c!-- ko if: $root.showTheme --\x3e \x3c!-- ko block: $root.content().theme --\x3e\x3c!-- /ko --\x3e \x3c!-- /ko --\x3e \x3c!-- /ko --\x3e
')}); + +},{"../src/js/bindings/choose-template.js":31}],2:[function(require,module,exports){ +(function (global){ +"use strict";function compare(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i=0;u--)if(o[u]!==f[u])return!1;for(u=o.length-1;u>=0;u--)if(!_deepEqual(e[s=o[u]],t[s],r,n))return!1;return!0}function notDeepStrictEqual(e,t,r){_deepEqual(e,t,!0)&&fail(e,t,r,"notDeepStrictEqual",notDeepStrictEqual)}function expectedException(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function _tryBlock(e){var t;try{e()}catch(e){t=e}return t}function _throws(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=_tryBlock(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&fail(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!e&&i&&!r;if((!e&&util.isError(i)&&a&&expectedException(i,r)||s)&&fail(i,r,"Got unwanted exception"+n),e&&i&&r&&!expectedException(i,r)||!e&&i)throw i}assert.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=getMessage(this),this.generatedMessage=!0);var t=e.stackStartFunction||fail;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=getName(t),a=n.indexOf("\n"+i);if(a>=0){var s=n.indexOf("\n",a+1);n=n.substring(s+1)}this.stack=n}}},util.inherits(assert.AssertionError,Error),assert.fail=fail,assert.ok=ok,assert.equal=function(e,t,r){e!=t&&fail(e,t,r,"==",assert.equal)},assert.notEqual=function(e,t,r){e==t&&fail(e,t,r,"!=",assert.notEqual)},assert.deepEqual=function(e,t,r){_deepEqual(e,t,!1)||fail(e,t,r,"deepEqual",assert.deepEqual)},assert.deepStrictEqual=function(e,t,r){_deepEqual(e,t,!0)||fail(e,t,r,"deepStrictEqual",assert.deepStrictEqual)},assert.notDeepEqual=function(e,t,r){_deepEqual(e,t,!1)&&fail(e,t,r,"notDeepEqual",assert.notDeepEqual)},assert.notDeepStrictEqual=notDeepStrictEqual,assert.strictEqual=function(e,t,r){e!==t&&fail(e,t,r,"===",assert.strictEqual)},assert.notStrictEqual=function(e,t,r){e===t&&fail(e,t,r,"!==",assert.notStrictEqual)},assert.throws=function(e,t,r){_throws(!0,e,t,r)},assert.doesNotThrow=function(e,t,r){_throws(!1,e,t,r)},assert.ifError=function(e){if(e)throw e};var objectKeys=Object.keys||function(e){var t=[];for(var r in e)hasOwn.call(e,r)&&t.push(r);return t}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"util/":5}],3:[function(require,module,exports){ +"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; + +},{}],4:[function(require,module,exports){ +module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; + +},{}],5:[function(require,module,exports){ +(function (process,global){ +var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c,a="",l=!1,p=["{","}"];(isArray(r)&&(l=!0,p=["[","]"]),isFunction(r))&&(a=" [Function"+(r.name?": "+r.name:"")+"]");return isRegExp(r)&&(a=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(a=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(a=" "+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf("\n")>=0&&0,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./support/isBuffer":4,"_process":22,"inherits":3}],6:[function(require,module,exports){ +(function (global){ +var console,util=require("util"),assert=require("assert"),now=require("date-now"),slice=Array.prototype.slice,times={};console="undefined"!=typeof global&&global.console?global.console:"undefined"!=typeof window&&window.console?window.console:{};for(var functions=[[log,"log"],[info,"info"],[warn,"warn"],[error,"error"],[time,"time"],[timeEnd,"timeEnd"],[trace,"trace"],[dir,"dir"],[consoleAssert,"assert"]],i=0;i0,f=s?"-ie":"",n=!s&&(/mozilla/.test(i.toLowerCase())&&!/webkit/.test(i.toLowerCase())),c=[],a=["ffffff","000000","eeece1","1f497d","4f81bd","c0504d","9bbb59","8064a2","4bacc6","f79646"],r=["f2f2f2","7f7f7f","ddd9c3","c6d9f0","dbe5f1","f2dcdb","ebf1dd","e5e0ec","dbeef3","fdeada","d8d8d8","595959","c4bd97","8db3e2","b8cce4","e5b9b7","d7e3bc","ccc1d9","b7dde8","fbd5b5","bfbfbf","3f3f3f","938953","548dd4","95b3d7","d99694","c3d69b","b2a2c7","92cddc","fac08f","a5a5a5","262626","494429","17365d","366092","953734","76923c","5f497a","31859b","e36c09","7f7f7f","0c0c0c","1d1b10","0f243e","244061","632423","4f6128","3f3151","205867","974806"],l=["c00000","ff0000","ffc000","ffff00","92d050","00b050","00b0f0","0070c0","002060","7030a0"],h=[["003366","336699","3366cc","003399","000099","0000cc","000066"],["006666","006699","0099cc","0066cc","0033cc","0000ff","3333ff","333399"],["669999","009999","33cccc","00ccff","0099ff","0066ff","3366ff","3333cc","666699"],["339966","00cc99","00ffcc","00ffff","33ccff","3399ff","6699ff","6666ff","6600ff","6600cc"],["339933","00cc66","00ff99","66ffcc","66ffff","66ccff","99ccff","9999ff","9966ff","9933ff","9900ff"],["006600","00cc00","00ff00","66ff99","99ffcc","ccffff","ccccff","cc99ff","cc66ff","cc33ff","cc00ff","9900cc"],["003300","009933","33cc33","66ff66","99ff99","ccffcc","ffffff","ffccff","ff99ff","ff66ff","ff00ff","cc00cc","660066"],["333300","009900","66ff33","99ff66","ccff99","ffffcc","ffcccc","ff99cc","ff66cc","ff33cc","cc0099","993399"],["336600","669900","99ff33","ccff66","ffff99","ffcc99","ff9999","ff6699","ff3399","cc3399","990099"],["666633","99cc00","ccff33","ffff66","ffcc66","ff9966","ff6666","ff0066","d60094","993366"],["a58800","cccc00","ffff00","ffcc00","ff9933","ff6600","ff0033","cc0066","660033"],["996633","cc9900","ff9900","cc6600","ff3300","ff0000","cc0000","990033"],["663300","996600","cc3300","993300","990000","800000","993333"]],d=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},p=function(t){return d(Number(t))},v=function(t){var e=d(t);return e+e+e},u=function(t){if(t.length>10){var e=1+t.indexOf("("),o=t.indexOf(")"),i=t.substring(e,o).split(",");return["#",p(i[0]),p(i[1]),p(i[2])].join("")}return t};t.widget("evol.colorpicker",{version:"3.3.2",options:{color:null,customTheme:null,showOn:"both",hideButton:!1,displayIndicator:!0,transparentColor:!1,history:!0,defaultPalette:"theme",strings:"Theme Colors,Standard Colors,Web Colors,Theme Colors,Back to Palette,History,No history yet."},_active:!1,_create:function(){var e=this;switch(this._paletteIdx="theme"==this.options.defaultPalette?1:2,this._id="evo-cp"+o++,this._enabled=!0,this.options.showOn=this.options.hideButton?"focus":this.options.showOn,this.element.get(0).tagName){case"INPUT":var i=this.options.color,c=this.element,a=("focus"===this.options.showOn?"":"evo-pointer ")+"evo-colorind"+(n?"-ff":f)+(this.options.hideButton?" evo-hidden-button":""),r="";this._isPopup=!0,this._palette=null;var l=c.val();null!==i?i!=l&&c.val(i).change():""!==l&&(i=this.options.color=l),"#0000ffff"===i?a+=" evo-transparent":r=null!==i?"background-color:"+i:"",c.addClass("colorPicker "+this._id).wrap('
').after('
').on("keyup onpaste",function(o){var i=t(this).val();i!=e.options.color&&e._setValue(i,!0)});var h=this.options.showOn;"both"!==h&&"focus"!==h||c.on("focus",function(){e.showPalette()}),"both"!==h&&"button"!==h||c.next().on("click",function(t){return t.stopPropagation(),e.showPalette(),!1});break;default:this._isPopup=!1,this._palette=this.element.html(this._paletteHTML()).attr("aria-haspopup","true"),this._bindColors()}if(this.options.history&&(i&&this._add2History(i),this.options.initialHistory)){var d=this.options.initialHistory;for(var p in d)this._add2History(d[p])}},_paletteHTML:function(){var t=this._paletteIdx=Math.abs(this._paletteIdx),e=this.options,o=e.strings.split(","),i='
"+this["_paletteHTML"+t]()+'
'+o[1+t]+"";return e.history&&(i+=''+o[5]+""),i+="
",e.displayIndicator&&(i+=this._colorIndHTML(this.options.color)+this._colorIndHTML("")),i+="
"},_colorIndHTML:function(t){var e=s?"evo-colorbox-ie ":"",o="";return t?"#0000ffff"===t?e+="evo-transparent":o="background-color:"+t:o="display:none",'
'+(t||"")+"
"},_paletteHTML1:function(){var t,e=this.options,o=e.strings.split(","),i='
':'">',c='',h=''+c+o[0]+"";if(e.customTheme)for(t=0,ml=e.customTheme.length;t",s||(h+=''),h+='',t=0;t<10;t++)h+=i+r[t]+n;for(var d=1;d<4;d++)for(h+='',t=0;t<10;t++)h+=i+r[10*d+t]+n;for(h+='',t=40;t<50;t++)h+=i+r[t]+n;for(h+=""+c,e.transparentColor&&(h+='
'),h+=o[1]+"",t=0;t<10;t++)h+=i+l[t]+n}return h+="
"},_paletteHTML2:function(){for(var t,e,o='
':'">',n='',c='
',a=0,r=h.length;a
"}c+='
';var d="";for(c+=n,t=255;t>10;t-=10)c+=o+v(t)+i,d+=o+v(t-=10)+i;return c+=""+n+d+"
"},_switchPalette:function(e){if(this._enabled){var o,i,s,f=this.options,n=f.strings.split(",");if(t(e).hasClass("evo-hist")){var a='
'+n[5]+'
';if(0===c.length)a+="

 "+n[6]+"

";else for(var r=c.length-1;r>-1;r--)9===c[r].length?f.transparentColor&&(a+='
'):a+='
';a+="
",o=-this._paletteIdx,i=a,s=n[4]}else this._paletteIdx<0?(o=-this._paletteIdx,this._palette.find(".evo-hist").show()):o=2==this._paletteIdx?1:2,i=this["_paletteHTML"+o](),s=n[o+1],this._paletteIdx=o;this._paletteIdx=o;var l=this._palette.find(".evo-more").prev().html(i).end().children().eq(0).html(s);o<0&&l.next().hide()}},_downOrUpPositioning:function(){for(var t=this.element,e=0;null!==t&&e<100;){if("visible"!=t.css("overflow")){var o=this._palette.offset().top+this._palette.height(),i=t.offset().top+t.height(),s=this._palette.offset().top-this._palette.height()-this.element.outerHeight(),f=t.offset().top;o>i&&s>f?this._palette.css({bottom:this.element.outerHeight()+"px"}):this._palette.css({bottom:"auto"});break}if("HTML"==t[0].tagName)break;t=t.offsetParent(),e++}},showPalette:function(){if(this._enabled&&(this._active=!0,t(".colorPicker").not("."+this._id).colorpicker("hidePalette"),null===this._palette)){this._palette=this.element.next().after(this._paletteHTML()).next().on("click",function(t){return t.stopPropagation(),!1}),this._bindColors();var e=this;this._isPopup&&(this._downOrUpPositioning(),t(document.body).on("click."+e._id,function(t){t.target!=e.element.get(0)&&e.hidePalette()}).on("keyup."+e._id,function(t){27===t.keyCode&&e.hidePalette()}))}return this},hidePalette:function(){if(this._isPopup&&this._palette){t(document.body).off("click."+this._id);var e=this;this._palette.off("mouseover click","td,.evo-transparent").fadeOut(function(){e._palette.remove(),e._palette=e._cTxt=null}).find(".evo-more a").off("click")}return this},_bindColors:function(){var e=this,o=this.options,i=this._palette.find("div.evo-color"),s=o.history?"td,.evo-cHist>div":"td";o.transparentColor&&(s+=",.evo-transparent"),this._cTxt1=i.eq(0).children().eq(0),this._cTxt2=i.eq(1).children().eq(0),this._palette.on("click",s,function(o){if(e._enabled){var i=t(this);e._setValue(i.hasClass("evo-transparent")?"#0000ffff":u(i.attr("style").substring(17))),e._active=!1}}).on("mouseover",s,function(o){if(e._enabled){var i=t(this),s=i.hasClass("evo-transparent")?"#0000ffff":u(i.attr("style").substring(17));e.options.displayIndicator&&e._setColorInd(s,2),e._active&&e.element.trigger("mouseover.color",s)}}).find(".evo-more a").on("click",function(){return e._switchPalette(this),!1})},val:function(t){return void 0===t?this.options.color:(this._setValue(t),this)},_setValue:function(t,e){t=t.replace(/ /g,""),this.options.color=t,this._isPopup?(e||this.hidePalette(),this._setBoxColor(this.element.val(t).change().next(),t)):this._setColorInd(t,1),this.options.history&&this._paletteIdx>0&&this._add2History(t),this.element.trigger("change.color",t)},_setColorInd:function(t,e){var o=this["_cTxt"+e];this._setBoxColor(o,t),o.next().html(t)},_setBoxColor:function(t,e){"#0000ffff"===e?t.addClass("evo-transparent").removeAttr("style"):t.removeClass("evo-transparent").attr("style","background-color:"+e)},_setOption:function(t,e){"color"==t?this._setValue(e,!0):this.options[t]=e},_add2History:function(t){for(var e=c.length,o=0;o27&&c.shift(),c.push(t)},clear:function(){this.hidePalette().val("")},enable:function(){var t=this.element;return this._isPopup?t.removeAttr("disabled"):t.css({opacity:"1","pointer-events":"auto"}),"focus"!==this.options.showOn&&this.element.next().addClass("evo-pointer"),t.removeAttr("aria-disabled"),this._enabled=!0,this},disable:function(){var t=this.element;return this._isPopup?t.attr("disabled","disabled"):(this.hidePalette(),t.css({opacity:"0.3","pointer-events":"none"})),"focus"!==this.options.showOn&&this.element.next().removeClass("evo-pointer"),t.attr("aria-disabled","true"),this._enabled=!1,this},isDisabled:function(){return!this._enabled},destroy:function(){t(document.body).off("click."+this._id),this._palette&&(this._palette.off("mouseover click","td,.evo-cHist>div,.evo-transparent").find(".evo-more a").off("click"),this._isPopup&&this._palette.remove(),this._palette=this._cTxt=null),this._isPopup&&this.element.next().off("click").remove().end().off("focus").unwrap(),this.element.removeClass("colorPicker "+this.id).empty(),t.Widget.prototype.destroy.call(this)}})}(jQuery); + +},{}],9:[function(require,module,exports){ +"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; + +},{}],10:[function(require,module,exports){ +!function(e){"use strict";var r=function(e,r){var t=new Error(e+" at character "+r);throw t.index=r,t.description=e,t},t={"-":!0,"!":!0,"~":!0,"+":!0},n={"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},o=function(e){var r,t=0;for(var n in e)(r=n.length)>t&&e.hasOwnProperty(n)&&(t=r);return t},i=o(t),a=o(n),u={true:!0,false:!1,null:null},s=function(e){return n[e]||0},p=function(e,r,t){return{type:"||"===e||"&&"===e?"LogicalExpression":"BinaryExpression",operator:e,left:r,right:t}},f=function(e){return e>=48&&e<=57},c=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&!n[String.fromCharCode(e)]},l=function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e>=128&&!n[String.fromCharCode(e)]},h=function(e){for(var o,h,d=0,v=e.charAt,x=e.charCodeAt,y=function(r){return v.call(e,r)},m=function(r){return x.call(e,r)},g=e.length,b=function(){for(var e=m(d);32===e||9===e||10===e||13===e;)e=m(++d)},E=function(){var e,t,n=w();return b(),63!==m(d)?n:(d++,(e=E())||r("Expected expression",d),b(),58===m(d)?(d++,(t=E())||r("Expected expression",d),{type:"ConditionalExpression",test:n,consequent:e,alternate:t}):void r("Expected :",d))},C=function(){b();for(var r=e.substr(d,a),t=r.length;t>0;){if(n.hasOwnProperty(r)&&(!c(m(d))||d+r.length2&&n<=o[o.length-2].prec;)u=o.pop(),t=o.pop().value,a=o.pop(),e=p(t,a,u),o.push(e);(e=O())||r("Expected expression after "+t,d),o.push(i,e)}for(e=o[f=o.length-1];f>1;)e=p(o[f-1].value,o[f-2],e),f-=2;return e},O=function(){var r,n,o;if(b(),r=m(d),f(r)||46===r)return U();if(39===r||34===r)return k();if(91===r)return S();for(o=(n=e.substr(d,i)).length;o>0;){if(t.hasOwnProperty(n)&&(!c(m(d))||d+n.length=0)return}}if(f){var h=c[c.length-1],g=h.pseudos;h.pseudos=function(e){return e.filter(function(e){return!r(e)})}(h.pseudos),l=c.toString(),h.pseudos=g}try{a=t(l)}catch(e){return}a.each(function(){var r=this;if(!(r.name&&e.nonVisualElements.indexOf(r.name.toUpperCase())>=0)){if(f){var n="pseudo"+f,a=r[n];a||((a=r[n]=t("").get(0)).pseudoElementType=f,a.pseudoElementParent=r,r[n]=a),r=a}if(!r.styleProps){if(r.styleProps={},t(r).attr(i)){var l="* { "+t(r).attr(i)+" } ";c(utils.parseCSS(l)[0][1],new utils.Selector("")}}function p(r,n){if(r.name){var s=r.name.toUpperCase();if(e[n+"Elements"].indexOf(s)>-1)for(var a in r.styleProps)if(r.styleProps[a].prop===n){if(r.styleProps[a].value.match(/px/)){var o=r.styleProps[a].value.replace("px","");return void t(r).attr(n,o)}if(e.tableElements.indexOf(s)>-1&&r.styleProps[a].value.match(/\%/))return void t(r).attr(n,r.styleProps[a].value)}}}function c(e){return 0!==e.indexOf("url(")?e:e.replace(/^url\((["'])?([^"']+)\1\)$/,"$2")}}function r(e){return"before"===e.name||"after"===e.name}return e.ignoredPseudos=["hover","active","focus","visited","link"],e.widthElements=["TABLE","TD","TH","IMG"],e.heightElements=["TABLE","TD","TH","IMG"],e.tableElements=["TABLE","TH","TR","TD","CAPTION","COLGROUP","COL","THEAD","TBODY","TFOOT"],e.nonVisualElements=["HEAD","TITLE","BASE","LINK","STYLE","META","SCRIPT","NOSCRIPT"],e.styleToAttribute={"background-color":"bgcolor","background-image":"background","text-align":"align","vertical-align":"valign"},e.excludedProperties=[],e.juiceDocument=function(r,n){n=utils.getDefaultOptions(n);var s=function(t,r){return function(t,r){var n,s,a,o=[];return t("style").each(function(){if(1===(n=(a=this).childNodes).length){if(s=n[0].data,r.applyStyleTags&&void 0===t(a).attr("data-embed")&&o.push(s),r.removeStyleTags&&void 0===t(a).attr("data-embed")){var i=utils.getPreservedText(a.childNodes[0].nodeValue,{mediaQueries:r.preserveMediaQueries,fontFaces:r.preserveFontFaces,keyFrames:r.preserveKeyFrames,pseudos:e.ignoredPseudos});i?a.childNodes[0].nodeValue=i:t(a).remove()}t(a).removeAttr("data-embed")}}),o}(t,r).join("\n")}(r,n);return s+="\n"+n.extraCss,t(r,s,n),r},e.inlineDocument=t,e}; + +},{"./utils":14}],12:[function(require,module,exports){ +"use strict";module.exports=exports=Property;var utils=require("./utils");function Property(t,r,i,p,o){this.prop=t,this.value=r,this.selector=i,this.priority=p||0,this.additionalPriority=o||[]}Property.prototype.compareFunc=function(t){var r=[];r.push.apply(r,this.selector.specificity()),r.push.apply(r,this.additionalPriority),r[0]+=this.priority;var i=[];return i.push.apply(i,t.selector.specificity()),i.push.apply(i,t.additionalPriority),i[0]+=t.priority,utils.compareFunc(r,i)},Property.prototype.compare=function(t){return 1===this.compareFunc(t)?this:t},Property.prototype.toString=function(){return this.prop+": "+this.value.replace(/['"]+/g,"")+";"}; + +},{"./utils":14}],13:[function(require,module,exports){ +"use strict";var parser=require("slick/parser");function Selector(t,e){this.text=t,this.spec=void 0,this.styleAttribute=e||!1}function parse(t){try{return parser(t)[0]}catch(t){return[]}}module.exports=exports=Selector,Selector.prototype.parsed=function(){return this.tokens||(this.tokens=parse(this.text)),this.tokens},Selector.prototype.specificity=function(){var t=this.styleAttribute;return this.spec||(this.spec=function e(r,s){var i=s||parse(r);var a=[t?1:0,0,0,0];var n=[];for(var o=0;o=0;o--)(t.fontFaces&&"font-face"===s[o].type||t.mediaQueries&&"media"===s[o].type||t.keyFrames&&"keyframes"===s[o].type||t.pseudos&&s[o].selectors&&this.matchesPseudo(s[o].selectors[0],t.pseudos))&&n.unshift(mensch.stringify({stylesheet:{rules:[s[o]]}},{comments:!1,indentation:" "})),s[o].position.start;return 0!==n.length&&"\n"+n.join("\n")+"\n"},exports.normalizeLineEndings=function(e){return e.replace(/\r\n/g,"\n").replace(/\n/g,"\r\n")},exports.matchesPseudo=function(e,t){return t.find(function(t){return e.indexOf(t)>-1})},exports.compareFunc=function(e,t){for(var r=Math.min(e.length,t.length),s=0;st[s]?1:-1;return e.length-t.length},exports.compare=function(e,t){return 1==exports.compareFunc(e,t)?e:t},exports.extend=function(e,t){for(var r in t)own.call(t,r)&&(e[r]=t[r]);return e},exports.getDefaultOptions=function(e){var t=exports.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},e);return t.webResources=t.webResources||{},t}; + +},{"./property":12,"./selector":13,"mensch":17}],15:[function(require,module,exports){ +(function (global){ +!function(e){if("function"==typeof define&&define.amd)define(["knockout","jquery","jquery-ui/ui/widgets/sortable","jquery-ui/ui/widgets/draggable","jquery-ui/ui/widgets/droppable"],e);else if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module){var n="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,t="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;"undefined"!=typeof window?window.jQuery.ui.sortable:"undefined"!=typeof global&&global.jQuery.ui.sortable,"undefined"!=typeof window?window.jQuery.ui.draggable:"undefined"!=typeof global&&global.jQuery.ui.draggable,"undefined"!=typeof window?window.jQuery.ui.droppable:"undefined"!=typeof global&&global.jQuery.ui.droppable,e(n,t)}else e(window.ko,window.jQuery)}(function(e,n){var t="ko_sortItem",o=e.utils.unwrapObservable,i=e.utils.domData.get,a=e.utils.domData.set,d=n.ui&&n.ui.version,r=d&&d.indexOf("1.6.")&&d.indexOf("1.7.")&&(d.indexOf("1.8.")||"1.8.24"===d),s=function(n,o){e.utils.arrayForEach(n,function(e){1===e.nodeType&&(a(e,t,o),a(e,"ko_parentList",i(e.parentNode,"ko_sortList")))})},l=function(n,t){var i,a={},d=o(n())||{};return d.data?(a[t]=d.data,a.name=d.template):a[t]=n(),e.utils.arrayForEach(["afterAdd","afterRender","as","beforeRemove","includeDestroyed","templateEngine","templateOptions","nodes"],function(n){d.hasOwnProperty(n)?a[n]=d[n]:e.bindingHandlers.sortable.hasOwnProperty(n)&&(a[n]=e.bindingHandlers.sortable[n])}),"foreach"===t&&(a.afterRender?(i=a.afterRender,a.afterRender=function(e,n){s.call(n,e,n),i.call(n,e,n)}):a.afterRender=s),a},u=function(e,n){var t=o(n);if(t)for(var i=0;i=0)if(c)if(c!==p)c.splice(f,1),p.splice(b,0,D),a(v,t,null),l.item.remove();else{var k=o(c);c.valueWillMutate&&c.valueWillMutate(),k.splice(f,1),k.splice(b,0,D),c.valueHasMutated&&c.valueHasMutated()}else p.splice(b,0,D),a(v,t,null),l.item.remove()}else b>=0&&(c&&(c.splice(f,1),e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),e.options&&e.options.deferUpdates&&e.tasks.runEarly()),p.splice(b,0,D)),a(v,t,null);e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),h.afterMove&&h.afterMove.call(this,m,d,l)}g&&g.apply(this,arguments)},connectWith:!!h.connectClass&&"."+h.connectClass})),void 0!==h.isEnabled&&e.computed({read:function(){m.sortable(o(h.isEnabled)?"enable":"disable")},disposeWhenNodeIsRemoved:d})},0);return e.utils.domNodeDisposal.addDisposeCallback(d,function(){(m.data("ui-sortable")||m.data("sortable"))&&m.sortable("destroy"),e.utils.toggleDomNodeCssClass(d,h.connectClass,!1),clearTimeout(w)}),{controlsDescendantBindings:!0}},update:function(n,t,o,i,d){var r=l(t,"foreach");a(n,"ko_sortList",r.foreach),e.bindingHandlers.template.update(n,function(){return r},o,i,d)},connectClass:"ko_container",allowDrop:!0,afterMove:null,beforeMove:null,options:{}},e.bindingHandlers.draggable={init:function(t,i,d,r,s){var u=o(i())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.draggable.options),f=l(i,"data"),b=u.connectClass||e.bindingHandlers.draggable.connectClass,g=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.draggable.isEnabled;return u="data"in u?u.data:u,a(t,"ko_dragItem",u),e.utils.extend(p,c),p.connectToSortable=!!b&&"."+b,n(t).draggable(p),void 0!==g&&e.computed({read:function(){n(t).draggable(o(g)?"enable":"disable")},disposeWhenNodeIsRemoved:t}),e.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).draggable("destroy")}),e.bindingHandlers.template.init(t,function(){return f},d,r,s)},update:function(n,t,o,i,a){var d=l(t,"data");return e.bindingHandlers.template.update(n,function(){return d},o,i,a)},connectClass:e.bindingHandlers.sortable.connectClass,options:{helper:"clone"}},e.bindingHandlers.droppable={init:function(a,d,r,s,l){var u=o(d())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.droppable.options),f=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.droppable.isEnabled;e.utils.extend(p,c),u="data"in u?u.data:d(),p.drop=function(e,n){var o=i(n.draggable[0],"ko_dragItem")||i(n.draggable[0],t);u(o)},n(a).droppable(p),void 0!==f&&e.computed({read:function(){n(a).droppable(o(f)?"enable":"disable")},disposeWhenNodeIsRemoved:a}),e.utils.domNodeDisposal.addDisposeCallback(a,function(){n(a).droppable("destroy")})},options:{accept:"*"}}}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],16:[function(require,module,exports){ +(function (global){ +!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?e("undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null):"function"==typeof define&&define.amd?define(["knockout"],e):e(window.ko)}(function(e){e.subscribable.fn.watch=function(t,a,n,o){var r=typeof t;return"boolean"===r||"undefined"===r?e.watch(this,{enabled:!1!==t}):"function"!==r||e.isSubscribable(t)?e.watch(t,a,n,o||this):e.watch(this,a||{},t,o||this),this},e.watch=function(t,a,n,o){function r(l,c,f,u,s,b){if(l&&0!==a.depth&&(-1===a.depth||f.length<(a.depth||1))){if(a.watchedOnly&&!l.watchable&&l!=t)return;if(!1!==a.enabled&&!0!==a.enabled||(l.watchable=a.enabled),!1===l.watchable)return;!0===a.seal&&(l.watchable=!1);var d=typeof l;if("object"===d||"function"===d){if(l._watcher===o)return;if(a.hide&&e.utils.arrayIndexOf(a.hide,l)>-1)return;var h=[].concat(f,c&&c!==t?c:[]);if("function"!==d){if("[object Object]"===Object.prototype.toString.call(l))e.utils.objectForEach(l,function(t,n){if(n=a.getter?a.getter.call(o,h,l,t):n){if(a.wrap){var i=Object.prototype.toString.call(n);"[object Function]"!==i&&"[object Object]"!==i&&(a.beforeWrap&&!1===a.beforeWrap.call(o,h,l,n)||(n=l[t]="[object Array]"===i?e.observableArray(n):e.observable(n)))}a.unloop&&(n._watcher=u?void 0:o);var c=r(n,s?null:l,h,u,null,t);a.tagFields&&void 0===n._fieldName&&(c||"parentsOnly"!==a.tagFields&&"function"==typeof n||"object"==typeof n)&&(n._fieldName=t)}});else if(!0!==a.hideArrays)for(var p=0;p0||a.mutable)&&(t.subscribe(function(e){if(a.oldValues>0){var n=t.oldValues?t.oldValues:t.oldValues=[];for(n.unshift(e);n.length>a.oldValues;)n.pop()}a.mutable&&"object"==typeof e&&r(e,c?null:t,l,!0,!0)},null,"beforeChange")._watcher=o))}(l,y,h,s),y)return r(l(),s?null:l,h,u,!0),!0;if(!0!==a.hideWrappedValues)return r(l(),s?null:l,h,u,!0)}}}}}function i(e){var t=e[l];if(!t)throw"Subscriptions field (."+l+") not defined for observable child "+(e._fieldName||"");if(t.change)for(n=t.change.length-1;n>=0;n--)t.change[n]._watcher===o&&t.change[n].dispose();if(t.beforeChange&&(a.mutable||a.oldValues>0))for(n=t.beforeChange.length-1;n>=0;n--)t.beforeChange[n]._watcher===o&&t.beforeChange[n].dispose();if(t.arrayChange)for(var n=t.arrayChange.length-1;n>=0;n--)t.arrayChange[n]._watcher===o&&t.arrayChange[n].dispose()}var l;switch("function"==typeof a&&(o=o||n,n=a,a={}),o=o||this,"function"==typeof e.subscription||e.version){case!0:l="_subscriptions";break;case"3.0.0":l="F";break;case"3.1.0":l="H";break;case"3.2.0":l="M";break;case"3.3.0":l="G";break;case"3.4.0":case"3.4.1":l="K";break;case"3.4.2":l="F";break;case"3.5.0-beta":l="S";break;default:throw"Unsupported Knockout version. Only v3.0.0 to v3.5.0-beta are supported when minified. Current version is "+e.version}return"function"!=typeof t||e.isSubscribable(t)?(r(t,null,[]),{dispose:function(){r(t,null,[],!0)}}):e.computed(t,n,a)}}),window.foo="1.4.0"; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],17:[function(require,module,exports){ +module.exports={lex:require("./lib/lexer"),parse:require("./lib/parser"),stringify:require("./lib/stringify")}; + +},{"./lib/lexer":19,"./lib/parser":20,"./lib/stringify":21}],18:[function(require,module,exports){ +(function (process){ +function debug(e){return _debug.bind(null,e)}function _debug(e){var n=[].slice.call(arguments,1);n.unshift("["+e+"]"),process.stderr.write(n.join(" ")+"\n")}exports=module.exports=debug; + +}).call(this,require('_process')) + +},{"_process":22}],19:[function(require,module,exports){ +var DEBUG=!1,TIMER=!1,debug=require("./debug")("lex");function lex(e){var a,r,s="",t=0,c=-1,n=0,l=1,o="before-selector",u=[o],i={},b=[],f=["media","keyframes",{name:"-webkit-keyframes",type:"keyframes",prefix:"-webkit-"},{name:"-moz-keyframes",type:"keyframes",prefix:"-moz-"},{name:"-ms-keyframes",type:"keyframes",prefix:"-ms-"},{name:"-o-keyframes",type:"keyframes",prefix:"-o-"},"font-face",{name:"import",state:"before-at-value"},{name:"charset",state:"before-at-value"},"supports","viewport",{name:"namespace",state:"before-at-value"},"document",{name:"-moz-document",type:"document",prefix:"-moz-"},"page"];function m(e){return e?u[u.length-1-e]:o}function g(a){var r=c+1;return a===e.slice(r,r+a.length)}function v(a){var r=e.slice(c).indexOf(a);return r>0&&r}function k(e){return e===p(1)}function p(a){return e[c+(a||1)]}function d(){var e=u.pop();return o=u[u.length-1],e}function h(e){return o=e,u.push(o),u.length}function w(e){var a=o;return u[u.length-1]=o=e,a}function y(a){if(1==(a||1))"\n"==e[c]?(l++,t=1):t++,c++;else{var r=e.slice(c,c+a).split("\n");r.length>1&&(l+=r.length-1,t=1),t+=r[r.length-1].length,c+=a}}function x(){i.end={line:l,col:t},DEBUG&&debug("addToken:",JSON.stringify(i,null,2)),b.push(i),s="",i={}}function E(e){i={type:e,start:{line:l,col:t}}}for(TIMER&&(a=Date.now());y(),r=e[c];)switch(DEBUG&&debug(r,m()),r){case" ":switch(m()){case"selector":case"value":case"value-paren":case"at-group":case"at-value":case"comment":case"double-string":case"single-string":s+=r}break;case"\n":case"\t":case"\r":case"\f":switch(m()){case"value":case"value-paren":case"at-group":case"comment":case"single-string":case"double-string":case"selector":s+=r;break;case"at-value":"\n"===r&&(i.value=s.trim(),x(),d())}break;case":":switch(m()){case"name":i.name=s.trim(),s="",w("before-value");break;case"before-selector":s+=r,E("selector"),h("selector");break;case"before-value":w("value"),s+=r;break;default:s+=r}break;case";":switch(m()){case"name":case"before-value":case"value":s.trim().length>0&&(i.value=s.trim(),x()),w("before-name");break;case"value-paren":s+=r;break;case"at-value":i.value=s.trim(),x(),d();break;case"before-name":break;default:s+=r}break;case"{":switch(m()){case"selector":if("\\"===p(-1)){s+=r;break}i.text=s.trim(),x(),w("before-name"),n+=1;break;case"at-group":switch(i.name=s.trim(),i.type){case"font-face":case"viewport":case"page":h("before-name");break;default:h("before-selector")}x(),n+=1;break;case"name":case"at-rule":i.name=s.trim(),x(),h("before-name"),n+=1;break;case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":w("value"),s+=r}break;case"}":switch(m()){case"before-name":case"name":case"before-value":case"value":s&&(i.value=s.trim()),i.name&&i.value&&x(),E("end"),x(),d(),"at-group"===m()&&(E("at-group-end"),x(),d()),n>0&&(n-=1);break;case"at-group":case"before-selector":case"selector":if("\\"===p(-1)){s+=r;break}n>0&&"at-group"===m(1)&&(E("at-group-end"),x()),n>1&&d(),n>0&&(n-=1);break;case"double-string":case"single-string":case"comment":s+=r}break;case'"':case"'":switch(m()){case"double-string":'"'===r&&"\\"!==p(-1)&&d();break;case"single-string":"'"===r&&"\\"!==p(-1)&&d();break;case"before-at-value":w("at-value"),h('"'===r?"double-string":"single-string");break;case"before-value":w("value"),h('"'===r?"double-string":"single-string");break;case"comment":break;default:"\\"!==p(-1)&&h('"'===r?"double-string":"single-string")}s+=r;break;case"/":switch(m()){case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":case"selector":case"name":case"value":if(k("*")){var D=v("*/");D&&y(D+1)}else"before-value"==m()&&w("value"),s+=r;break;default:k("*")?(E("comment"),h("comment"),y()):s+=r}break;case"*":switch(m()){case"comment":k("/")?(i.text=s,y(),x(),d()):s+=r;break;case"before-selector":s+=r,E("selector"),h("selector");break;case"before-value":w("value"),s+=r;break;default:s+=r}break;case"@":switch(m()){case"comment":case"double-string":case"single-string":s+=r;break;case"before-value":w("value"),s+=r;break;default:for(var z,T,B=!1,G=0,I=f.length;!B&&G1)for(var r=1;r+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(//,"["+escape(">+~`!@$%^&={}\\;/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(//g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),Part=function(e){this.combinator=e||" ",this.tag="*"};Part.prototype.toString=function(){if(!this.raw){var e,s,t="";if(t+=this.tag||"*",this.id&&(t+="#"+this.id),this.classes&&(t+="."+this.classList.join(".")),this.attributes)for(e=0;s=this.attributes[e++];)t+="["+s.name+(s.operator?s.operator+'"'+s.value+'"':"")+"]";if(this.pseudos)for(e=0;s=this.pseudos[e++];)t+=":"+s.name,s.value&&(t+="("+s.value+")");this.raw=t}return this.raw};var Expression=function(){this.length=0};Expression.prototype.toString=function(){if(!this.raw){for(var e,s="",t=0;e=this[t++];)1!==t&&(s+=" ")," "!==e.combinator&&(s+=e.combinator+" "),s+=e;this.raw=s}return this.raw};var replacer=function(e,s,t,a,r,i,n,c,u,o,p,l,h,f,g,d){var v,w;if((s||!this.length)&&(v=this[this.length++]=new Expression,s))return"";if(v||(v=this[this.length-1]),(t||a||!v.length)&&(w=v[v.length++]=new Part(t)),w||(w=v[v.length-1]),r)w.tag=unescape(r);else if(i)w.id=unescape(i);else if(n){var m=unescape(n),b=w.classes||(w.classes={});if(!b[m]){b[m]=escape(n);var x=w.classList||(w.classList=[]);x.push(m),x.sort()}}else h?(d=d||g,(w.pseudos||(w.pseudos=[])).push({type:1==l.length?"class":"element",name:unescape(h),escapedName:escape(h),value:d?unescape(d):null,escapedValue:d?escape(d):null})):c&&(p=p?escape(p):null,(w.attributes||(w.attributes=[])).push({operator:u,name:unescape(c),escapedName:escape(c),value:p?unescape(p):null,escapedValue:p?escape(p):null}));return""},Expressions=function(e){this.length=0;for(var s,t=this,a=e;e;){if((s=e.replace(slickRe,function(){return replacer.apply(t,arguments)}))===e)throw new Error(a+" is an invalid expression");e=s}};Expressions.prototype.toString=function(){if(!this.raw){for(var e,s=[],t=0;e=this[t++];)s.push(e);this.raw=s.join(", ")}return this.raw};var cache={},parse=function(e){return null==e?null:(e=(""+e).replace(/^\s+|\s+$/g,""),cache[e]||(cache[e]=new Expressions(e)))};module.exports=parse; + +},{}],24:[function(require,module,exports){ +!function(t){var e=/^\s+/,r=/\s+$/,n=0,a=t.round,i=t.min,s=t.max,o=t.random;function f(o,h){if(h=h||{},(o=o||"")instanceof f)return o;if(!(this instanceof f))return new f(o,h);var u=function(n){var a={r:0,g:0,b:0},o=1,f=null,h=null,u=null,l=!1,c=!1;"string"==typeof n&&(n=function(t){t=t.replace(e,"").replace(r,"").toLowerCase();var n,a=!1;if(H[t])t=H[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(n=O.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=O.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=O.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=O.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=O.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=O.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=O.hex8.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),a:z(n[4]),format:a?"name":"hex8"};if(n=O.hex6.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),format:a?"name":"hex"};if(n=O.hex4.exec(t))return{r:M(n[1]+""+n[1]),g:M(n[2]+""+n[2]),b:M(n[3]+""+n[3]),a:z(n[4]+""+n[4]),format:a?"name":"hex8"};if(n=O.hex3.exec(t))return{r:M(n[1]+""+n[1]),g:M(n[2]+""+n[2]),b:M(n[3]+""+n[3]),format:a?"name":"hex"};return!1}(n));"object"==typeof n&&(P(n.r)&&P(n.g)&&P(n.b)?(g=n.r,b=n.g,d=n.b,a={r:255*C(g,255),g:255*C(b,255),b:255*C(d,255)},l=!0,c="%"===String(n.r).substr(-1)?"prgb":"rgb"):P(n.h)&&P(n.s)&&P(n.v)?(f=L(n.s),h=L(n.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,s=n*(1-r),o=n*(1-i*r),f=n*(1-(1-i)*r),h=a%6;return{r:255*[n,o,s,s,f,n][h],g:255*[f,n,n,o,s,s][h],b:255*[s,s,f,n,n,o][h]}}(n.h,f,h),l=!0,c="hsv"):P(n.h)&&P(n.s)&&P(n.l)&&(f=L(n.s),u=L(n.l),a=function(t,e,r){var n,a,i;function s(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var o=r<.5?r*(1+e):r+e-r*e,f=2*r-o;n=s(f,o,t+1/3),a=s(f,o,t),i=s(f,o,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(n.h,f,u),l=!0,c="hsl"),n.hasOwnProperty("a")&&(o=n.a));var g,b,d;return o=F(o),{ok:l,format:n.format||c,r:i(255,s(a.r,0)),g:i(255,s(a.g,0)),b:i(255,s(a.b,0)),a:o}}(o);this._originalInput=o,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=h.format||u.format,this._gradientType=h.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=n++}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,o=s(t,e,r),f=i(t,e,r),h=(o+f)/2;if(o==f)n=a=0;else{var u=o-f;switch(a=h>.5?u/(2-o-f):u/(o+f),o){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(f(n));return i}function S(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,a=r.s,i=r.v,s=[],o=1/e;e--;)s.push(f({h:n,s:a,v:i})),i=(i+o)%1;return s}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=F(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=h(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return l(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var s=[I(a(t).toString(16)),I(a(e).toString(16)),I(a(r).toString(16)),I(N(n))];if(i&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1))return s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0);return s.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+"%",g:a(100*C(this._g,255))+"%",b:a(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%)":"rgba("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(R[l(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+c(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=f(t);r="#"+c(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(d,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(w,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},f.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:L(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:o(),g:o(),b:o()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),a=f(e).toRgb(),i=r/100;return f({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},f.readability=function(e,r){var n=f(e),a=f(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,a,i=f.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},f.mostReadable=function(t,e,r){var n,a,i,s,o=null,h=0;a=(r=r||{}).includeFallbackColors,i=r.level,s=r.size;for(var u=0;uh&&(h=n,o=f(e[u]));return f.isReadable(t,o,{level:i,size:s})||!a?o:(r.includeFallbackColors=!1,f.mostReadable(t,["#fff","#000"],r))};var H=f.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},R=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(H);function F(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=i(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function q(t){return i(1,s(0,t))}function M(t){return parseInt(t,16)}function I(t){return 1==t.length?"0"+t:""+t}function L(t){return t<=1&&(t=100*t+"%"),t}function N(e){return t.round(255*parseFloat(e)).toString(16)}function z(t){return M(t)/255}var E,T,j,O=(T="[\\s|\\(]+("+(E="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",j="[\\s|\\(]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")[,|\\s]+("+E+")\\s*\\)?",{CSS_UNIT:new RegExp(E),rgb:new RegExp("rgb"+T),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+T),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+T),hsva:new RegExp("hsva"+j),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function P(t){return!!O.CSS_UNIT.exec(t)}"undefined"!=typeof module&&module.exports?module.exports=f:"function"==typeof define&&define.amd?define(function(){return f}):window.tinycolor=f}(Math); + +},{}],25:[function(require,module,exports){ +(function (global){ +!function(e){e(["jquery"],function(e){return function(){var t,n,o,s=0,i={error:"error",info:"info",success:"success",warning:"warning"},a={clear:function(n,o){var s=u();t||r(s);l(n,s,o)||function(n){for(var o=t.children(),s=o.length-1;s>=0;s--)l(e(o[s]),n)}(s)},remove:function(n){var o=u();t||r(o);if(n&&0===e(":focus",n).length)return void p(n);t.children().length&&t.remove()},error:function(e,t,n){return d({type:i.error,iconClass:u().iconClasses.error,message:e,optionsOverride:n,title:t})},getContainer:r,info:function(e,t,n){return d({type:i.info,iconClass:u().iconClasses.info,message:e,optionsOverride:n,title:t})},options:{},subscribe:function(e){n=e},success:function(e,t,n){return d({type:i.success,iconClass:u().iconClasses.success,message:e,optionsOverride:n,title:t})},version:"2.1.4",warning:function(e,t,n){return d({type:i.warning,iconClass:u().iconClasses.warning,message:e,optionsOverride:n,title:t})}};return a;function r(n,o){return n||(n=u()),(t=e("#"+n.containerId)).length?t:(o&&(t=function(n){return(t=e("
").attr("id",n.containerId).addClass(n.positionClass)).appendTo(e(n.target)),t}(n)),t)}function l(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){p(t)}}),!0)}function c(e){n&&n(e)}function d(n){var i=u(),a=n.iconClass||i.iconClass;if(void 0!==n.optionsOverride&&(i=e.extend(i,n.optionsOverride),a=n.optionsOverride.iconClass||a),!function(e,t){if(e.preventDuplicates){if(t.message===o)return!0;o=t.message}return!1}(i,n)){s++,t=r(i,!0);var l=null,d=e("
"),f=e("
"),g=e("
"),m=e("
"),h=e(i.closeHtml),v={intervalId:null,hideEta:null,maxHideTime:null},C={toastId:s,state:"visible",startTime:new Date,options:i,map:n};return n.iconClass&&d.addClass(i.toastClass).addClass(a),function(){if(n.title){var e=n.title;i.escapeHtml&&(e=w(n.title)),f.append(e).addClass(i.titleClass),d.append(f)}}(),function(){if(n.message){var e=n.message;i.escapeHtml&&(e=w(n.message)),g.append(e).addClass(i.messageClass),d.append(g)}}(),i.closeButton&&(h.addClass(i.closeClass).attr("role","button"),d.prepend(h)),i.progressBar&&(m.addClass(i.progressClass),d.prepend(m)),i.rtl&&d.addClass("rtl"),i.newestOnTop?t.prepend(d):t.append(d),function(){var e="";switch(n.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}d.attr("aria-live",e)}(),d.hide(),d[i.showMethod]({duration:i.showDuration,easing:i.showEasing,complete:i.onShown}),i.timeOut>0&&(l=setTimeout(T,i.timeOut),v.maxHideTime=parseFloat(i.timeOut),v.hideEta=(new Date).getTime()+v.maxHideTime,i.progressBar&&(v.intervalId=setInterval(D,10))),function(){i.closeOnHover&&d.hover(O,b);!i.onclick&&i.tapToDismiss&&d.click(T);i.closeButton&&h&&h.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&!0!==e.cancelBubble&&(e.cancelBubble=!0),i.onCloseClick&&i.onCloseClick(e),T(!0)});i.onclick&&d.click(function(e){i.onclick(e),T()})}(),c(C),i.debug&&console&&console.log(C),d}function w(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function T(t){var n=t&&!1!==i.closeMethod?i.closeMethod:i.hideMethod,o=t&&!1!==i.closeDuration?i.closeDuration:i.hideDuration,s=t&&!1!==i.closeEasing?i.closeEasing:i.hideEasing;if(!e(":focus",d).length||t)return clearTimeout(v.intervalId),d[n]({duration:o,easing:s,complete:function(){p(d),clearTimeout(l),i.onHidden&&"hidden"!==C.state&&i.onHidden(),C.state="hidden",C.endTime=new Date,c(C)}})}function b(){(i.timeOut>0||i.extendedTimeOut>0)&&(l=setTimeout(T,i.extendedTimeOut),v.maxHideTime=parseFloat(i.extendedTimeOut),v.hideEta=(new Date).getTime()+v.maxHideTime)}function O(){clearTimeout(l),v.hideEta=0,d.stop(!0,!0)[i.showMethod]({duration:i.showDuration,easing:i.showEasing})}function D(){var e=(v.hideEta-(new Date).getTime())/v.maxHideTime*100;m.width(e+"%")}}function u(){return e.extend({},{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1},a.options)}function p(e){t||(t=r()),e.is(":visible")||(e.remove(),e=null,0===t.children().length&&(t.remove(),o=void 0))}}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t("undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null):window.toastr=t(window.jQuery)}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],26:[function(require,module,exports){ +module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; + +},{}],27:[function(require,module,exports){ +(function (process,global){ +var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c,a="",l=!1,p=["{","}"];(isArray(r)&&(l=!0,p=["[","]"]),isFunction(r))&&(a=" [Function"+(r.name?": "+r.name:"")+"]");return isRegExp(r)&&(a=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(a=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(a=" "+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf("\n")>=0&&0,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./support/isBuffer":26,"_process":22,"inherits":9}],28:[function(require,module,exports){ +(function (global){ +"use strict";var templateLoader=require("./template-loader.js"),console=require("console-browserify"),ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,$="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;require("./ko-bindings.js");var performanceAwareCaller=require("./timed-call.js").timedCall,addUndoStackExtensionMaker=require("./undomanager/undomain.js"),colorPlugin=require("./ext/color.js"),utilPlugin=require("./ext/util.js"),inlinerPlugin=require("./ext/inliner.js"),localStorageLoader=require("./ext/localstorage.js");if(void 0===ko)throw"Cannot find knockout.js library!";if(void 0===$)throw"Cannot find jquery library!";function _canonicalize(e){var i=global.document.createElement("div");return i.innerHTML="",i.firstChild.href=e,i.innerHTML=i.innerHTML,i.firstChild.href}function _appendUrlParameters(e,i){var n=-1==e.indexOf("?")?"?":"&",a=e;for(var t in i)i.hasOwnProperty(t)&&(a+=n+t+"="+encodeURIComponent(i[t]),n="&");return a}var applyBindingOptions=function(e,i){i.bindingHandlers.wysiwygSrc.convertedUrl=function(i,n,a,t){var o=e.imgProcessorBackend?e.imgProcessorBackend:"./upload",r=o.match(/^(https?:\/\/[^\/]*\/).*$/),l=i.match(/^(https?:\/\/[^\/]*\/).*$/);if(null===r||null!==l&&r[1]==l[1])return o.indexOf("?"),_appendUrlParameters(o,{src:i,method:n,params:a+","+t});console.log("Cannot apply backend image resizing to non-local resources ",i,n,a,t,r,l);var d={method:n,width:a};return null!==t&&(d.height=t),_appendUrlParameters(i,d)},i.bindingHandlers.wysiwygSrc.placeholderUrl=function(i,n,a){return _appendUrlParameters(e.imgProcessorBackend?e.imgProcessorBackend:"./upload",{method:"placeholder",params:i+","+n})},e&&e.tinymceConfig&&(i.bindingHandlers.wysiwyg.standardOptions=e.tinymceConfig),e&&e.tinymceConfigFull&&(i.bindingHandlers.wysiwyg.fullOptions=e.tinymceConfigFull)},start=function(e,i,n,a,t){templateLoader.fixPageEvents();var o=[function(i){e&&e.strings&&(i.t=function(n,a){var t=e.strings[n];return void 0===t&&(console.warn("Missing translation string for",n,": using default string"),t=n),i.tt(t,a)})},addUndoStackExtensionMaker(performanceAwareCaller),colorPlugin,utilPlugin,inlinerPlugin];if(void 0!==t)for(var r=0;r\r\n\r\n\r\n\r\n
\r\n\r\n',init:function(e,t){!function(n){try{var o=e.contentDocument;o.open(),o.write(ko.bindingHandlers.bindIframe.tpl),o.close();try{var r=o.body;if(r){for(var i=e.contentWindow.parent.document.getElementsByTagName("script"),d=0;d0?e:10)}}),e.currentPage=ko.computed({read:o,write:function(n){n>e.pageCount()?o(e.pageCount()):o(n<=0?1:n)}}),e.pageCount=ko.computed(function(){return Math.ceil(e().length/e.pageSize())||1}),e.currentPageData=ko.computed(function(){var n=t(),r=o(),u=n*(r-1),a=n*r;return e().slice(u,a)}),e.moveFirst=function(){e.currentPage(1)},e.movePrevious=function(){e.currentPage(e.currentPage()-1)},e.moveNext=function(){e.currentPage(e.currentPage()+1)},e.moveLast=function(){e.currentPage(e.pageCount())},e}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],37:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,sortable="undefined"!=typeof window?window.jQuery.ui.sortable:"undefined"!=typeof global?global.jQuery.ui.sortable:null,draggable="undefined"!=typeof window?window.jQuery.ui.draggable:"undefined"!=typeof global?global.jQuery.ui.draggable:null,console=require("console-browserify");if(require("knockout-sortable"),void 0===sortable)throw"Cannot find jquery-ui sortable widget dependency!";if(void 0===draggable)throw"Cannot find jquery-ui sortable widget dependency!";var isDraggingHelper=function(e,n){e()?n.type==e()+"stop"&&e(!1):"dragstart"!=n.type&&"sortstart"!=n.type||e(n.type.substring(0,4))},makeExtendedValueAccessor=function(e){return function(){var n=e();ko.utils.peekObservable(n),ko.utils.unwrapObservable(n),"undefined"==n.options&&(n.options={});var o=n.options.start;n.options.start=function(e,r){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&(n.scrollInterval=global.setInterval(function(){var e=$(n.dropContainer).scrollTop();$(n.dropContainer).scrollTop(e+n.adding)},20)),void 0!==o)return o(e,r)};var r=n.options.stop;n.options.stop=function(e,o){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&global.clearInterval(n.scrollInterval),void 0!==r)return r(e,o)};var i=n.options.drag;return n.options.drag=function(e,o){if(void 0!==n.dropContainer){var r=e.pageY-$(n.dropContainer).offset().top,t=r-$(n.dropContainer).height();n.adding=r<-20?-20:r<0?-10:r<10?-5:t>20?20:t>0?10:t>-10?5:0}if(void 0!==i)return i(e,o)},n}};ko.bindingHandlers.extsortable={init:function(e,n,o,r,i){return ko.bindingHandlers.sortable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.sortable.update(e,makeExtendedValueAccessor(n),o,r,i)}},ko.bindingHandlers.extdraggable={init:function(e,n,o,r,i){return ko.bindingHandlers.draggable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.draggable.update(e,makeExtendedValueAccessor(n),o,r,i)}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6,"knockout-sortable":15}],38:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.fudroppable={init:function(e,i){var o=i()||{},r={},l=function(e,i,o,r,l,a){e[i]?global.clearTimeout(e[i]):(void 0!==r&&o.classList.add(r),ko.isWriteableObservable(l)&&!l()&&l(!0));var s=function(){e[i]=null,void 0!==r&&o.classList.remove(r),ko.isWriteableObservable(l)&&l()&&l(!1)};"dragleave"==a.type?s():e[i]=global.setTimeout(s,500)};(o.active||o.activeClass)&&ko.utils.registerEventHandler(global,"dragover",l.bind(void 0,r,"activeTimeout",e,o.activeClass,o.active)),o.hoverClass&&ko.utils.registerEventHandler(e,"dragover dragenter dragleave",l.bind(void 0,r,"hoverTimeout",e,o.hoverClass,void 0))}},ko.bindingHandlers.fileupload={extendOptions:{},remoteFilePreprocessor:function(e){return e},init:function(e,i){ko.utils.domNodeDisposal.addDisposeCallback(e,function(){$(e).fileupload("destroy")}),!("WebkitAppearance"in global.document.documentElement.style)||"webkitNbspMode"in global.document.documentElement.style||"StyleMedia"in global?$(e).attr("title",""):$(e).attr("title"," ")},update:function(e,i){var o=i()||{},r=$(e),l=r.parents(".uploadzone"),a=o.data;o.data=void 0;var s=o.canvasPreview;ko.utils.extend(o,{url:"/upload/",dataType:"json",dropZone:l.find(".mo-uploadzone")[0],autoUpload:!0,acceptFileTypes:/(\.|\/)(gif|jpe?g|png)$/i,maxFileSize:1048576,disableImageResize:/Android(?!.*Chrome)|Opera/.test(global.navigator.userAgent),previewMaxWidth:200,previewMaxHeight:200,previewCrop:!1,replaceFileInput:!1,messages:{unknownError:"Unknown error",uploadedBytes:"Uploaded bytes exceed file size",maxNumberOfFiles:"Maximum number of files exceeded",acceptFileTypes:"File type not allowed",maxFileSize:"File is too large",minFileSize:"File is too small",post_max_size:"The uploaded file exceeds the post_max_size directive in php.ini",max_file_size:"File is too big",min_file_size:"File is too small",accept_file_types:"Filetype not allowed",max_number_of_files:"Maximum number of files exceeded",max_width:"Image exceeds maximum width",min_width:"Image requires a minimum width",max_height:"Image exceeds maximum height",min_height:"Image requires a minimum height",abort:"File upload aborted",image_resize:"Failed to resize image",generic:"Unexpected upload error"}}),ko.utils.extend(o,ko.bindingHandlers.fileupload.extendOptions);var n=0,t="",d=function(){0==--n&&(a&&a(t),t="",s&&(l.find("img").show(),l.find("canvas").remove()),l.removeClass("uploading"),l.find(".progress-bar").css("width",0))},u=function(e){if("object"==typeof o.messages&&null!==o.messages){var i=e.match(/^([^ ]+)(.*)$/);if(i&&void 0!==o.messages[i[1]])return o.messages[i[1]]+i[2]}return e};r.fileupload(o);for(var p=["fileuploadadd","fileuploadprocessalways","fileuploadprogressall","fileuploaddone","fileuploadfail"],f=function(e,i){if("fileuploadadd"==e.type&&n++,"fileuploadfail"==e.type&&(console.log("fileuploadfail",e,i),o.onerror&&(""===i.errorThrown&&"error"==i.textStatus?o.onerror(u("generic")):o.onerror(u("generic ("+i.errorThrown+")"))),d()),"fileuploaddone"==e.type)if(void 0!==i.result.files[0].url){if(o.onfile)for(var r=0;r=0;m--){var g=p[m];r.on(g,f)}$.support.fileInput||r.prop("disabled",!0).parent().addClass("disabled")}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],39:[function(require,module,exports){ +(function (global){ +"use strict";var beforeSubscriptionProp,afterSubscriptionProp,ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");if(ko.bindingHandlers.ifSubs={cloneNodes:function(o,e){for(var i=0,n=o.length,r=[];i=ko.utils.unwrapObservable(u.threshold),void 0!==e().not&&e().not&&(i=!i),(p||i!==s)&&(p&&ko.computedContext.getDependenciesCount()&&(t=ko.bindingHandlers.ifSubs.cloneNodes(ko.virtualElements.childNodes(o),!0)),i?(p||ko.virtualElements.setDomNodeChildren(o,ko.bindingHandlers.ifSubs.cloneNodes(t)),ko.applyBindingsToDescendants(r,o)):ko.virtualElements.emptyNode(o),s=i)},null,{disposeWhenNodeIsRemoved:o}),{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.ifSubs=!0,"function"==typeof ko.subscription&&void 0!==ko.isWritableObservable)beforeSubscriptionProp="beforeSubscriptionAdd",afterSubscriptionProp="afterSubscriptionRemove";else if("3.2.0"==ko.version)beforeSubscriptionProp="va",afterSubscriptionProp="nb";else if("3.3.0"==ko.version)beforeSubscriptionProp="ja",afterSubscriptionProp="ua";else if("3.4.0"==ko.version)beforeSubscriptionProp="sa",afterSubscriptionProp="Ia";else if("3.4.1"==ko.version)beforeSubscriptionProp="sa",afterSubscriptionProp="Ia";else if("3.4.2"==ko.version)beforeSubscriptionProp="ua",afterSubscriptionProp="Ka";else{if("3.5.0-beta"!=ko.version)throw"Unsupported minimized Knockout version "+ko.version+" (supported DEBUG or minimized 3.2.0 ... 3.5.0-beta)";beforeSubscriptionProp="Pa",afterSubscriptionProp="ab"}ko.extenders.subscriptionsCount=function(o,e,i){if(void 0===o.subsCount){o.subsCount=ko.observable(o.getSubscriptionsCount()).extend({notify:"always"});var n=o[beforeSubscriptionProp],r=o[afterSubscriptionProp];o[beforeSubscriptionProp]=function(r){n&&n.call(o,r);var s=o.getSubscriptionsCount()+1;void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)},o[afterSubscriptionProp]=function(n){r&&r.call(o,n);var s=o.getSubscriptionsCount();void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)}}else console.log("already applied subscriptionCount to observable");return null}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],40:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,spinner="undefined"!=typeof window?window.jQuery.ui.spinner:"undefined"!=typeof global?global.jQuery.ui.spinner:null,console=require("console-browserify");if(void 0===spinner)throw"Cannot find jquery-ui spinner widget dependency!";$.widget("ui.spinner",spinner,{_adjustValue:function(n){this._super(n);var e=this.options;return n=parseFloat(n.toFixed(this._precision())),null!==e.max&&n>e.max?e.max:null!==e.min&&nt&&w+pc&&_scrollIntoView(o,!1,r,c-u)):(wt&&u>c&&_scrollIntoView(o,!0,r,t-w)))}}catch(o){console.log("TODO exception scrolling into view",o)}}},ko.virtualElements.allowedBindings.scrollIntoView=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],46:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,origTemplateSystem=require("./script-template.js"),templates={};function createStringTemplateEngine(e){var t=e.makeTemplateSource;return e.makeTemplateSource=function(e){return void 0!==templates[e]?new ko.templateSources.stringTemplate(e,templates[e]):t(e)},e}function pushTemplate(e,t){templates[e]=t}function removeTemplate(e){void 0!==templates[e]?templates[e]=void 0:origTemplateSystem.removeTemplate(e)}function init(){ko.setTemplateEngine(createStringTemplateEngine(new ko.nativeTemplateEngine))}function getTemplateContent(e){return void 0!==templates[e]?templates[e]:origTemplateSystem.getTemplateContent(e)}ko.templateSources.stringTemplate=function(e,t){this.templateName=e,this.template=t,this._data={}},ko.utils.extend(ko.templateSources.stringTemplate.prototype,{data:function(e,t){if(1===arguments.length)return this._data[e];this._data[e]=t},text:function(e){if(0===arguments.length)return this.template;this.template=e}}),module.exports={init:init,addTemplate:pushTemplate,removeTemplate:removeTemplate,getTemplateContent:getTemplateContent}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./script-template.js":43}],47:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,$="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null,kojqui="undefined"!=typeof window?window.kojqui:"undefined"!=typeof global?global.kojqui:null,console=require("console-browserify"),extendValueAccessor=function(o,n){return function(){return ko.utils.extend(n,o()),n}},options={show:{delay:500},track:!0,items:'[title][title!=""][title!=" "]'};ko.bindingHandlers.tooltips={init:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.init(o,extendValueAccessor(n,options),i,e,t)},update:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.update(o,extendValueAccessor(n,options),i,e,t)}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],48:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.validatedValue={init:function(e,n,i){var o=n;if(void 0!==e.pattern){var t=new RegExp("^(?:"+e.pattern+")$"),a=ko.computed({read:function(){var i=ko.utils.unwrapObservable(n());return null===i||""===i||t.test(i)?e.classList.remove("invalid"):e.classList.add("invalid"),i},write:ko.isWriteableObservable(n())&&function(i){ko.selectExtensions.writeValue(e,i);var o=ko.selectExtensions.readValue(e);n()(o)},disposeWhenNodeIsRemoved:e});o=function(){return a}}ko.bindingHandlers.value.init(e,o,i)}},ko.expressionRewriting._twoWayBindings.validatedValue=!0; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"console-browserify":6}],49:[function(require,module,exports){ +(function (global){ +"use strict";var ko="undefined"!=typeof window?window.ko:"undefined"!=typeof global?global.ko:null,console=require("console-browserify");ko.bindingHandlers.uniqueId={currentIndex:0,init:function(e,n){var t=ko.utils.unwrapObservable(n())||{};if(""===t.id()){var i,l,r;r="ko_"+(void 0!==t.type?ko.utils.unwrapObservable(t.type):"block");do{i=r+"_"+ ++ko.bindingHandlers.uniqueId.currentIndex,l=global.document.getElementById(i)}while(l);t.id(i)}}},ko.virtualElements.allowedBindings.uniqueId=!0,ko.bindingHandlers.virtualAttr={update:function(e,n){8!==e.nodeType&&ko.bindingHandlers.attr.update(e,n)}},ko.virtualElements.allowedBindings.virtualAttr=!0,ko.bindingHandlers.virtualAttrStyle={update:function(e,n,t,i,l){if(8!==e.nodeType){var r=["style"];(void 0===l.templateMode||"wysiwyg"!=l.templateMode)&&r.push("replacedstyle");for(var o=ko.utils.unwrapObservable(n()),d=0;d0&&d>0?"cover":"resize");var u=ko.bindingHandlers.wysiwygSrc.convertedUrl(s.toString(),g,a,d);e.setAttribute("src",u)}null!=a?e.setAttribute("width",a):e.removeAttribute("width"),null!=d?e.setAttribute("height",d):e.removeAttribute("height")}},ko.bindingHandlers.wysiwygId={init:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||e.setAttribute("id",ko.utils.unwrapObservable(i()))},update:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||e.setAttribute("id",ko.utils.unwrapObservable(i()))}},ko.virtualElements.allowedBindings.wysiwygId=!0,ko.bindingHandlers.wysiwygClick={init:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||ko.bindingHandlers.click.init(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygClick=!0,ko.bindingHandlers.wysiwygCss={update:function(e,i,n,t,o){void 0===o.templateMode||"wysiwyg"!=o.templateMode||ko.bindingHandlers.css.update(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygCss=!0,ko.bindingHandlers.wysiwygImg={makeTemplateValueAccessor:function(e,i){return function(){var n=void 0!==i.templateMode&&"wysiwyg"==i.templateMode,t=e(),o=ko.utils.peekObservable(t);return ko.utils.unwrapObservable(t),{name:n?o._editTemplate:o._template,templateEngine:ko.nativeTemplateEngine.instance}}},init:function(e,i,n,t,o){return ko.bindingHandlers.template.init(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o))},update:function(e,i,n,t,o){return o=o.extend(i()),ko.bindingHandlers.template.update(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o),n,t,o)}},ko.virtualElements.allowedBindings.wysiwygImg=!0;var _catchingFire=function(e,i){try{return this.originalFire.apply(this,arguments)}catch(i){console.warn("Cought tinymce exception while firing editor event",e,i)}};ko.bindingHandlers.wysiwyg={debug:!1,getContentOptions:{format:"raw"},useTarget:!1,currentIndex:0,standardOptions:{},initializingClass:"wysiwyg-loading",removeSelectionOnBlur:!0,emptyClass:void 0,fullOptions:{toolbar1:"bold italic forecolor backcolor hr styleselect removeformat | link unlink | pastetext code",plugins:["link hr paste lists textcolor code"]},init:function(e,i,n,t,o){ko.bindingHandlers.focusable.init(e);var l,s=ko.bindingHandlers.wysiwyg.debug&&"function"==typeof console.debug;ko.bindingHandlers.wysiwyg.useTarget?l="@target_"+ ++ko.bindingHandlers.wysiwyg.currentIndex:(l=e.getAttribute("id"))||(l="wysiwyg_"+ ++ko.bindingHandlers.wysiwyg.currentIndex,e.setAttribute("id",l)),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.add(ko.bindingHandlers.wysiwyg.initializingClass),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){s&&console.debug("Editor for selector",l,"is being removed..."),tinymce.remove("#"+e.getAttribute("id")),s&&console.debug("Editor for selector",l,"has been removed.")});var r=i();if(!ko.isObservable(r))throw"Wysiwyg binding called with non observable";if(8===e.nodeType)throw"Wysiwyg binding called on virtual node, ignoring...."+e.innerHTML;var a,d="DIV"==e.tagName||"TD"==e.tagName,g=!1,u=!1,w={inline:!0,hidden_input:!1,plugins:["paste"],toolbar1:"bold italic",toolbar2:"",preview_styles:!1,paste_as_text:!0,language:"en",schema:"html5",extended_valid_elements:"strong/b,em/i,*[*]",menubar:!1,skin:"gray-flat",forced_root_block:d?"p":"",init_instance_callback:function(i){if(s&&console.debug("Editor for selector",l,"is now initialized."),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.remove(ko.bindingHandlers.wysiwyg.initializingClass),"function"==typeof console.debug){var n=e.currentStyle?e.currentStyle.display:global.getComputedStyle(e,null).display;"inline"==n&&console.debug("Initializing an editor on an inline element: please note that while it may work, this is unsupported because of a multitude of browser issues",e.tagName,n,l)}},setup:function(i){s&&console.debug("Editor for selector",l,"is now in the setup phase.");var n=function(){0==(e.textContent||e.innerText||"").trim().length?e.classList.add(ko.bindingHandlers.wysiwyg.emptyClass):e.classList.remove(ko.bindingHandlers.wysiwyg.emptyClass)};i.on("change redo undo",function(){if(!g)try{u=!0,r(i.getContent(ko.bindingHandlers.wysiwyg.getContentOptions))}catch(e){console.warn("Unexpected error setting content value for",l,e)}finally{u=!1}ko.bindingHandlers.wysiwyg.emptyClass&&n()}),ko.bindingHandlers.wysiwyg.emptyClass&&i.on("keyup",function(){n()}),i.on("focus",function(){i.nodeChanged(),i.getElement().click()}),ko.bindingHandlers.wysiwyg.removeSelectionOnBlur&&i.on("blur",function(e){global.getSelection().removeAllRanges()}),i.on("BeforeSetContent",function(e){e.initial&&(e.format="raw")}),void 0===i.originalFire&&(i.originalFire=i.fire,i.fire=_catchingFire),a=i}};return ko.bindingHandlers.wysiwyg.useTarget?w.target=e:w.selector="#"+l,ko.utils.extend(w,ko.bindingHandlers.wysiwyg.standardOptions),d&&ko.utils.extend(w,ko.bindingHandlers.wysiwyg.fullOptions),global.setTimeout(function(){s&&console.debug("Editor for selector",l,"is being inizialized ...");var e=tinymce.init(w);s&&console.debug("Editor for selector",l,"init has just been called returning",e),e.then(function(){s&&console.debug("Editor for selector",l,"init promise has resolved.")},function(e){console.log("Editor for selector",l,"init promise has failed.",e)})}),ko.computed(function(){var n=ko.utils.unwrapObservable(i());if(!u){try{g=!0,void 0!==a?a.setContent(n,{format:"raw"}):ko.utils.setHtml(e,n)}catch(e){console.warn("Exception setting content to editable element",typeof a,e)}g=!1}},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./eventable.js":34,"console-browserify":6}],51:[function(require,module,exports){ +"use strict";var console=require("console-browserify"),checkModel=function(e,o,t,n,l){var i,f,r,a=0;if(void 0===l&&(l=!1),void 0!==o&&"function"==typeof o.splice)for(i={},f=0;f0)if(t[p].length>0){var c=0;for(f=0;f=e[p].length){console.log("WARN cannot find ",r,t[p][f].type," block in reference"),a=Math.max(a,2);break}a=Math.max(a,checkModel(e[p][c],void 0,t[p][f],r+"["+f+"."+t[p][f].type+"]"))}}else for(f=0;f=0;l--)if("property"==e[l].type&&e[l].name==t)return _declarationValueUrlPrefixer(e[l].value,r);return null},_propToCamelCase=function(e){return e.replace(/-([a-z])/g,function(e,t,r,l){return t.toUpperCase()})},_declarationValueUrlPrefixer=function(e,t){return e.match(/url\(.*\)/)?e.replace(/(url\()([^\)]*)(\))/g,function(e,r,l,i){var n=l.trim(),o=l.trim().charAt(0);"'"==o||'"'==o?n=n.substr(1,n.length-2):o="";var a=t(n);return null!==a?r+o+a+o+i:e}):e},elaborateDeclarations=function(e,t,r,l,i,n,o){var a="object"==typeof n&&null!==n?n:{},u=null,s=0;void 0===t&&(t=cssParse("#{\n"+e+"}",{comments:!0,position:!0}).stylesheet.rules[0].declarations,s=1);for(var d=t.length-1;d>=0;d--)if("property"==t[d].type)if(!0===o&&"display"==t[d].name&&"none"==t[d].value)null===u&&(u=e),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,"");else{var v=t[d].name.match(/^-ko-(bind-|attr-)?([a-z0-9-]*?)(-if|-ifnot)?$/);if(null!==v){null===u&&void 0!==e&&(u=e);var c,f,m,p="attr-"==v[1],y="bind-"==v[1],h=v[2],b="-if"==v[3]||"-ifnot"==v[3];if(b){if(c=t[d].name.substr(0,t[d].name.length-v[3].length),null===_declarationValueLookup(t,c,r))throw"Unable to find declaration "+c+" for "+t[d].name}else{if((p||y)&&void 0===i&&void 0!==e)throw"Attributes and bind declarations are only allowed in inline styles!";var S,g=!0;if(p?(m=domutils.getAttribute(i,h),g=!1,S="virtualAttr"):y?(S=null,"text"==h?void 0!==i?m=domutils.getInnerText(i):g=!1:"html"==h&&void 0!==i?m=domutils.getInnerHtml(i):g=!1):((g=void 0!==e)&&(m=_declarationValueLookup(t,h,r)),S="virtualStyle"),g&&null===m)throw console.error("Cannot find default value for",t[d].name,t),"Cannot find default value for "+t[d].name+": "+t[d].value+" in "+i+" ("+typeof e+"/"+h+")";var w=m,U=y||p?-1!=h.indexOf("-")?"'"+h+"'":h:_propToCamelCase(h);try{f=converterUtils.expressionBinding(t[d].value,l,w)}catch(e){throw console.error("Model ensure path failed",e.stack,"name",t[d].name,"value",t[d].value,"default",m,"element",i),e}null!==S&&void 0===a[S]&&(a[S]={}),"virtualAttr"==S&&"href"==U&&(S=null,U="wysiwygHref",null!=i&&domutils.removeAttribute(i,"href"));var x=_declarationValueLookup(t,t[d].name+"-if",r),A=!1;if(null===x)x=_declarationValueLookup(t,t[d].name+"-ifnot",r),A=!0;else if(null!==_declarationValueLookup(t,t[d].name+"-ifnot",r))throw"Unexpected error: cannot use both -if and -ifnot property conditions";if(null!==x)try{f=(A?"!":"")+"("+converterUtils.conditionBinding(x,l)+") ? "+f+" : null"}catch(e){throw console.error("Unable to deal with -ko style binding condition",x,t[d].name),e}null!==S?a[S][U]=f:a[U]=f}if(null!==u)try{if(null!=i)u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,"");else{var _="";b||(_=h+": \x3c!-- ko text: "+f+" --\x3e"+m+"\x3c!-- /ko --\x3e"),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,_)}}catch(e){throw console.warn("Remove style failed",e,"name",t[d]),e}}else{var k=_declarationValueUrlPrefixer(t[d].value,r);if(k!=t[d].value&&(null===u&&void 0!==e&&(u=e),null!==u))try{u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,t[d].name+": "+k)}catch(e){throw console.log("Remove style failed replacing url",e,"name",t[d]),e}var C=_propToCamelCase(t[d].name),V="virtualAttrStyle",P=void 0!==a.virtualStyle?a.virtualStyle[C]:void 0,j=" ";void 0===a[V]&&(a[V]="''",j=""),void 0!==P?(a[V]="'"+t[d].name+": '+("+P+")+';"+j+"'+"+a[V],delete a.virtualStyle[C]):a[V]="'"+t[d].name+": "+converterUtils.addSlashes(k)+";"+j+"'+"+a[V]}}if(null!=i){for(var z in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(z))throw console.log("Unexpected virtualStyle binding after conversion to virtualAttr.style",z,a.virtualStyle[z],e),"Unexpected virtualStyle binding after conversion to virtualAttr.style for "+z;delete a.virtualStyle;var L=domutils.getAttribute(i,"data-bind"),q=(null!==L?L+", ":"")+_bindingSerializer(a);""==q?domutils.removeAttribute(i,"data-bind"):domutils.setAttribute(i,"data-bind",q)}if(void 0===e){var O=!1;for(var T in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(T)){O=!0;break}if(O){if(void 0!==a.virtualAttrStyle){var B=a.virtualAttrStyle;delete a.virtualAttrStyle,a.virtualAttrStyle=B}}else delete a.virtualStyle;return _bindingSerializer(a)}return u},_bindingSerializer=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&("object"==typeof e[r]?t.push(r+": { "+_bindingSerializer(e[r])+" }"):t.push(r+": "+e[r]));return t.reverse().join(", ")};module.exports=elaborateDeclarations; + +},{"./domutils.js":53,"./utils.js":59,"console-browserify":6,"mensch/lib/parser.js":20}],53:[function(require,module,exports){ +(function (global){ +"use strict";var $="undefined"!=typeof window?window.jQuery:"undefined"!=typeof global?global.jQuery:null;function _extend(e,t){if(t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var objExtend=function(e,t){return"function"==typeof $.extend?$.extend(!0,e,t):_extend(e,JSON.parse(JSON.stringify(t)))},getAttribute=function(e,t){var n=$(e).attr(t);return void 0===n&&(n=null),n},setAttribute=function(e,t,n){$(e).attr(t,n)},removeAttribute=function(e,t){$(e).removeAttr(t)},getInnerText=function(e){return $(e).text()},getInnerHtml=function(e){return $(e).html()},getLowerTagName=function(e){return""===e.tagName&&"string"==typeof e.name?e.name.toLowerCase():""!==e.tagName?e.tagName.toLowerCase():$(e).prop("tagName").toLowerCase()},setContent=function(e,t){$(e).html(t)},replaceHtml=function(e,t){$(e).replaceWith(t)},removeElements=function(e,t){t&&void 0!==e.detach&&e.detach(),e.remove()};module.exports={getAttribute:getAttribute,setAttribute:setAttribute,removeAttribute:removeAttribute,getInnerText:getInnerText,getInnerHtml:getInnerHtml,getLowerTagName:getLowerTagName,setContent:setContent,replaceHtml:replaceHtml,removeElements:removeElements,objExtend:objExtend}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],54:[function(require,module,exports){ +"use strict";var console=require("console-browserify"),elaborateDeclarations=require("./declarations.js"),utils=require("./utils.js"),modelDef=require("./model.js"),_getOptionsObject=function(e){for(var t=e.split("|"),o={},i=0;i1?l[1].trim():l[0].trim()}return o},_filterProps=function(e,t,o){var i=[];for(var l in e)if(!l.match(/^customStyle$/)&&!l.match(/^_/)&&e.hasOwnProperty(l)){var a=null!==e[l]&&void 0!==e[l]._category&&"style"==e[l]._category;"id"==l||"type"==l||l.match(/Blocks$/)||("styler"==t?(a||o>0)&&i.push(l):"edit"==t?null!==e[l]&&void 0!==e[l]._category&&"content"==e[l]._category&&(void 0===e[l]._context||"block"!=e[l]._context)&&i.push(l):void 0===t&&i.push(l))}return i},_propInput=function(e,t,o,i,l){var a,n="";if(null!==e&&void 0!==e._widget&&(a=e._widget),void 0===a)throw"Unknown data type for "+t;var s="focusable: true";if("edit"==i&&(s+=", event: { focus: function(ui, event) { $($element).click(); } } "),n+='"},_getGlobalStyleProp=function(e,t,o,i){var l;return"object"==typeof t&&null!==t&&void 0===t._widget||void 0!==o&&void 0!==i&&i.length>0&&"object"==typeof e&&void 0!==e[i]&&(l=e[i]),l},_propEditor=function(e,t,o,i,l,a,n,s,d,r,c,p,v,u,b){if(void 0===d&&(d=0),void 0!==n&&"object"==typeof i&&null!==i&&void 0===i._usecount)return"function"==typeof console.debug&&console.debug("Ignoring",a,"property because it is not used by the template","prop:",n,"type:",s,"level:",d,e._templateName),"";var h,f=void 0!==p?n+"._defaultComputed":n,m="",g=f,_=1,y=1;if("object"==typeof i&&null!==i&&void 0===i._widget||void 0===p&&(_+=1),void 0===p&&void 0!==r&&(y+=r),void 0!==n&&v&&(m+="\x3c!-- ko ifSubs: { data: "+g+", threshold: "+y+", gutter: "+_+" } --\x3e"),void 0===n||null!==i&&void 0!==i._name||console.log("Missing label for property ",n),void 0===n&&null!==i&&void 0===i._name&&"theme"!==i.type&&console.log("Missing label for object ",i.type),"object"==typeof i&&null!==i&&void 0===i._widget){var k=_filterProps(i,s,d),x="styler"==s&&null!==i&&void 0!==i.customStyle&&void 0!==p,S="",w="";void 0!==n&&"edit"==s&&(S=", click: function(obj, evt) { $root.selectItem("+n+", $data); return false }, clickBubble: false, css: { selecteditem: $root.isSelectedItem("+n+") }, scrollIntoView: $root.isSelectedItem("+n+"), ",w+=" selectable"),x&&(w+=" supportsCustomStyles"),m+='
';var $,j,D,B=null!==i&&void 0!==i._name?i._name:void 0!==n?"["+n+"]":"";if(x){var E="Stile";null!=l&&void 0!==l._name?E=l._name:console.log("Missing label for theme section ",n,null!==i?i.type:"-"),B="Block"}else B=""+B+"";m+="'+B+"","edit"==s&&void 0!==i._blockDescription&&(m+="
"+i._blockDescription+"
"),x&&(m+='",m+="\x3c!-- ko template: { name: 'customstyle', if: customStyle } --\x3e\x3c!-- /ko --\x3e"),void 0!==n&&(m+="\x3c!-- ko with: "+n+" --\x3e",1==d&&void 0!==n&&void 0!==i._previewBindings&&void 0!==e&&(void 0!==u&&(m+='\x3c!-- ko with: $root.content() --\x3e
\x3c!-- /ko --\x3e'),void 0!==b&&(m+='\x3c!-- ko with: $parent --\x3e
\x3c!-- /ko --\x3e'),m+='
')),0===d&&void 0!==i._previewBindings&&($=elaborateDeclarations(void 0,i._previewBindings,o,e.bind(this,a.length>0?a+".":"")));var C,I=m.length;for(j=0;j0?a+"."+k[j]:k[j],"object"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget||(C=void 0,0===d&&"theme"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));for(j=0;j0?a+"."+k[j]:k[j],"object"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget&&(C=void 0,0===d&&"theme"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));if(0==m.length-I){if("object"==typeof i&&null!==i&&"template"==i._context)return"";m+='
Selected element has no editable properties
'}void 0!==n&&(m+="\x3c!-- /ko --\x3e"),m+="
"}else{var P=!0;if(void 0===c&&(P=!1),null===i||"object"!=typeof i||void 0!==i._widget){var M=[];void 0!==p&&M.push("css: { notnull: "+n+"() !== null }"),(h=null!==i&&void 0!==i._help?' title="'+utils.addSlashes(i._help)+"\" data-bind=\"attr: { title: $root.ut('template', '"+utils.addSlashes(i._help)+"') }\"":"").length>0&&M.push("tooltips: {}"),m+='
0?'data-bind="'+utils.addSlashes(M.join())+'"':"")+">";var T=null!==i&&void 0!==i._name?i._name:void 0!==n?"["+n+"]":"";m+="'+(T=""+T+"")+"",m+='
',m+=_propInput(i,n,f,s,t),m+="
",void 0!==p&&(m+='
',m+=_propInput(i,n,p,s,t),m+="
",P&&(m+='
")),m+="
"}else m+=null===i||"object"!=typeof i?'
[A|'+n+"|"+typeof i+"]
":'
[B|'+n+"|"+typeof i+"]
"}return void 0!==n&&v&&(m+="\x3c!-- /ko --\x3e",m+="\x3c!-- ko ifSubs: { not: true, data: "+g+", threshold: "+y+", gutter: 0 } --\x3e",m+='('+n+")",m+="\x3c!-- /ko --\x3e"),m},createBlockEditor=function(e,t,o,i,l,a,n,s,d,r,c,p){void 0===c&&(c=!0);var v,u=modelDef.getDef(e,a),b=modelDef.getDef(e,l);void 0!==b._previewBindings&&"thaeme"!=a&&"styler"==n&&(v=elaborateDeclarations(void 0,b._previewBindings,i,modelDef.getBindValue.bind(void 0,e,o,l,l,"")));var h,f=void 0!==r&&r?e[a]._globalStyles:void 0,m=void 0!==r&&r?e[a]._globalStyle:void 0;void 0!==m&&(h=modelDef.getDef(e,"theme")[m.replace(/^(\$theme|_theme_)\./,"")]);var g=modelDef.getBindValue.bind(void 0,e,o,l,a);g._templateName=a;var _='
';_+='
'+u.type+"
";var y=_propEditor(g,t,i,u,h,"",void 0,n,p,d,f,m,c,v);y.length>0&&(_+=y),s(_+="
",a,n)},createBlockEditors=function(e,t,o,i,l,a,n,s){createBlockEditor(e,t,o,i,l,a,"edit",n,s),createBlockEditor(e,t,o,i,l,a,"styler",n,s,!0)},generateEditors=function(e,t,o,i,l){var a,n=e._defs,s=e.templateName,d=e._blocks,r=[];for(a=0;a0&&a.push(n[d]);t[o]=a}else"string"==typeof t[o]||"boolean"==typeof t[o]?t[o]=l:"object"==typeof t[o]&&null!==t[o]&&void 0!==t[o]._widget?("object"==typeof l&&null!==l&&console.log("objectvalue",o,t[o]._widget,l),t[o]=l):console.log("setting",typeof t[o],t[o],o,l);else{var f=o.substr(0,r);_valueSet(e,t[f],o.substr(r+1),l)}},_modelCreateOrUpdateBlockDef=function(e,t,o,l){if(void 0!==e[t]&&e[t]._initialized&&!e[t]._writeable)throw console.log("_modelCreateOrUpdateBlockDef",e,t,o,l),"Trying to alter non writeable model: "+t+" / "+o;if(void 0===e[t]&&(e[t]={_writeable:!0},void 0===l&&(l={}),void 0===l.category&&void 0===e[t]._category&&(t.match(/(^t|.T)heme$/)||t.match(/(^s|.S)tyle$/)||t.match(/(^c|.C)olor$/)||t.match(/(^r|.R)adius$/)?l.category="style":l.category="content")),void 0!==l){if(void 0!==l.name&&(e[t]._name=l.name),void 0!==l.themeOverride&&(e[t]._themeOverride=l.themeOverride),void 0!==l.globalStyle){e[t]._globalStyle=l.globalStyle;var r=l.globalStyle.replace(/^(\$theme|_theme_)\./,""),n=r.indexOf("."),i=-1!=n?r.substr(0,n):r;_modelCreateOrUpdateBlockDef(e,"theme",i),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false")}void 0!==l.contextName&&(e[t]._context=l.contextName,"block"==l.contextName&&void 0===e[t]._globalStyle&&(e[t]._globalStyle="_theme_.bodyTheme",_modelCreateOrUpdateBlockDef(e,"theme","bodyTheme"),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,"customStyle=false"))),void 0!==l.extend&&(e[t].type=l.extend)}for(var a in l)l.hasOwnProperty(a)&&void 0!==l[a]&&-1==["name","extend","contextName","globalStyle","themeOverride"].indexOf(a)&&(e[t]["_"+a]=l[a]);void 0!==o&&o.length>0&&(e[t]._props=void 0!==e[t]._props&&e[t]._props.length>0?e[t]._props+" "+o:o)},_removePrefix=function(e){var t=e.match(/^[^A-Z]+([A-Z])(.*)$/);return null!==t?t[1].toLowerCase()+t[2]:null},_generateModelFromDef=function(e,t){var o={};for(var l in e)if(!l.match(/^_.*/)&&e.hasOwnProperty(l)){var r=e[l];if("object"==typeof r&&null!==r&&void 0!==r._complex&&r._complex)o[l]=_generateModelFromDef(r,t);else if("type"==l)o[l]=r;else{if("object"!=typeof r)throw console.error("Unexpected model def",l,r,e),"Unexpected model def ["+l+"]="+r;o[l]=null}}if(void 0!==e._defaultValues){var n=e._defaultValues;for(var i in n)n.hasOwnProperty(i)&&_valueSet(t,o,i,n[i])}return o},_generateModel=function(e,t){var o=_getModelDef(e,t,!1,!0);return _generateModelFromDef(o,e)},_getDef=function(e,t){return _getModelDef(e,t,!1,!0)},_getModelDef=function(e,t,o,l){if(void 0===e[t]){if(-1!=t.indexOf(" "))return null;var r=_removePrefix(t);return null!==r?_getModelDef(e,r,o,l):null}var n=e[t];if("object"!=typeof n)throw"Block definition must be an object: found "+n+" for "+t;if(void 0===n._initialized){if(void 0===n.type&&(-1==t.indexOf(" ")?n.type=t:n.type=t.substr(t.indexOf(" ")+1)),n.type!=t&&void 0===n._widget){var i=_getModelDef(e,n.type,!0);n=objExtend(i,n),e[t]=n}else void 0===n._widget&&void 0===n._props&&n._complex;n._writeable=!0,n._initialized=!0}if(void 0!==n._props){var a=n._props;if((a=a.split(" ")).length>0&&void 0===n._writeable)throw console.error("Altering a non writable object ",t,a,n),"Altering a non writable object: "+t+" def: "+a;void 0===n._processedDefs&&(n._processedDefs={}),void 0===n._globalStyles&&(n._globalStyles={}),void 0===n._defaultValues&&(n._defaultValues={});for(var d=0;d0?domutils.setAttribute(e,"style",l):domutils.removeAttribute(e,"style"))},_fixRelativePath=function(e,t,o,a){var i=t(domutils.getAttribute(a,e));null!==i&&domutils.setAttribute(a,e,i)},processBlock=function(e,t,o,a,i,r,l,d,s,c){try{var n;if("block"==r)n=domutils.getAttribute(e,"data-ko-block"),domutils.removeAttribute(e,"data-ko-block");else{if("template"!=r)throw"Unexpected context name while processing block: "+r;n=l}$("[data-ko-remove]",e).remove();for(var u=$("[data-ko-block]",e).replaceWith(""),m=["href","src","data-ko-placeholder-src","background"],h=0;h0&&(b+=" "),b+=domutils.getAttribute(t,"data-ko-properties"),domutils.removeAttribute(t,"data-ko-properties")}),modelDef.createOrUpdateBlockDef(t,n,b,{contextName:r});var v=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l,n,"");"block"==r&&v("id",""),$("style",e).each(function(e,a){var r=domutils.getInnerHtml(a),d=modelDef.createOrUpdateBlockDef.bind(void 0,t),s=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l),u=processStylesheetRules(r,void 0,s,d,o,i,l,n);if(u!=r)if(""!==u.trim()){var m=c(u);domutils.setAttribute(a,"data-bind","template: { name: '"+m+"' }"),domutils.setContent(a,"")}else domutils.removeElements($(a))}),processStyle(e,i,v,s);for(var f=["data-ko-display","data-ko-editable","data-ko-wrap","href"],k=0;k0){var n=s.substr(0,s.lastIndexOf("."));l=v(n)}else l=v(s);if(d="wysiwygClick: function(obj, evt) { $root.selectItem("+l+", $data); return false }, clickBubble: false, wysiwygCss: { selecteditem: $root.isSelectedItem("+l+") }, scrollIntoView: $root.isSelectedItem("+l+")","img"!=domutils.getLowerTagName(t)){a=domutils.getInnerHtml(t);var u=v(s,a,!0,"wysiwyg");if(o="",domutils.getAttribute(t,"id")||(o+="wysiwygId: id()+'_"+s.replace(".","_")+"', "),void 0!==d&&(o+=d+", "),o+="wysiwygOrHtml: "+u,"td"==domutils.getLowerTagName(t)){var m=$('
')[0];domutils.setAttribute(m,"data-bind",o);var h=domutils.getInnerHtml($("
").append(m));domutils.setContent(t,h)}else r=(null!==(i=domutils.getAttribute(t,"data-bind"))?i+", ":"")+o,domutils.setAttribute(t,"data-bind",r),domutils.setContent(t,"");domutils.removeAttribute(t,"data-ko-editable")}else{var p=domutils.getAttribute(t,"width");if(""===p&&(p=null),null===p)throw console.error("ERROR: data-ko-editable images must declare a WIDTH attribute!",t),"ERROR: data-ko-editable images must declare a WIDTH attribute!";var b=domutils.getAttribute(t,"height");""===b&&(b=null);var f=domutils.getAttribute(t,"align"),k=(i=domutils.getAttribute(t,"data-bind"))&&i.match(/virtualAttr: {[^}]* height: ([^,}]*)[,}]/);k&&(b=k[1]);var g=i&&i.match(/virtualAttr: {[^}]* width: ([^,}]*)[,}]/);g&&(p=g[1]);var w,A,y="";(a=domutils.getAttribute(t,"data-ko-placeholder-src"))?y=domutils.getAttribute(t,"src"):a=domutils.getAttribute(t,"src"),p&&b?w=p+"+'x'+"+b:b?p||(w="'h'+"+b+"+''"):w="'w'+"+p+"+''";var x=b||domutils.getAttribute(t,"data-ko-placeholder-height"),_=p||domutils.getAttribute(t,"data-ko-placeholder-width");if(domutils.removeAttribute(t,"src"),domutils.removeAttribute(t,"data-ko-editable"),domutils.removeAttribute(t,"data-ko-placeholder-height"),domutils.removeAttribute(t,"data-ko-placeholder-width"),domutils.removeAttribute(t,"data-ko-placeholder-src"),a&&(A="{ width: "+_+", height: "+x+", text: "+w+"}"),!_||!x)throw console.error("IMG data-ko-editable must declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height",t),"ERROR: IMG data-ko-editable MUST declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height";var D=v(s,y,!1,"wysiwyg");r=(null!==i?i+", ":"")+(o="wysiwygSrc: { width: "+p+", height: "+b+", src: "+D+", placeholder: "+A+" }"),domutils.setAttribute(t,"data-bind",r);var I=c(t),R="{ width: "+p;"left"==f?R+=", float: 'left'":"right"==f?R+=", float: 'right'":"center"==f&&("function"==typeof console.debug?console.debug("Ignoring align=center on an img tag: we don't know how to emulate this alignment in the editor!"):"top"==f?R+=", verticalAlign: 'top'":"middle"==f?R+=", verticalAlign: 'middle'":"bottom"==f&&(R+=", verticalAlign: 'bottom'")),R+="}",$(t).before("\x3c!-- ko wysiwygImg: { _data: $data, _item: "+l+", _template: '"+I+"', _editTemplate: 'img-wysiwyg', _src: "+D+", _width: "+p+", _height: "+b+", _align: "+(null===f?void 0:"'"+f+"'")+", _size: "+w+", _method: "+void 0+", _placeholdersrc: "+A+", _stylebind: "+R+" } --\x3e"),$(t).after("\x3c!-- /ko --\x3e")}}),$("[href]",e).each(function(e,t){var o=domutils.getAttribute(t,"href"),a="wysiwygHref: '"+converterUtils.addSlashes(o)+"'",i=domutils.getAttribute(t,"data-bind"),r=(null!==i?i+", ":"")+a;domutils.setAttribute(t,"data-bind",r)}),$("replacedblock",e).each(function(e,r){var s=u[e],m=processBlock(s,t,o,a,i,"block",n,d,!0,c),h=modelDef.ensurePathAndGetBindValue(t,o,l,n,"",m);$(r).before("\x3c!-- ko block: { data: "+converterUtils.addSlashes(h)+", template: 'block' } --\x3e"),$(r).after("\x3c!-- /ko --\x3e"),$(r).remove()}),$($("[data-ko-wrap]",e).get().reverse(),e).each(function(e,t){var o=domutils.getAttribute(t,"data-ko-wrap");if(void 0===o||""===o||"true"===o)throw"Unsupported empty value for data-ko-wrap: use false value if you want to always remove the tag";var a,i,r=converterUtils.conditionBinding(o,v),l=domutils.getAttribute(t,"data-bind");if(""!==l&&null!==l&&l.match(/(block|wysiwygOrHtml):/)){var d="\x3c!-- ko "+l+" --\x3e"+domutils.getInnerHtml(t)+"\x3c!-- /ko --\x3e";a=c(d),domutils.removeAttribute(t,"data-ko-wrap"),i=c(t),domutils.replaceHtml(t,"\x3c!-- ko template: /* special */ (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || "+r+" ? '"+i+"' : '"+a+"' --\x3e\x3c!-- /ko --\x3e")}else a=c(domutils.getInnerHtml(t)),domutils.removeAttribute(t,"data-ko-wrap"),domutils.setContent(t,"\x3c!-- ko template: '"+a+"' --\x3e\x3c!-- /ko --\x3e"),i=c(t),domutils.replaceHtml(t,"\x3c!-- ko template: (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || "+r+" ? '"+i+"' : '"+a+"' --\x3e\x3c!-- /ko --\x3e")}),c(e,n,"show"),a(l,n,r,d),n}catch(t){throw console.error("Exception while parsing the template",t,e),t}};function conditional_replace(e){return e.replace(//g,function(e,t,o){var a="\x3c!-- cc:start --\x3e";a+=o.replace(/<([A-Za-z:]+)/g,"\x3c!-- cc:bo:$1 --\x3e/g,"\x3c!-- cc:bc:$1 --\x3e\x3c!-- cc:ac:$1 --\x3e").replace(/\/>/g,"/>\x3c!-- cc:sc --\x3e"),a+="\x3c!-- cc:end --\x3e";var i='';return(i+=$("
").append($(a)).html().replace(/^/,"").replace(/$/,""))+""})}var translateTemplate=function(e,t,o,a){var i={},r=conditional_replace(t.replace(/(<[^>]+\s)(style|http-equiv)(="[^"]*"[^>]*>)/gi,function(e,t,o,a){return t+"replaced"+o+a})),l="function"==typeof $.parseHTML?$($.parseHTML(r,!1)):$(r),d=l[0],s=[],c=function(e,t,o,a){s.push({root:e,block:t,context:o,container:a})},n=function(e,t,o){if(void 0===i.themes&&(i.themes={}),void 0===i.themes[e]&&(i.themes[e]={}),void 0===i.themes[e][t]||null===i.themes[e][t])i.themes[e][t]=o;else if(null!=o){var a=i.themes[e][t];a!=o&&console.log("Error setting a new default for property "+t+" in theme "+e+". old:"+a+" new:"+o+"!")}},u=$("[data-ko-container]",l),m={};u.each(function(e,t){var o=domutils.getAttribute(t,"data-ko-container")+"Blocks";domutils.removeAttribute(t,"data-ko-container"),domutils.setAttribute(t,"data-bind","block: "+o);var a=$("> [data-ko-block]",t);domutils.removeElements(a,!0),m[o]=a}),modelDef.createOrUpdateBlockDef(i,"id"),modelDef.createOrUpdateBlockDef(i,"bodyTheme"),modelDef.createOrUpdateBlockDef(i,"blocks","blocks[]"),modelDef.createOrUpdateBlockDef(i,"text"),processBlock(d,i,n,c,o,"template",e,void 0,!1,a);var h=function(t,r,l){processBlock(l,i,n,c,o,"block",e,t,!0,a)};for(var p in m)if(m.hasOwnProperty(p)){var b=m[p],v=p;modelDef.ensurePathAndGetBindValue(i,n,e,e,"",v+".blocks","[]"),b.each(h.bind(void 0,v))}var f={_defs:i,templateName:e,_blocks:s};return void 0!==i[e]._version&&(f.version=i[e]._version),f};module.exports=translateTemplate; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./declarations.js":52,"./domutils.js":53,"./model.js":56,"./stylesheet.js":58,"./utils.js":59,"console-browserify":6}],58:[function(require,module,exports){ +"use strict";var cssParse=require("mensch/lib/parser.js"),console=require("console-browserify"),converterUtils=require("./utils.js"),elaborateDeclarations=require("./declarations.js"),_removeOptionalQuotes=function(e){return"'"!=e[0]&&'"'!=e[0]||e[e.length-1]!=e[0]?e:e.substr(1,e.length-2).replace(/\\([\s\S])/gm,"$1")},_processStyleSheetRules_processBlockDef=function(e,t){for(var o,s,r,l=0;l=0;d--){if("supports"==t[d].type&&"-ko-blockdefs"==t[d].name)_processStyleSheetRules_processBlockDef(s,t[d].rules),c=converterUtils.removeStyle(c,t[d].position.start,p,0,0,0,"");else if("media"==t[d].type||"supports"==t[d].type)c=processStylesheetRules(c,t[d].rules,o,s,r,l,n,i);else if("comment"==t[d].type);else if("rule"==t[d].type){for(var f=t[d].selectors,h="",m=null,v=0;v0&&(h+=", ");var y=f[v].match(/\[data-ko-block=([^ ]*)\]/);if(null!==y){if(null!==m&&m!=y[1])throw"Found multiple block-match attribute selectors: cannot translate it ("+m+" vs "+y[1]+")";m=y[1]}h+="\x3c!-- ko text: templateMode =='wysiwyg' ? '#main-wysiwyg-area ' : '' --\x3e\x3c!-- /ko --\x3e"+f[v]}if(m){var k="\x3c!-- ko foreach: $root.findObjectsOfType($data, '"+m+"') --\x3e",x=p,g=" ";t[d].declarations.length>0&&(t[d].declarations[0].position.start.line!=t[d].position.end.line&&(g="\n"+new Array(t[d].position.start.col).join(" ")),x=t[d].declarations[t[d].declarations.length-1].position.end),null===x?c+=g+"\x3c!-- /ko --\x3e":c=x==p?converterUtils.removeStyle(c,x,p,0,0,0,g+"\x3c!-- /ko --\x3e"):converterUtils.removeStyle(c,x,p,0,0,0,g+"}"+g+"\x3c!-- /ko --\x3e"),h=k+g+h.replace(new RegExp("\\[data-ko-block="+m+"\\]","g"),"\x3c!-- ko text: '#'+id() --\x3e"+m+"\x3c!-- /ko --\x3e"),s(m,"",{contextName:"block"})}var b=m||i;a=o.bind(this,b,"");var w=elaborateDeclarations(c,t[d].declarations,l,a);null!==w&&(c=w),c=converterUtils.removeStyle(c,t[d].position.start,t[d].position.end,0,0,0,h)}else console.log("Unknown rule type",t[d].type,"while parsing \")}}function p(r,n){if(r.name){var s=r.name.toUpperCase();if(e[n+\"Elements\"].indexOf(s)>-1)for(var a in r.styleProps)if(r.styleProps[a].prop===n){if(r.styleProps[a].value.match(/px/)){var o=r.styleProps[a].value.replace(\"px\",\"\");return void t(r).attr(n,o)}if(e.tableElements.indexOf(s)>-1&&r.styleProps[a].value.match(/\\%/))return void t(r).attr(n,r.styleProps[a].value)}}}function c(e){return 0!==e.indexOf(\"url(\")?e:e.replace(/^url\\(([\"'])?([^\"']+)\\1\\)$/,\"$2\")}}function r(e){return\"before\"===e.name||\"after\"===e.name}return e.ignoredPseudos=[\"hover\",\"active\",\"focus\",\"visited\",\"link\"],e.widthElements=[\"TABLE\",\"TD\",\"TH\",\"IMG\"],e.heightElements=[\"TABLE\",\"TD\",\"TH\",\"IMG\"],e.tableElements=[\"TABLE\",\"TH\",\"TR\",\"TD\",\"CAPTION\",\"COLGROUP\",\"COL\",\"THEAD\",\"TBODY\",\"TFOOT\"],e.nonVisualElements=[\"HEAD\",\"TITLE\",\"BASE\",\"LINK\",\"STYLE\",\"META\",\"SCRIPT\",\"NOSCRIPT\"],e.styleToAttribute={\"background-color\":\"bgcolor\",\"background-image\":\"background\",\"text-align\":\"align\",\"vertical-align\":\"valign\"},e.excludedProperties=[],e.juiceDocument=function(r,n){n=utils.getDefaultOptions(n);var s=function(t,r){return function(t,r){var n,s,a,o=[];return t(\"style\").each(function(){if(1===(n=(a=this).childNodes).length){if(s=n[0].data,r.applyStyleTags&&void 0===t(a).attr(\"data-embed\")&&o.push(s),r.removeStyleTags&&void 0===t(a).attr(\"data-embed\")){var i=utils.getPreservedText(a.childNodes[0].nodeValue,{mediaQueries:r.preserveMediaQueries,fontFaces:r.preserveFontFaces,keyFrames:r.preserveKeyFrames,pseudos:e.ignoredPseudos});i?a.childNodes[0].nodeValue=i:t(a).remove()}t(a).removeAttr(\"data-embed\")}}),o}(t,r).join(\"\\n\")}(r,n);return s+=\"\\n\"+n.extraCss,t(r,s,n),r},e.inlineDocument=t,e};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS5qcyJdLCJuYW1lcyI6WyJ1dGlscyIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwianVpY2VDbGllbnQiLCJpbmxpbmVEb2N1bWVudCIsIiQiLCJjc3MiLCJvcHRpb25zIiwicnVsZXMiLCJwYXJzZUNTUyIsImVkaXRlZEVsZW1lbnRzIiwic3R5bGVBdHRyaWJ1dGVOYW1lIiwiZm9yRWFjaCIsInJ1bGUiLCJlbHMiLCJzZWwiLCJzdHlsZSIsInNlbGVjdG9yIiwiU2VsZWN0b3IiLCJwYXJzZWRTZWxlY3RvciIsInBhcnNlZCIsInBzZXVkb0VsZW1lbnRUeXBlIiwibGVuZ3RoIiwicHNldWRvcyIsImkiLCJpc1BzZXVkb0VsZW1lbnROYW1lIiwibmFtZSIsImdldFBzZXVkb0VsZW1lbnRUeXBlIiwic3ViU2VsIiwiaiIsInN1YlNlbFBzZXVkbyIsImlnbm9yZWRQc2V1ZG9zIiwiaW5kZXhPZiIsImxhc3QiLCJmaWx0ZXIiLCJwc2V1ZG8iLCJmaWx0ZXJFbGVtZW50UHNldWRvcyIsInRvU3RyaW5nIiwiZXJyIiwiZWFjaCIsImVsIiwidGhpcyIsIm5vblZpc3VhbEVsZW1lbnRzIiwidG9VcHBlckNhc2UiLCJwc2V1ZG9FbFByb3BOYW1lIiwicHNldWRvRWwiLCJnZXQiLCJwc2V1ZG9FbGVtZW50UGFyZW50Iiwic3R5bGVQcm9wcyIsImF0dHIiLCJjc3NUZXh0IiwiYWRkUHJvcHMiLCJwdXNoIiwibCIsInR5cGUiLCJ2YWx1ZSIsImltcG9ydGFudCIsIm1hdGNoIiwicHJlc2VydmVJbXBvcnRhbnQiLCJyZXBsYWNlIiwiYWRkaXRpb25hbFByaW9yaXR5IiwicG9zaXRpb24iLCJzdGFydCIsImxpbmUiLCJjb2wiLCJwcm9wIiwiUHJvcGVydHkiLCJleGlzdGluZyIsImV4Y2x1ZGVkUHJvcGVydGllcyIsImNvbXBhcmUiLCJuZXh0UHJvcCIsIk9iamVjdCIsImtleXMiLCJwcm9wcyIsImtleSIsIm5wIiwic29ydCIsImEiLCJiIiwiY29tcGFyZUZ1bmMiLCJzdHJpbmciLCJtYXAiLCJqb2luIiwiaW5saW5lUHNldWRvRWxlbWVudHMiLCJjb250ZW50IiwiaW1hZ2VVcmxNYXRjaCIsInVybCIsImltZyIsInNsaWNlIiwicGFyc2VDb250ZW50IiwidGV4dCIsInBhcmVudCIsInByZXBlbmQiLCJhcHBlbmQiLCJhcHBseVdpZHRoQXR0cmlidXRlcyIsInNldERpbWVuc2lvbkF0dHJzIiwiYXBwbHlIZWlnaHRBdHRyaWJ1dGVzIiwiYXBwbHlBdHRyaWJ1dGVzVGFibGVFbGVtZW50cyIsImVsTmFtZSIsInN0eWxlVG9BdHRyaWJ1dGUiLCJ0YWJsZUVsZW1lbnRzIiwiZXh0cmFjdEJhY2tncm91bmRVcmwiLCJ0ZXN0IiwiaW5zZXJ0UHJlc2VydmVkRXh0cmFDc3MiLCJleHRyYUNzcyIsInByZXNlcnZlZFRleHQiLCJnZXRQcmVzZXJ2ZWRUZXh0IiwibWVkaWFRdWVyaWVzIiwicHJlc2VydmVNZWRpYVF1ZXJpZXMiLCJmb250RmFjZXMiLCJwcmVzZXJ2ZUZvbnRGYWNlcyIsImtleUZyYW1lcyIsInByZXNlcnZlS2V5RnJhbWVzIiwiJGFwcGVuZFRvIiwicm9vdCIsImZpcnN0IiwiZGltZW5zaW9uIiwicHhTaXplIiwid2lkdGhFbGVtZW50cyIsImhlaWdodEVsZW1lbnRzIiwiYmFja2dyb3VuZC1jb2xvciIsImJhY2tncm91bmQtaW1hZ2UiLCJ0ZXh0LWFsaWduIiwidmVydGljYWwtYWxpZ24iLCJqdWljZURvY3VtZW50IiwiZ2V0RGVmYXVsdE9wdGlvbnMiLCJzdHlsZURhdGFMaXN0Iiwic3R5bGVEYXRhIiwic3R5bGVFbGVtZW50IiwicmVzdWx0cyIsImNoaWxkTm9kZXMiLCJkYXRhIiwiYXBwbHlTdHlsZVRhZ3MiLCJ1bmRlZmluZWQiLCJyZW1vdmVTdHlsZVRhZ3MiLCJub2RlVmFsdWUiLCJyZW1vdmUiLCJyZW1vdmVBdHRyIiwiZ2V0U3R5bGVzRGF0YSIsImV4dHJhY3RDc3NGcm9tRG9jdW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFB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eURDLElBQXZDaEksRUFBRTJILEdBQWMvRSxLQUFLLGVBQ2pEZ0YsRUFBUTdFLEtBQUsyRSxHQUVYeEgsRUFBUStILHNCQUEwREQsSUFBdkNoSSxFQUFFMkgsR0FBYy9FLEtBQUssY0FBNkIsQ0FDL0UsSUFBSXdELEVBQWdCMUcsTUFBTTJHLGlCQUFpQnNCLEVBQWFFLFdBQVcsR0FBR0ssVUFBVyxDQUMvRTVCLGFBQWNwRyxFQUFRcUcscUJBQ3RCQyxVQUFXdEcsRUFBUXVHLGtCQUNuQkMsVUFBV3hHLEVBQVF5RyxrQkFDbkJ6RixRQUFTcEIsRUFBWTRCLGlCQUVuQjBFLEVBQ0Z1QixFQUFhRSxXQUFXLEdBQUdLLFVBQVk5QixFQUV2Q3BHLEVBQUUySCxHQUFjUSxTQUdwQm5JLEVBQUUySCxHQUFjUyxXQUFXLGlCQUV0QlIsRUFJT1MsQ0FBY3JJLEVBQUdFLEdBQ2IyRSxLQUFLLE1BeENieUQsQ0FBdUJ0SSxFQUFHRSxHQUdwQyxPQUZBRCxHQUFPLEtBQU9DLEVBQVFpRyxTQUN0QnBHLEVBQWVDLEVBQUdDLEVBQUtDLEdBQ2hCRixHQXhUVEYsRUFBWUMsZUFBaUJBLEVBaVd0QkQiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvanVpY2UvbGliL2lubGluZS5qcyJ9", + "\"use strict\";module.exports=exports=Property;var utils=require(\"./utils\");function Property(t,r,i,p,o){this.prop=t,this.value=r,this.selector=i,this.priority=p||0,this.additionalPriority=o||[]}Property.prototype.compareFunc=function(t){var r=[];r.push.apply(r,this.selector.specificity()),r.push.apply(r,this.additionalPriority),r[0]+=this.priority;var i=[];return i.push.apply(i,t.selector.specificity()),i.push.apply(i,t.additionalPriority),i[0]+=t.priority,utils.compareFunc(r,i)},Property.prototype.compare=function(t){return 1===this.compareFunc(t)?this:t},Property.prototype.toString=function(){return this.prop+\": \"+this.value.replace(/['\"]+/g,\"\")+\";\"};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb3BlcnR5LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJQcm9wZXJ0eSIsInV0aWxzIiwicmVxdWlyZSIsInByb3AiLCJ2YWx1ZSIsInNlbGVjdG9yIiwicHJpb3JpdHkiLCJhZGRpdGlvbmFsUHJpb3JpdHkiLCJ0aGlzIiwicHJvdG90eXBlIiwiY29tcGFyZUZ1bmMiLCJwcm9wZXJ0eSIsImEiLCJwdXNoIiwiYXBwbHkiLCJzcGVjaWZpY2l0eSIsImIiLCJjb21wYXJlIiwidG9TdHJpbmciLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBQSxPQUFPQyxRQUFVQSxRQUFVQyxTQU0zQixJQUFJQyxNQUFRQyxRQUFRLFdBYXBCLFNBQVNGLFNBQVNHLEVBQU1DLEVBQU9DLEVBQVVDLEVBQVVDLEdBQ2pEQyxLQUFLTCxLQUFPQSxFQUNaSyxLQUFLSixNQUFRQSxFQUNiSSxLQUFLSCxTQUFXQSxFQUNoQkcsS0FBS0YsU0FBV0EsR0FBWSxFQUM1QkUsS0FBS0QsbUJBQXFCQSxHQUFzQixHQVNsRFAsU0FBU1MsVUFBVUMsWUFBYyxTQUFTQyxHQUN4QyxJQUFJQyxFQUFJLEdBQ1JBLEVBQUVDLEtBQUtDLE1BQU1GLEVBQUdKLEtBQUtILFNBQVNVLGVBQzlCSCxFQUFFQyxLQUFLQyxNQUFNRixFQUFHSixLQUFLRCxvQkFDckJLLEVBQUUsSUFBTUosS0FBS0YsU0FDYixJQUFJVSxFQUFJLEdBSVIsT0FIQUEsRUFBRUgsS0FBS0MsTUFBTUUsRUFBR0wsRUFBU04sU0FBU1UsZUFDbENDLEVBQUVILEtBQUtDLE1BQU1FLEVBQUdMLEVBQVNKLG9CQUN6QlMsRUFBRSxJQUFNTCxFQUFTTCxTQUNWTCxNQUFNUyxZQUFZRSxFQUFHSSxJQUc5QmhCLFNBQVNTLFVBQVVRLFFBQVUsU0FBU04sR0FFcEMsT0FBZSxJQURGSCxLQUFLRSxZQUFZQyxHQUVyQkgsS0FFRkcsR0FVVFgsU0FBU1MsVUFBVVMsU0FBVyxXQUM1QixPQUFPVixLQUFLTCxLQUFPLEtBQU9LLEtBQUtKLE1BQU1lLFFBQVEsU0FBVSxJQUFNIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL2p1aWNlL2xpYi9wcm9wZXJ0eS5qcyJ9", + "\"use strict\";var parser=require(\"slick/parser\");function Selector(t,e){this.text=t,this.spec=void 0,this.styleAttribute=e||!1}function parse(t){try{return parser(t)[0]}catch(t){return[]}}module.exports=exports=Selector,Selector.prototype.parsed=function(){return this.tokens||(this.tokens=parse(this.text)),this.tokens},Selector.prototype.specificity=function(){var t=this.styleAttribute;return this.spec||(this.spec=function e(r,s){var i=s||parse(r);var a=[t?1:0,0,0,0];var n=[];for(var o=0;o=0;o--)(t.fontFaces&&\"font-face\"===s[o].type||t.mediaQueries&&\"media\"===s[o].type||t.keyFrames&&\"keyframes\"===s[o].type||t.pseudos&&s[o].selectors&&this.matchesPseudo(s[o].selectors[0],t.pseudos))&&n.unshift(mensch.stringify({stylesheet:{rules:[s[o]]}},{comments:!1,indentation:\" \"})),s[o].position.start;return 0!==n.length&&\"\\n\"+n.join(\"\\n\")+\"\\n\"},exports.normalizeLineEndings=function(e){return e.replace(/\\r\\n/g,\"\\n\").replace(/\\n/g,\"\\r\\n\")},exports.matchesPseudo=function(e,t){return t.find(function(t){return e.indexOf(t)>-1})},exports.compareFunc=function(e,t){for(var r=Math.min(e.length,t.length),s=0;st[s]?1:-1;return e.length-t.length},exports.compare=function(e,t){return 1==exports.compareFunc(e,t)?e:t},exports.extend=function(e,t){for(var r in t)own.call(t,r)&&(e[r]=t[r]);return e},exports.getDefaultOptions=function(e){var t=exports.extend({extraCss:\"\",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:\"\"},e);return t.webResources=t.webResources||{},t};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzLmpzIl0sIm5hbWVzIjpbIm1lbnNjaCIsInJlcXVpcmUiLCJvd24iLCJoYXNPd25Qcm9wZXJ0eSIsIlNlbGVjdG9yIiwiUHJvcGVydHkiLCJleHBvcnRzIiwiZXh0cmFjdCIsInNlbGVjdG9yVGV4dCIsImF0dHIiLCJzZWxzIiwic2VsIiwiaSIsImwiLCJsZW5ndGgiLCJjIiwiY2hhckF0IiwicHVzaCIsInBhcnNlQ1NTIiwiY3NzIiwicGFyc2VkIiwicGFyc2UiLCJwb3NpdGlvbiIsImNvbW1lbnRzIiwicnVsZXMiLCJzdHlsZXNoZWV0IiwicmV0IiwidHlwZSIsInJ1bGUiLCJzZWxlY3RvcnMiLCJpaSIsImxsIiwiZGVjbGFyYXRpb25zIiwiZ2V0UHJlc2VydmVkVGV4dCIsIm9wdGlvbnMiLCJwcmVzZXJ2ZWQiLCJmb250RmFjZXMiLCJtZWRpYVF1ZXJpZXMiLCJrZXlGcmFtZXMiLCJwc2V1ZG9zIiwidGhpcyIsIm1hdGNoZXNQc2V1ZG8iLCJ1bnNoaWZ0Iiwic3RyaW5naWZ5IiwiaW5kZW50YXRpb24iLCJzdGFydCIsImpvaW4iLCJub3JtYWxpemVMaW5lRW5kaW5ncyIsInRleHQiLCJyZXBsYWNlIiwibmVlZGxlIiwiaGF5c3RhY2siLCJmaW5kIiwiZWxlbWVudCIsImluZGV4T2YiLCJjb21wYXJlRnVuYyIsImEiLCJiIiwibWluIiwiTWF0aCIsImNvbXBhcmUiLCJleHRlbmQiLCJvYmoiLCJzcmMiLCJrZXkiLCJjYWxsIiwiZ2V0RGVmYXVsdE9wdGlvbnMiLCJyZXN1bHQiLCJleHRyYUNzcyIsImluc2VydFByZXNlcnZlZEV4dHJhQ3NzIiwiYXBwbHlTdHlsZVRhZ3MiLCJyZW1vdmVTdHlsZVRhZ3MiLCJwcmVzZXJ2ZU1lZGlhUXVlcmllcyIsInByZXNlcnZlRm9udEZhY2VzIiwicHJlc2VydmVLZXlGcmFtZXMiLCJwcmVzZXJ2ZVBzZXVkb3MiLCJhcHBseVdpZHRoQXR0cmlidXRlcyIsImFwcGx5SGVpZ2h0QXR0cmlidXRlcyIsImFwcGx5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LEVBQUk4QyxFQUFLOUMsSUFDdkIsR0FBSTRDLEVBQUU1QyxLQUFPNkMsRUFBRTdDLEdBQ2YsT0FBSTRDLEVBQUU1QyxHQUFLNkMsRUFBRTdDLEdBQWEsR0FDbEIsRUFHVixPQUFPNEMsRUFBRTFDLE9BQVMyQyxFQUFFM0MsUUFHdEJSLFFBQVFzRCxRQUFVLFNBQVNKLEVBQUdDLEdBQzVCLE9BQW9DLEdBQTdCbkQsUUFBUWlELFlBQVlDLEVBQUdDLEdBQVVELEVBQUlDLEdBRzlDbkQsUUFBUXVELE9BQVMsU0FBU0MsRUFBS0MsR0FDN0IsSUFBSyxJQUFJQyxLQUFPRCxFQUNWN0QsSUFBSStELEtBQUtGLEVBQUtDLEtBQ2hCRixFQUFJRSxHQUFPRCxFQUFJQyxJQUduQixPQUFPRixHQUdUeEQsUUFBUTRELGtCQUFvQixTQUFTaEMsR0FDbkMsSUFBSWlDLEVBQVM3RCxRQUFRdUQsT0FBTyxDQUMxQk8sU0FBVSxHQUNWQyx5QkFBeUIsRUFDekJDLGdCQUFnQixFQUNoQkMsaUJBQWlCLEVBQ2pCQyxzQkFBc0IsRUFDdEJDLG1CQUFtQixFQUNuQkMsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLHNCQUFzQixFQUN0QkMsdUJBQXVCLEVBQ3ZCQyw4QkFBOEIsRUFDOUJDLElBQUssSUFDSjdDLEdBSUgsT0FGQWlDLEVBQU9hLGFBQWViLEVBQU9hLGNBQWdCLEdBRXRDYiIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9qdWljZS9saWIvdXRpbHMuanMifQ==", + "!function(e){if(\"function\"==typeof define&&define.amd)define([\"knockout\",\"jquery\",\"jquery-ui/ui/widgets/sortable\",\"jquery-ui/ui/widgets/draggable\",\"jquery-ui/ui/widgets/droppable\"],e);else if(\"function\"==typeof require&&\"object\"==typeof exports&&\"object\"==typeof module){var n=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,t=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;\"undefined\"!=typeof window?window.jQuery.ui.sortable:\"undefined\"!=typeof global&&global.jQuery.ui.sortable,\"undefined\"!=typeof window?window.jQuery.ui.draggable:\"undefined\"!=typeof global&&global.jQuery.ui.draggable,\"undefined\"!=typeof window?window.jQuery.ui.droppable:\"undefined\"!=typeof global&&global.jQuery.ui.droppable,e(n,t)}else e(window.ko,window.jQuery)}(function(e,n){var t=\"ko_sortItem\",o=e.utils.unwrapObservable,i=e.utils.domData.get,a=e.utils.domData.set,d=n.ui&&n.ui.version,r=d&&d.indexOf(\"1.6.\")&&d.indexOf(\"1.7.\")&&(d.indexOf(\"1.8.\")||\"1.8.24\"===d),s=function(n,o){e.utils.arrayForEach(n,function(e){1===e.nodeType&&(a(e,t,o),a(e,\"ko_parentList\",i(e.parentNode,\"ko_sortList\")))})},l=function(n,t){var i,a={},d=o(n())||{};return d.data?(a[t]=d.data,a.name=d.template):a[t]=n(),e.utils.arrayForEach([\"afterAdd\",\"afterRender\",\"as\",\"beforeRemove\",\"includeDestroyed\",\"templateEngine\",\"templateOptions\",\"nodes\"],function(n){d.hasOwnProperty(n)?a[n]=d[n]:e.bindingHandlers.sortable.hasOwnProperty(n)&&(a[n]=e.bindingHandlers.sortable[n])}),\"foreach\"===t&&(a.afterRender?(i=a.afterRender,a.afterRender=function(e,n){s.call(n,e,n),i.call(n,e,n)}):a.afterRender=s),a},u=function(e,n){var t=o(n);if(t)for(var i=0;i=0)if(c)if(c!==p)c.splice(f,1),p.splice(b,0,D),a(v,t,null),l.item.remove();else{var k=o(c);c.valueWillMutate&&c.valueWillMutate(),k.splice(f,1),k.splice(b,0,D),c.valueHasMutated&&c.valueHasMutated()}else p.splice(b,0,D),a(v,t,null),l.item.remove()}else b>=0&&(c&&(c.splice(f,1),e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),e.options&&e.options.deferUpdates&&e.tasks.runEarly()),p.splice(b,0,D)),a(v,t,null);e.processAllDeferredBindingUpdates&&e.processAllDeferredBindingUpdates(),h.afterMove&&h.afterMove.call(this,m,d,l)}g&&g.apply(this,arguments)},connectWith:!!h.connectClass&&\".\"+h.connectClass})),void 0!==h.isEnabled&&e.computed({read:function(){m.sortable(o(h.isEnabled)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:d})},0);return e.utils.domNodeDisposal.addDisposeCallback(d,function(){(m.data(\"ui-sortable\")||m.data(\"sortable\"))&&m.sortable(\"destroy\"),e.utils.toggleDomNodeCssClass(d,h.connectClass,!1),clearTimeout(w)}),{controlsDescendantBindings:!0}},update:function(n,t,o,i,d){var r=l(t,\"foreach\");a(n,\"ko_sortList\",r.foreach),e.bindingHandlers.template.update(n,function(){return r},o,i,d)},connectClass:\"ko_container\",allowDrop:!0,afterMove:null,beforeMove:null,options:{}},e.bindingHandlers.draggable={init:function(t,i,d,r,s){var u=o(i())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.draggable.options),f=l(i,\"data\"),b=u.connectClass||e.bindingHandlers.draggable.connectClass,g=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.draggable.isEnabled;return u=\"data\"in u?u.data:u,a(t,\"ko_dragItem\",u),e.utils.extend(p,c),p.connectToSortable=!!b&&\".\"+b,n(t).draggable(p),void 0!==g&&e.computed({read:function(){n(t).draggable(o(g)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:t}),e.utils.domNodeDisposal.addDisposeCallback(t,function(){n(t).draggable(\"destroy\")}),e.bindingHandlers.template.init(t,function(){return f},d,r,s)},update:function(n,t,o,i,a){var d=l(t,\"data\");return e.bindingHandlers.template.update(n,function(){return d},o,i,a)},connectClass:e.bindingHandlers.sortable.connectClass,options:{helper:\"clone\"}},e.bindingHandlers.droppable={init:function(a,d,r,s,l){var u=o(d())||{},c=u.options||{},p=e.utils.extend({},e.bindingHandlers.droppable.options),f=void 0!==u.isEnabled?u.isEnabled:e.bindingHandlers.droppable.isEnabled;e.utils.extend(p,c),u=\"data\"in u?u.data:d(),p.drop=function(e,n){var o=i(n.draggable[0],\"ko_dragItem\")||i(n.draggable[0],t);u(o)},n(a).droppable(p),void 0!==f&&e.computed({read:function(){n(a).droppable(o(f)?\"enable\":\"disable\")},disposeWhenNodeIsRemoved:a}),e.utils.domNodeDisposal.addDisposeCallback(a,function(){n(a).droppable(\"destroy\")})},options:{accept:\"*\"}}});\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtub2Nrb3V0LXNvcnRhYmxlLmpzIl0sIm5hbWVzIjpbImZhY3RvcnkiLCJkZWZpbmUiLCJhbWQiLCJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsImtvIiwid2luZG93IiwiZ2xvYmFsIiwialF1ZXJ5IiwiJCIsIklURU1LRVkiLCJ1bndyYXAiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJkYXRhR2V0IiwiZG9tRGF0YSIsImdldCIsImRhdGFTZXQiLCJzZXQiLCJ2ZXJzaW9uIiwidWkiLCJoYXNOZXN0ZWRTb3J0YWJsZUZpeCIsImluZGV4T2YiLCJhZGRNZXRhRGF0YUFmdGVyUmVuZGVyIiwiZWxlbWVudHMiLCJkYXRhIiwiYXJyYXlGb3JFYWNoIiwiZWxlbWVudCIsIm5vZGVUeXBlIiwicGFyZW50Tm9kZSIsInByZXBhcmVUZW1wbGF0ZU9wdGlvbnMiLCJ2YWx1ZUFjY2Vzc29yIiwiZGF0YU5hbWUiLCJhY3R1YWxBZnRlclJlbmRlciIsInJlc3VsdCIsIm9wdGlvbnMiLCJuYW1lIiwidGVtcGxhdGUiLCJvcHRpb24iLCJoYXNPd25Qcm9wZXJ0eSIsImJpbmRpbmdIYW5kbGVycyIsInNvcnRhYmxlIiwiYWZ0ZXJSZW5kZXIiLCJjYWxsIiwidXBkYXRlSW5kZXhGcm9tRGVzdHJveWVkSXRlbXMiLCJpbmRleCIsIml0ZW1zIiwidW53cmFwcGVkIiwiaSIsIl9kZXN0cm95IiwiaW5pdCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJjb250ZXh0Iiwic3RhcnRBY3R1YWwiLCJ1cGRhdGVBY3R1YWwiLCIkZWxlbWVudCIsInZhbHVlIiwidGVtcGxhdGVPcHRpb25zIiwidGVtcGxhdGVTb3VyY2UiLCJ0ZW1wbGF0ZUVsZW1lbnQiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidGVtcGxhdGVTb3VyY2VzIiwiZG9tRWxlbWVudCIsInRleHQiLCJ0cmltIiwiY29udGVudHMiLCJlYWNoIiwidGhpcyIsInJlbW92ZUNoaWxkIiwic3RyaXBUZW1wbGF0ZVdoaXRlc3BhY2UiLCJleHRlbmQiLCJjb25uZWN0Q2xhc3MiLCJpc09ic2VydmFibGUiLCJhbGxvd0Ryb3AiLCJjb21wdXRlZCIsInJlYWQiLCJzaG91bGRBZGQiLCJmb3JlYWNoIiwidG9nZ2xlRG9tTm9kZUNzc0NsYXNzIiwiZGlzcG9zZVdoZW5Ob2RlSXNSZW1vdmVkIiwic3RhcnQiLCJ1cGRhdGUiLCJoZWxwZXIiLCJlIiwiaXMiLCJjaGlsZHJlbiIsIndpZHRoIiwiY3JlYXRlVGltZW91dCIsInNldFRpbWVvdXQiLCJkcmFnSXRlbSIsIm9yaWdpbmFsUmVjZWl2ZSIsInJlY2VpdmUiLCJldmVudCIsImVsIiwiaXRlbSIsImFycmF5SW5kZXhPZiIsInBhcmVudCIsImZpbmQiLCJjaGFuZ2UiLCJhcHBseSIsImFyZ3VtZW50cyIsImNsb25lIiwiZHJhZ2dlZCIsInNvdXJjZVBhcmVudCIsInRhcmdldFBhcmVudCIsInNvdXJjZUluZGV4IiwidGFyZ2V0SW5kZXgiLCJhcmciLCJwYXJlbnRFbCIsInJlbW92ZSIsImNvbnRhaW5zIiwiaW5jbHVkZURlc3Ryb3llZCIsImJlZm9yZU1vdmUiLCJhZnRlck1vdmUiLCJzb3VyY2VQYXJlbnROb2RlIiwic2VuZGVyIiwiY2FuY2VsRHJvcCIsInN0cmF0ZWd5TW92ZSIsInNwbGljZSIsInVuZGVybHlpbmdMaXN0IiwidmFsdWVXaWxsTXV0YXRlIiwidmFsdWVIYXNNdXRhdGVkIiwicHJvY2Vzc0FsbERlZmVycmVkQmluZGluZ1VwZGF0ZXMiLCJkZWZlclVwZGF0ZXMiLCJ0YXNrcyIsInJ1bkVhcmx5IiwiY29ubmVjdFdpdGgiLCJ1bmRlZmluZWQiLCJpc0VuYWJsZWQiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJjbGVhclRpbWVvdXQiLCJjb250cm9sc0Rlc2NlbmRhbnRCaW5kaW5ncyIsImRyYWdnYWJsZSIsImRyYWdnYWJsZU9wdGlvbnMiLCJjb25uZWN0VG9Tb3J0YWJsZSIsImRyb3BwYWJsZSIsImRyb3BwYWJsZU9wdGlv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", + "!function(e){\"function\"==typeof require&&\"object\"==typeof exports&&\"object\"==typeof module?e(\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null):\"function\"==typeof define&&define.amd?define([\"knockout\"],e):e(window.ko)}(function(e){e.subscribable.fn.watch=function(t,a,n,o){var r=typeof t;return\"boolean\"===r||\"undefined\"===r?e.watch(this,{enabled:!1!==t}):\"function\"!==r||e.isSubscribable(t)?e.watch(t,a,n,o||this):e.watch(this,a||{},t,o||this),this},e.watch=function(t,a,n,o){function r(l,c,f,u,s,b){if(l&&0!==a.depth&&(-1===a.depth||f.length<(a.depth||1))){if(a.watchedOnly&&!l.watchable&&l!=t)return;if(!1!==a.enabled&&!0!==a.enabled||(l.watchable=a.enabled),!1===l.watchable)return;!0===a.seal&&(l.watchable=!1);var d=typeof l;if(\"object\"===d||\"function\"===d){if(l._watcher===o)return;if(a.hide&&e.utils.arrayIndexOf(a.hide,l)>-1)return;var h=[].concat(f,c&&c!==t?c:[]);if(\"function\"!==d){if(\"[object Object]\"===Object.prototype.toString.call(l))e.utils.objectForEach(l,function(t,n){if(n=a.getter?a.getter.call(o,h,l,t):n){if(a.wrap){var i=Object.prototype.toString.call(n);\"[object Function]\"!==i&&\"[object Object]\"!==i&&(a.beforeWrap&&!1===a.beforeWrap.call(o,h,l,n)||(n=l[t]=\"[object Array]\"===i?e.observableArray(n):e.observable(n)))}a.unloop&&(n._watcher=u?void 0:o);var c=r(n,s?null:l,h,u,null,t);a.tagFields&&void 0===n._fieldName&&(c||\"parentsOnly\"!==a.tagFields&&\"function\"==typeof n||\"object\"==typeof n)&&(n._fieldName=t)}});else if(!0!==a.hideArrays)for(var p=0;p0||a.mutable)&&(t.subscribe(function(e){if(a.oldValues>0){var n=t.oldValues?t.oldValues:t.oldValues=[];for(n.unshift(e);n.length>a.oldValues;)n.pop()}a.mutable&&\"object\"==typeof e&&r(e,c?null:t,l,!0,!0)},null,\"beforeChange\")._watcher=o))}(l,y,h,s),y)return r(l(),s?null:l,h,u,!0),!0;if(!0!==a.hideWrappedValues)return r(l(),s?null:l,h,u,!0)}}}}}function i(e){var t=e[l];if(!t)throw\"Subscriptions field (.\"+l+\") not defined for observable child \"+(e._fieldName||\"\");if(t.change)for(n=t.change.length-1;n>=0;n--)t.change[n]._watcher===o&&t.change[n].dispose();if(t.beforeChange&&(a.mutable||a.oldValues>0))for(n=t.beforeChange.length-1;n>=0;n--)t.beforeChange[n]._watcher===o&&t.beforeChange[n].dispose();if(t.arrayChange)for(var n=t.arrayChange.length-1;n>=0;n--)t.arrayChange[n]._watcher===o&&t.arrayChange[n].dispose()}var l;switch(\"function\"==typeof a&&(o=o||n,n=a,a={}),o=o||this,\"function\"==typeof e.subscription||e.version){case!0:l=\"_subscriptions\";break;case\"3.0.0\":l=\"F\";break;case\"3.1.0\":l=\"H\";break;case\"3.2.0\":l=\"M\";break;case\"3.3.0\":l=\"G\";break;case\"3.4.0\":case\"3.4.1\":l=\"K\";break;case\"3.4.2\":l=\"F\";break;case\"3.5.0-beta\":l=\"S\";break;default:throw\"Unsupported Knockout version. Only v3.0.0 to v3.5.0-beta are supported when minified. Current version is \"+e.version}return\"function\"!=typeof t||e.isSubscribable(t)?(r(t,null,[]),{dispose:function(){r(t,null,[],!0)}}):e.computed(t,n,a)}}),window.foo=\"1.4.0\";\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImtvLXJlYWN0b3IubWluLmpzIl0sIm5hbWVzIjpbImUiLCJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSIsIndpbmRvdyIsImdsb2JhbCIsImRlZmluZSIsImFtZCIsImtvIiwic3Vic2NyaWJhYmxlIiwiZm4iLCJ3YXRjaCIsInQiLCJhIiwibiIsInIiLCJvIiwidGhpcyIsImVuYWJsZWQiLCJpc1N1YnNjcmliYWJsZSIsImMiLCJ1IiwiZiIsInMiLCJiIiwiaCIsImRlcHRoIiwibGVuZ3RoIiwid2F0Y2hlZE9ubHkiLCJ3YXRjaGFibGUiLCJzZWFsIiwiZCIsIl93YXRjaGVyIiwiaGlkZSIsInV0aWxzIiwiYXJyYXlJbmRleE9mIiwicCIsImNvbmNhdCIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsIm9iamVjdEZvckVhY2giLCJnZXR0ZXIiLCJ3cmFwIiwiaSIsImJlZm9yZVdyYXAiLCJvYnNlcnZhYmxlQXJyYXkiLCJvYnNlcnZhYmxlIiwidW5sb29wIiwibCIsInRhZ0ZpZWxkcyIsIl9maWVsZE5hbWUiLCJoaWRlQXJyYXlzIiwieSIsIm5vdGlmeVN1YnNjcmliZXJzIiwiYmVmb3JlV2F0Y2giLCJ2IiwicG9wIiwic3Vic2NyaWJlIiwic3BsaXRBcnJheUNoYW5nZXMiLCJhcnJheUZvckVhY2giLCJtb3ZlZCIsImFzeW5jIiwidmFsdWUiLCJzdGF0dXMiLCJzZXRUaW1lb3V0IiwibXV0YWJsZSIsIm9sZFZhbHVlcyIsInVuc2hpZnQiLCJoaWRlV3JhcHBlZFZhbHVlcyIsImNoYW5nZSIsImRpc3Bvc2UiLCJiZWZvcmVDaGFuZ2UiLCJhcnJheUNoYW5nZSIsInN1YnNjcmlwdGlvbiIsInZlcnNpb24iLCJjb21wdXRlZCIsImZvbyJdLCJtYXBwaW5ncyI6IkNBR0MsU0FBU0EsR0FBRyxtQkFBbUJDLFNBQVMsaUJBQWlCQyxTQUFTLGlCQUFpQkMsT0FBT0gsRUFBcUIsb0JBQVhJLE9BQXlCQSxPQUFXLEdBQXNCLG9CQUFYQyxP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LEVBQUU4RCxZQUFZLElBQUksSUFBSTVELEVBQUVGLEVBQUU4RCxZQUFZL0MsT0FBTyxFQUFFYixHQUFHLEVBQUVBLElBQUlGLEVBQUU4RCxZQUFZNUQsR0FBR2tCLFdBQVdqQixHQUFHSCxFQUFFOEQsWUFBWTVELEdBQUcwRCxVQUErNUIsSUFBSXBELEVBQUUsT0FBeEQsbUJBQW1CUCxJQUFJRSxFQUFFQSxHQUFHRCxFQUFFQSxFQUFFRCxFQUFFQSxFQUFFLElBQUlFLEVBQUVBLEdBQUdFLEtBQWtCLG1CQUFtQmpCLEVBQUUyRSxjQUFjM0UsRUFBRTRFLFNBQVMsS0FBSSxFQUFHeEQsRUFBRSxpQkFBaUIsTUFBTSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUUEsRUFBRSxJQUFJLE1BQU0sSUFBSSxRQUFRQSxFQUFFLElBQUksTUFBTSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUSxJQUFJLFFBQVFBLEVBQUUsSUFBSSxNQUFNLElBQUksUUFBUUEsRUFBRSxJQUFJLE1BQU0sSUFBSSxhQUFhQSxFQUFFLElBQUksTUFBTSxRQUFRLEtBQUssNEdBQTRHcEIsRUFBRTRFLFFBQVEsTUFBTSxtQkFBbUJoRSxHQUFHWixFQUFFbUIsZUFBZVAsSUFBSUksRUFBRUosRUFBRSxLQUFLLElBQUksQ0FBQzRELFFBQVEsV0FBV3hELEVBQUVKLEVBQUUsS0FBSyxJQUFHLE1BQU9aLEVBQUU2RSxTQUFTakUsRUFBRUUsRUFBRUQsTUFBTVQsT0FBTzBFLElBQU0iLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMva28tcmVhY3Rvci9kaXN0L2tvLXJlYWN0b3IubWluLmpzIn0=", + "module.exports={lex:require(\"./lib/lexer\"),parse:require(\"./lib/parser\"),stringify:require(\"./lib/stringify\")};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJsZXgiLCJyZXF1aXJlIiwicGFyc2UiLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUFVLENBQ2JDLElBQU9DLFFBQVEsZUFDZkMsTUFBT0QsUUFBUSxnQkFDZkUsVUFBV0YsUUFBUSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL25vZGVfbW9kdWxlcy9tZW5zY2gvaW5kZXguanMifQ==", + "function debug(e){return _debug.bind(null,e)}function _debug(e){var n=[].slice.call(arguments,1);n.unshift(\"[\"+e+\"]\"),process.stderr.write(n.join(\" \")+\"\\n\")}exports=module.exports=debug;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlYnVnLmpzIl0sIm5hbWVzIjpbImRlYnVnIiwibGFiZWwiLCJfZGVidWciLCJiaW5kIiwiYXJncyIsInNsaWNlIiwiY2FsbCIsImFyZ3VtZW50cyIsInVuc2hpZnQiLCJwcm9jZXNzIiwic3RkZXJyIiwid3JpdGUiLCJqb2luIiwiZXhwb3J0cyIsIm1vZHVsZSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsTUFBTUMsR0FDYixPQUFPQyxPQUFPQyxLQUFLLEtBQU1GLEdBRzNCLFNBQVNDLE9BQU9ELEdBQ2QsSUFBSUcsRUFBTyxHQUFHQyxNQUFNQyxLQUFLQyxVQUFXLEdBQ3BDSCxFQUFLSSxRQUFRLElBQU1QLEVBQVEsS0FDM0JRLFFBQVFDLE9BQU9DLE1BQU1QLEVBQUtRLEtBQUssS0FBTyxNQVR4Q0MsUUFBVUMsT0FBT0QsUUFBVWIiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9ub2RlX21vZHVsZXMvbWVuc2NoL2xpYi9kZWJ1Zy5qcyJ9", + "var DEBUG=!1,TIMER=!1,debug=require(\"./debug\")(\"lex\");function lex(e){var a,r,s=\"\",t=0,c=-1,n=0,l=1,o=\"before-selector\",u=[o],i={},b=[],f=[\"media\",\"keyframes\",{name:\"-webkit-keyframes\",type:\"keyframes\",prefix:\"-webkit-\"},{name:\"-moz-keyframes\",type:\"keyframes\",prefix:\"-moz-\"},{name:\"-ms-keyframes\",type:\"keyframes\",prefix:\"-ms-\"},{name:\"-o-keyframes\",type:\"keyframes\",prefix:\"-o-\"},\"font-face\",{name:\"import\",state:\"before-at-value\"},{name:\"charset\",state:\"before-at-value\"},\"supports\",\"viewport\",{name:\"namespace\",state:\"before-at-value\"},\"document\",{name:\"-moz-document\",type:\"document\",prefix:\"-moz-\"},\"page\"];function m(e){return e?u[u.length-1-e]:o}function g(a){var r=c+1;return a===e.slice(r,r+a.length)}function v(a){var r=e.slice(c).indexOf(a);return r>0&&r}function k(e){return e===p(1)}function p(a){return e[c+(a||1)]}function d(){var e=u.pop();return o=u[u.length-1],e}function h(e){return o=e,u.push(o),u.length}function w(e){var a=o;return u[u.length-1]=o=e,a}function y(a){if(1==(a||1))\"\\n\"==e[c]?(l++,t=1):t++,c++;else{var r=e.slice(c,c+a).split(\"\\n\");r.length>1&&(l+=r.length-1,t=1),t+=r[r.length-1].length,c+=a}}function x(){i.end={line:l,col:t},DEBUG&&debug(\"addToken:\",JSON.stringify(i,null,2)),b.push(i),s=\"\",i={}}function E(e){i={type:e,start:{line:l,col:t}}}for(TIMER&&(a=Date.now());y(),r=e[c];)switch(DEBUG&&debug(r,m()),r){case\" \":switch(m()){case\"selector\":case\"value\":case\"value-paren\":case\"at-group\":case\"at-value\":case\"comment\":case\"double-string\":case\"single-string\":s+=r}break;case\"\\n\":case\"\\t\":case\"\\r\":case\"\\f\":switch(m()){case\"value\":case\"value-paren\":case\"at-group\":case\"comment\":case\"single-string\":case\"double-string\":case\"selector\":s+=r;break;case\"at-value\":\"\\n\"===r&&(i.value=s.trim(),x(),d())}break;case\":\":switch(m()){case\"name\":i.name=s.trim(),s=\"\",w(\"before-value\");break;case\"before-selector\":s+=r,E(\"selector\"),h(\"selector\");break;case\"before-value\":w(\"value\"),s+=r;break;default:s+=r}break;case\";\":switch(m()){case\"name\":case\"before-value\":case\"value\":s.trim().length>0&&(i.value=s.trim(),x()),w(\"before-name\");break;case\"value-paren\":s+=r;break;case\"at-value\":i.value=s.trim(),x(),d();break;case\"before-name\":break;default:s+=r}break;case\"{\":switch(m()){case\"selector\":if(\"\\\\\"===p(-1)){s+=r;break}i.text=s.trim(),x(),w(\"before-name\"),n+=1;break;case\"at-group\":switch(i.name=s.trim(),i.type){case\"font-face\":case\"viewport\":case\"page\":h(\"before-name\");break;default:h(\"before-selector\")}x(),n+=1;break;case\"name\":case\"at-rule\":i.name=s.trim(),x(),h(\"before-name\"),n+=1;break;case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":w(\"value\"),s+=r}break;case\"}\":switch(m()){case\"before-name\":case\"name\":case\"before-value\":case\"value\":s&&(i.value=s.trim()),i.name&&i.value&&x(),E(\"end\"),x(),d(),\"at-group\"===m()&&(E(\"at-group-end\"),x(),d()),n>0&&(n-=1);break;case\"at-group\":case\"before-selector\":case\"selector\":if(\"\\\\\"===p(-1)){s+=r;break}n>0&&\"at-group\"===m(1)&&(E(\"at-group-end\"),x()),n>1&&d(),n>0&&(n-=1);break;case\"double-string\":case\"single-string\":case\"comment\":s+=r}break;case'\"':case\"'\":switch(m()){case\"double-string\":'\"'===r&&\"\\\\\"!==p(-1)&&d();break;case\"single-string\":\"'\"===r&&\"\\\\\"!==p(-1)&&d();break;case\"before-at-value\":w(\"at-value\"),h('\"'===r?\"double-string\":\"single-string\");break;case\"before-value\":w(\"value\"),h('\"'===r?\"double-string\":\"single-string\");break;case\"comment\":break;default:\"\\\\\"!==p(-1)&&h('\"'===r?\"double-string\":\"single-string\")}s+=r;break;case\"/\":switch(m()){case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":case\"selector\":case\"name\":case\"value\":if(k(\"*\")){var D=v(\"*/\");D&&y(D+1)}else\"before-value\"==m()&&w(\"value\"),s+=r;break;default:k(\"*\")?(E(\"comment\"),h(\"comment\"),y()):s+=r}break;case\"*\":switch(m()){case\"comment\":k(\"/\")?(i.text=s,y(),x(),d()):s+=r;break;case\"before-selector\":s+=r,E(\"selector\"),h(\"selector\");break;case\"before-value\":w(\"value\"),s+=r;break;default:s+=r}break;case\"@\":switch(m()){case\"comment\":case\"double-string\":case\"single-string\":s+=r;break;case\"before-value\":w(\"value\"),s+=r;break;default:for(var z,T,B=!1,G=0,I=f.length;!B&&G1)for(var r=1;r+)\\\\s*|(\\\\s+)|(+|\\\\*)|\\\\#(+)|\\\\.(+)|\\\\[\\\\s*(+)(?:\\\\s*([*^$!~|]?=)(?:\\\\s*(?:([\\\"']?)(.*?)\\\\9)))?\\\\s*\\\\](?!\\\\])|(:+)(+)(?:\\\\((?:(?:([\\\"'])([^\\\\13]*)\\\\13)|((?:\\\\([^)]+\\\\)|[^()]*)+))\\\\))?)\".replace(//,\"[\"+escape(\">+~`!@$%^&={}\\\\;/g,\"(?:[\\\\w\\\\u00a1-\\\\uFFFF-]|\\\\\\\\[^\\\\s0-9a-f])\").replace(//g,\"(?:[:\\\\w\\\\u00a1-\\\\uFFFF-]|\\\\\\\\[^\\\\s0-9a-f])\")),Part=function(e){this.combinator=e||\" \",this.tag=\"*\"};Part.prototype.toString=function(){if(!this.raw){var e,s,t=\"\";if(t+=this.tag||\"*\",this.id&&(t+=\"#\"+this.id),this.classes&&(t+=\".\"+this.classList.join(\".\")),this.attributes)for(e=0;s=this.attributes[e++];)t+=\"[\"+s.name+(s.operator?s.operator+'\"'+s.value+'\"':\"\")+\"]\";if(this.pseudos)for(e=0;s=this.pseudos[e++];)t+=\":\"+s.name,s.value&&(t+=\"(\"+s.value+\")\");this.raw=t}return this.raw};var Expression=function(){this.length=0};Expression.prototype.toString=function(){if(!this.raw){for(var e,s=\"\",t=0;e=this[t++];)1!==t&&(s+=\" \"),\" \"!==e.combinator&&(s+=e.combinator+\" \"),s+=e;this.raw=s}return this.raw};var replacer=function(e,s,t,a,r,i,n,c,u,o,p,l,h,f,g,d){var v,w;if((s||!this.length)&&(v=this[this.length++]=new Expression,s))return\"\";if(v||(v=this[this.length-1]),(t||a||!v.length)&&(w=v[v.length++]=new Part(t)),w||(w=v[v.length-1]),r)w.tag=unescape(r);else if(i)w.id=unescape(i);else if(n){var m=unescape(n),b=w.classes||(w.classes={});if(!b[m]){b[m]=escape(n);var x=w.classList||(w.classList=[]);x.push(m),x.sort()}}else h?(d=d||g,(w.pseudos||(w.pseudos=[])).push({type:1==l.length?\"class\":\"element\",name:unescape(h),escapedName:escape(h),value:d?unescape(d):null,escapedValue:d?escape(d):null})):c&&(p=p?escape(p):null,(w.attributes||(w.attributes=[])).push({operator:u,name:unescape(c),escapedName:escape(c),value:p?unescape(p):null,escapedValue:p?escape(p):null}));return\"\"},Expressions=function(e){this.length=0;for(var s,t=this,a=e;e;){if((s=e.replace(slickRe,function(){return replacer.apply(t,arguments)}))===e)throw new Error(a+\" is an invalid expression\");e=s}};Expressions.prototype.toString=function(){if(!this.raw){for(var e,s=[],t=0;e=this[t++];)s.push(e);this.raw=s.join(\", \")}return this.raw};var cache={},parse=function(e){return null==e?null:(e=(\"\"+e).replace(/^\\s+|\\s+$/g,\"\"),cache[e]||(cache[e]=new Expressions(e)))};module.exports=parse;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci5qcyJdLCJuYW1lcyI6WyJlc2NhcGVSZSIsInVuZXNjYXBlUmUiLCJlc2NhcGUiLCJzdHJpbmciLCJyZXBsYWNlIiwidW5lc2NhcGUiLCJzbGlja1JlIiwiUmVnRXhwIiwiUGFydCIsImNvbWJpbmF0b3IiLCJ0aGlzIiwidGFnIiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJyYXciLCJrIiwicGFydCIsInhwciIsImlkIiwiY2xhc3NlcyIsImNsYXNzTGlzdCIsImpvaW4iLCJhdHRyaWJ1dGVzIiwibmFtZSIsIm9wZXJhdG9yIiwidmFsdWUiLCJwc2V1ZG9zIiwiRXhwcmVzc2lvbiIsImxlbmd0aCIsImJpdCIsImoiLCJyZXBsYWNlciIsInJhd01hdGNoIiwic2VwYXJhdG9yIiwiY29tYmluYXRvckNoaWxkcmVuIiwidGFnTmFtZSIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZUtleSIsImF0dHJpYnV0ZU9wZXJhdG9yIiwiYXR0cmlidXRlUXVvdGUiLCJhdHRyaWJ1dGVWYWx1ZSIsInBzZXVkb01hcmtlciIsInBzZXVkb0NsYXNzIiwicHNldWRvUXVvdGUiLCJwc2V1ZG9DbGFzc1F1b3RlZFZhbHVlIiwicHNldWRvQ2xhc3NWYWx1ZSIsImV4cHJlc3Npb24iLCJjdXJyZW50IiwidW5lc2NhcGVkIiwicHVzaCIsInNvcnQiLCJ0eXBlIiwiZXNjYXBlZE5hbWUiLCJlc2NhcGVkVmFsdWUiLCJFeHByZXNzaW9ucyIsInJlcGxhY2VkIiwic2VsZiIsIm9yaWdpbmFsIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJFcnJvciIsImV4cHJlc3Npb25zIiwiaSIsImNhY2hlIiwicGFyc2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFHRSxhQWtCRixJQUFJQSxTQUFhLDJCQUNiQyxXQUFhLE1BRWJDLE9BQVMsU0FBU0MsR0FHbEIsT0FBUUEsRUFBUyxJQUFJQyxRQUFRSixTQUFVLFNBR3ZDSyxTQUFXLFNBQVNGLEdBQ3BCLE9BQVFBLEVBQVMsSUFB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", + "!function(t){var e=/^\\s+/,r=/\\s+$/,n=0,a=t.round,i=t.min,s=t.max,o=t.random;function f(o,h){if(h=h||{},(o=o||\"\")instanceof f)return o;if(!(this instanceof f))return new f(o,h);var u=function(n){var a={r:0,g:0,b:0},o=1,f=null,h=null,u=null,l=!1,c=!1;\"string\"==typeof n&&(n=function(t){t=t.replace(e,\"\").replace(r,\"\").toLowerCase();var n,a=!1;if(H[t])t=H[t],a=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(n=O.rgb.exec(t))return{r:n[1],g:n[2],b:n[3]};if(n=O.rgba.exec(t))return{r:n[1],g:n[2],b:n[3],a:n[4]};if(n=O.hsl.exec(t))return{h:n[1],s:n[2],l:n[3]};if(n=O.hsla.exec(t))return{h:n[1],s:n[2],l:n[3],a:n[4]};if(n=O.hsv.exec(t))return{h:n[1],s:n[2],v:n[3]};if(n=O.hsva.exec(t))return{h:n[1],s:n[2],v:n[3],a:n[4]};if(n=O.hex8.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),a:z(n[4]),format:a?\"name\":\"hex8\"};if(n=O.hex6.exec(t))return{r:M(n[1]),g:M(n[2]),b:M(n[3]),format:a?\"name\":\"hex\"};if(n=O.hex4.exec(t))return{r:M(n[1]+\"\"+n[1]),g:M(n[2]+\"\"+n[2]),b:M(n[3]+\"\"+n[3]),a:z(n[4]+\"\"+n[4]),format:a?\"name\":\"hex8\"};if(n=O.hex3.exec(t))return{r:M(n[1]+\"\"+n[1]),g:M(n[2]+\"\"+n[2]),b:M(n[3]+\"\"+n[3]),format:a?\"name\":\"hex\"};return!1}(n));\"object\"==typeof n&&(P(n.r)&&P(n.g)&&P(n.b)?(g=n.r,b=n.g,d=n.b,a={r:255*C(g,255),g:255*C(b,255),b:255*C(d,255)},l=!0,c=\"%\"===String(n.r).substr(-1)?\"prgb\":\"rgb\"):P(n.h)&&P(n.s)&&P(n.v)?(f=L(n.s),h=L(n.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,s=n*(1-r),o=n*(1-i*r),f=n*(1-(1-i)*r),h=a%6;return{r:255*[n,o,s,s,f,n][h],g:255*[f,n,n,o,s,s][h],b:255*[s,s,f,n,n,o][h]}}(n.h,f,h),l=!0,c=\"hsv\"):P(n.h)&&P(n.s)&&P(n.l)&&(f=L(n.s),u=L(n.l),a=function(t,e,r){var n,a,i;function s(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var o=r<.5?r*(1+e):r+e-r*e,f=2*r-o;n=s(f,o,t+1/3),a=s(f,o,t),i=s(f,o,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(n.h,f,u),l=!0,c=\"hsl\"),n.hasOwnProperty(\"a\")&&(o=n.a));var g,b,d;return o=F(o),{ok:l,format:n.format||c,r:i(255,s(a.r,0)),g:i(255,s(a.g,0)),b:i(255,s(a.b,0)),a:o}}(o);this._originalInput=o,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=h.format||u.format,this._gradientType=h.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=n++}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,o=s(t,e,r),f=i(t,e,r),h=(o+f)/2;if(o==f)n=a=0;else{var u=o-f;switch(a=h>.5?u/(2-o-f):u/(o+f),o){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(f(n));return i}function S(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,a=r.s,i=r.v,s=[],o=1/e;e--;)s.push(f({h:n,s:a,v:i})),i=(i+o)%1;return s}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=F(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=h(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return l(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var s=[I(a(t).toString(16)),I(a(e).toString(16)),I(a(r).toString(16)),I(N(n))];if(i&&s[0].charAt(0)==s[0].charAt(1)&&s[1].charAt(0)==s[1].charAt(1)&&s[2].charAt(0)==s[2].charAt(1)&&s[3].charAt(0)==s[3].charAt(1))return s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0);return s.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+\"%\",g:a(100*C(this._g,255))+\"%\",b:a(100*C(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%)\":\"rgba(\"+a(100*C(this._r,255))+\"%, \"+a(100*C(this._g,255))+\"%, \"+a(100*C(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(R[l(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+c(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var a=f(t);r=\"#\"+c(a._r,a._g,a._b,a._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(d,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(w,arguments)},complement:function(){return this._applyCombination(y,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},f.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:L(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:o(),g:o(),b:o()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),a=f(e).toRgb(),i=r/100;return f({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},f.readability=function(e,r){var n=f(e),a=f(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,a,i=f.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":a=i>=4.5;break;case\"AAlarge\":a=i>=3;break;case\"AAAsmall\":a=i>=7}return a},f.mostReadable=function(t,e,r){var n,a,i,s,o=null,h=0;a=(r=r||{}).includeFallbackColors,i=r.level,s=r.size;for(var u=0;uh&&(h=n,o=f(e[u]));return f.isReadable(t,o,{level:i,size:s})||!a?o:(r.includeFallbackColors=!1,f.mostReadable(t,[\"#fff\",\"#000\"],r))};var H=f.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},R=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(H);function F(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=i(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function q(t){return i(1,s(0,t))}function M(t){return parseInt(t,16)}function I(t){return 1==t.length?\"0\"+t:\"\"+t}function L(t){return t<=1&&(t=100*t+\"%\"),t}function N(e){return t.round(255*parseFloat(e)).toString(16)}function z(t){return M(t)/255}var E,T,j,O=(T=\"[\\\\s|\\\\(]+(\"+(E=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")\\\\s*\\\\)?\",j=\"[\\\\s|\\\\(]+(\"+E+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")[,|\\\\s]+(\"+E+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(E),rgb:new RegExp(\"rgb\"+T),rgba:new RegExp(\"rgba\"+j),hsl:new RegExp(\"hsl\"+T),hsla:new RegExp(\"hsla\"+j),hsv:new RegExp(\"hsv\"+T),hsva:new RegExp(\"hsva\"+j),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function P(t){return!!O.CSS_UNIT.exec(t)}\"undefined\"!=typeof module&&module.exports?module.exports=f:\"function\"==typeof define&&define.amd?define(function(){return f}):window.tinycolor=f}(Math);\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRpbnljb2xvci5qcyJdLCJuYW1lcyI6WyJNYXRoIiwidHJpbUxlZnQiLCJ0cmltUmlnaHQiLCJ0aW55Q291bnRlciIsIm1hdGhSb3VuZCIsInJvdW5kIiwibWF0aE1pbiIsIm1pbiIsIm1hdGhNYXgiLCJtYXgiLCJtYXRoUmFuZG9tIiwicmFuZG9tIiwidGlueWNvbG9yIiwiY29sb3IiLCJvcHRzIiwidGhpcyIsInJnYiIsInIiLCJnIiwiYiIsImEiLCJzIiwidiIsImwiLCJvayIsImZvcm1hdCIsInJlcGxhY2UiLCJ0b0xvd2VyQ2FzZSIsIm1hdGNoIiwibmFtZWQiLCJuYW1lcyIsIm1hdGNoZXJzIiwiZXhlYyIsInJnYmEiLCJoc2wiLCJoIiwiaHNsYSIsImhzdiIsImhzdmEiLCJoZXg4IiwicGFyc2VJbnRGcm9tSGV4IiwiY29udmVydEhleFRvRGVjaW1hbCIsImhleDYiLCJoZXg0IiwiaGV4MyIsInN0cmluZ0lucHV0VG9PYmplY3QiLCJpc1ZhbGlkQ1NTVW5pdCIsImJvdW5kMDEiLCJTdHJpbmciLCJzdWJzdHIiLCJjb252ZXJ0VG9QZXJjZW50YWdlIiwiaSIsImZsb29yIiwiZiIsInAiLCJxIiwidCIsIm1vZCIsImhzdlRvUmdiIiwiaHVlMnJnYiIsImhzbFRvUmdiIiwiaGFzT3duUHJvcGVydHkiLCJib3VuZEFscGhhIiwiaW5wdXRUb1JHQiIsIl9vcmlnaW5hbElucHV0IiwiX3IiLCJfZyIsIl9iIiwiX2EiLCJfcm91bmRBIiwiX2Zvcm1hdCIsIl9ncmFkaWVudFR5cGUiLCJncmFkaWVudFR5cGUiLCJfb2siLCJfdGNfaWQiLCJyZ2JUb0hzbCIsImQiLCJyZ2JUb0hzdiIsInJnYlRvSGV4IiwiYWxsb3czQ2hhciIsImhleCIsInBhZDIiLCJ0b1N0cmluZyIsImNoYXJBdCIsImpvaW4iLCJyZ2JhVG9BcmdiSGV4IiwiY29udmVydERlY2ltYWxUb0hleCIsImRlc2F0dXJhdGUiLCJhbW91bnQiLCJ0b0hzbCIsImNsYW1wMDEiLCJzYXR1cmF0ZSIsImdyZXlzY2FsZSIsImxpZ2h0ZW4iLCJicmlnaHRlbiIsInRvUmdiIiwiZGFya2VuIiwic3BpbiIsImh1ZSIsImNvbXBsZW1lbnQiLCJ0cmlhZCIsInRldHJhZCIsInNwbGl0Y29tcGxlbWVudCIsImFuYWxvZ291cyIsInJlc3VsdHMiLCJzbGljZXMiLCJwYXJ0IiwicmV0IiwicHVzaCIsIm1vbm9jaHJvbWF0aWMiLCJ0b0hzdiIsIm1vZGlmaWNhdGlvbiIsInByb3RvdHlwZSIsImlzRGFyayIsImdldEJyaWdodG5lc3MiLCJpc0xpZ2h0IiwiaXNWYWxpZCIsImdldE9yaWdpbmFsSW5wdXQiLCJnZXRGb3JtYXQiLCJnZXRBbHBoYSIsImdldEx1bWluYW5jZSIsIlJzUkdCIiwiR3NSR0IiLCJCc1JHQiIsInBvdyIsInNldEFscGhhIiwidmFsdWUiLCJ0b0hzdlN0cmluZyIsInRvSHNsU3RyaW5nIiwidG9IZXgiLCJ0b0hleFN0cmluZyIsInRvSGV4OCIsImFsbG93NENoYXIiLCJyZ2JhVG9IZXgiLCJ0b0hleDhTdHJpbmciLCJ0b1JnYlN0cmluZyIsInRvUGVyY2VudGFnZVJnYiIsInRvUGVyY2VudGFnZVJnYlN0cmluZyIsInRvTmFtZSIsImhleE5hbWVzIiwidG9GaWx0ZXIiLCJzZWNvbmRDb2xvciIsImhleDhTdHJpbmciLCJzZWNvbmRIZXg4U3RyaW5nIiwiZm9ybWF0U2V0IiwiZm9ybWF0dGVkU3RyaW5nIiwiaGFzQWxwaGEiLCJjbG9uZSIsIl9hcHBseU1vZGlmaWNhdGlvbiIsImZuIiwiYXJncyIsImFwcGx5IiwiY29uY2F0Iiwic2xpY2UiLCJjYWxsIiwiYXJndW1lbnRzIiwiX2FwcGx5Q29tYmluYXRpb24iLCJmcm9tUmF0aW8iLCJuZXdDb2xvciIsImVxdWFscyIsImNvbG9yMSIsImNvbG9yMiIsIm1peCIsInJnYjEiLCJyZ2IyIiwicmVhZGFiaWxpdHkiLCJjMSIsImMyIiwiaXNSZWFkYWJsZSIsIndjYWcyIiwid2NhZzJQYXJtcyIsIm91dCIsInBhcm1zIiwibGV2ZWwiLCJzaXplIiwidG9VcHBlckNhc2UiLCJ2YWxpZGF0ZVdDQUcyUGFybXMiLCJtb3N0UmVhZGFibGUiLCJiYXNlQ29sb3IiLCJjb2xvckxpc3QiLCJpbmNsdWRlRmFsbGJhY2tDb2xvcnMiLCJiZXN0Q29sb3IiLCJiZXN0U2NvcmUiLCJsZW5ndGgiLCJhbGljZWJsdWUiLCJhbnRpcXVld2hpdGUiLCJhcXVhIiwiYXF1YW1hcmluZSIsImF6dXJlIiwiYmVpZ2UiLCJiaXNxdWUiLCJibGFjayIsImJsYW5jaGVkYWxtb25kIiwiYmx1ZSIsImJsdWV2aW9sZXQiLCJicm93biIsImJ1cmx5d29vZCIsImJ1cm50c2llbm5hIiwiY2FkZXRibHVlIiwiY2hhcnRyZXVzZSIsImNob2NvbGF0ZSIsImNvcmFsIiwiY29ybmZsb3dlcmJsdWUiLCJjb3Juc2lsayIsImNyaW1zb24iLCJjeWFuIiwiZGFya2JsdWUiLCJkYXJrY3lhbiIsImRhcmtnb2xkZW5yb2QiLCJkYXJrZ3JheSIsImRhcmtncmVlbiIsImRhcmtncmV5IiwiZGFya2toYWtpIiwiZGFya21hZ2VudGEiLCJkYXJrb2xpdmVncmVlbiIsImRhcmtvcmFuZ2UiLCJkYXJrb3JjaGlkIiwiZGFya3JlZCIsImRhcmtzYWxtb24iLCJkYXJrc2VhZ3JlZW4iLCJkYXJrc2xhdGVibHVlIiwiZGFya3NsYXRlZ3JheSIsImRhcmtzbGF0ZWdyZXkiLCJkYXJrdHVycXVvaXNlIiwiZGFya3Zpb2xldCIsImRlZXBwaW5rIiwiZGVlcHNreWJsdWUiLCJkaW1ncmF5IiwiZGltZ3JleSIsImRvZGdlcmJsdWUiLCJmaXJlYnJpY2siLCJmbG9yYWx3aGl0ZSIsImZvcmVzdGdyZWVuIiwiZnVjaHNpYSIsImdhaW5zYm9ybyIsImdob3N0d2hpdGUiLCJnb2xkIiwiZ29sZGVucm9kIiwiZ3JheSIsImdyZWVuIiwiZ3JlZW55ZWxsb3ciLCJncmV5IiwiaG9uZXlkZXciLCJob3RwaW5rIiwiaW5kaWFucmVkIiwiaW5kaWdvIiwiaXZvcnkiLCJraGFraSIsImxhdmVuZGVyIiwibGF2ZW5kZXJibHVzaCIsImxhd25ncmVlbiIsImxlbW9uY2hpZmZvbiIsImxpZ2h0Ymx1ZSIsImxpZ2h0Y29yYWwiLCJsaWdodGN5YW4iLCJsaWdodGdvbGRlbnJvZHllbGxvdyIsImxpZ2h0Z3JheSIsImxpZ2h0Z3JlZW4iLCJsaWdodGdyZXkiLCJsaWdodHBpbmsiLCJsaWdodHNhbG1vbiIsImxpZ2h0c2VhZ3JlZW4iLCJsaWdodHNreWJsdWUiLCJsaWdodHNsYXRlZ3JheSIsImxpZ2h0c2xhdGVncmV5IiwibGlnaHRzdGVlbGJsdWUiLCJsaWdodHllbGxvdyIsImxpbWUiLCJsaW1lZ3JlZW4iLCJsaW5lbiIsIm1hZ2VudGEiLCJtYXJvb24iLCJtZWRpdW1hcXVhbWFyaW5lIiwibWVkaXVtYmx1ZSIsIm1lZGl1bW9yY2hpZCIsIm1lZGl1bXB1cnBsZSIsIm1lZGl1bXNlYWdyZWVuIiwibWVkaXVtc2xhdGVibHVlIiwibWVkaXVtc3ByaW5nZ3JlZW4iLCJtZWRpdW10dXJxdW9pc2UiLCJtZWRpdW12aW9sZXRyZWQiLCJtaWRuaWdodGJsdWUiLCJtaW50Y3JlYW0iLCJtaXN0eXJvc2UiLCJtb2NjYXNpbiIsIm5hdmFqb3doaXRlIiwibmF2eSIsIm9sZGxhY2UiLCJvbGl2ZSIsIm9saXZlZHJhYiIsIm9yYW5nZSIsIm9yYW5nZXJlZCIsIm9yY2hpZCIsInBhbGVnb2xkZW5yb2QiLCJwYWxlZ3JlZW4iLCJwYWxldHVycXVvaXNlIiwicGFsZXZpb2xldHJlZCIsInBhcGF5YXdoaXAiLCJwZWFjaHB1ZmYiLCJwZXJ1IiwicGluayIsInBsdW0iLCJwb3dkZXJibHVlIiwicHVycGxlIiwicmViZWNjYXB1cnBsZSIsInJlZCIsInJvc3licm93biIsInJveWFsYmx1ZSIsInNhZGRsZWJyb3duIiwic2FsbW9uIiwic2FuZHlicm93biIsInNlYWdyZWVuIiwic2Vhc2hlbGwiLCJzaWVubmEiLCJzaWx2ZXIiLCJza3libHVlIiwic2xhdGVibHVlIiwic2xhdGVncmF5Iiwic2xhdGVncmV5Iiwic25vdyIsInNwcmluZ2dyZWVuIiwic3RlZWxibHVlIiwidGFuIiwidGVhbCIsInRoaXN0bGUiLCJ0b21hdG8iLCJ0dXJxdW9pc2UiLCJ2aW9sZXQiLCJ3aGVhdCIsIndoaXRlIiwid2hpdGVzbW9rZSIsInllbGxvdyIsInllbGxvd2dyZWVuIiwibyIsImZsaXBwZWQiLCJmbGlwIiwicGFyc2VGbG9hdCIsImlzTmFOIiwibiIsImluZGV4T2YiLCJpc09uZVBvaW50WmVybyIsInByb2Nlc3NQZXJjZW50IiwiaXNQZXJjZW50YWdlIiwicGFyc2VJbnQiLCJhYnMiLCJ2YWwiLCJjIiwiQ1NTX1VOSVQiLCJQRVJNSVNTSVZFX01BVENIMyIsIlBFUk1JU1NJVkVfTUFUQ0g0IiwiUmVnRXhwIiwibW9kdWxlIiwiZXhwb3J0cyIsImRlZmluZSIsImFtZCIsIndpbmRvdyJdLCJtYXBwaW5ncyI6IkNBSUEsU0FBVUEsR0FFVixJQUFJQyxFQUFXLE9BQ1hDLEVBQVksT0FDWkMsRUFBYyxFQUNkQyxFQUFZSixFQUFLSyxNQUNqQkMsRUFBVU4sRUFBS08sSUFDZkMsRUFBVVIsRUFBS1MsSUFDZkMsRUFBYVYsRUFBS1csT0FFdEIsU0FBU0MsRUFBV0MsRUFBT0MsR0FNdkIsR0FIQUEsRUFBT0EsR0FBUSxJQURmRCxFQUFRLEdBQWtCLGNBSUxELEVBQ2xCLE9BQU9DLEVBR1YsS0FBTUUsZ0JBQWdCSCxHQUNsQixPQUFPLElBQUlBLEVBQVVDLEVBQU9DLEdBR2hDLElBQUlFLEVBb1JSLFNBQW9CSCxHQUVoQixJQUFJRyxFQUFNLENBQUVDLEVBQUcsRUFBR0MsRUFBRyxFQUFHQyxFQUFHLEdBQ3ZCQyxFQUFJLEVBQ0pDLEVBQUksS0FDSkMsRUFBSSxLQUNKQyxFQUFJLEtBQ0pDLEdBQUssRUFDTEMsR0FBUyxFQUVPLGlCQUFUWixJQUNQQSxFQXl3QlIsU0FBNkJBLEdBRXpCQSxFQUFRQSxFQUFNYSxRQUFRekIsRUFBUyxJQUFJeUIsUUFBUXhCLEVBQVcsSUFBSXlCLGNBQzFELElBYUlDLEVBYkFDLEdBQVEsRUFDWixHQUFJQyxFQUFNakIsR0FDTkEsRUFBUWlCLEVBQU1q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", + "!function(e){e([\"jquery\"],function(e){return function(){var t,n,o,s=0,i={error:\"error\",info:\"info\",success:\"success\",warning:\"warning\"},a={clear:function(n,o){var s=u();t||r(s);l(n,s,o)||function(n){for(var o=t.children(),s=o.length-1;s>=0;s--)l(e(o[s]),n)}(s)},remove:function(n){var o=u();t||r(o);if(n&&0===e(\":focus\",n).length)return void p(n);t.children().length&&t.remove()},error:function(e,t,n){return d({type:i.error,iconClass:u().iconClasses.error,message:e,optionsOverride:n,title:t})},getContainer:r,info:function(e,t,n){return d({type:i.info,iconClass:u().iconClasses.info,message:e,optionsOverride:n,title:t})},options:{},subscribe:function(e){n=e},success:function(e,t,n){return d({type:i.success,iconClass:u().iconClasses.success,message:e,optionsOverride:n,title:t})},version:\"2.1.4\",warning:function(e,t,n){return d({type:i.warning,iconClass:u().iconClasses.warning,message:e,optionsOverride:n,title:t})}};return a;function r(n,o){return n||(n=u()),(t=e(\"#\"+n.containerId)).length?t:(o&&(t=function(n){return(t=e(\"
\").attr(\"id\",n.containerId).addClass(n.positionClass)).appendTo(e(n.target)),t}(n)),t)}function l(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(\":focus\",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){p(t)}}),!0)}function c(e){n&&n(e)}function d(n){var i=u(),a=n.iconClass||i.iconClass;if(void 0!==n.optionsOverride&&(i=e.extend(i,n.optionsOverride),a=n.optionsOverride.iconClass||a),!function(e,t){if(e.preventDuplicates){if(t.message===o)return!0;o=t.message}return!1}(i,n)){s++,t=r(i,!0);var l=null,d=e(\"
\"),f=e(\"
\"),g=e(\"
\"),m=e(\"
\"),h=e(i.closeHtml),v={intervalId:null,hideEta:null,maxHideTime:null},C={toastId:s,state:\"visible\",startTime:new Date,options:i,map:n};return n.iconClass&&d.addClass(i.toastClass).addClass(a),function(){if(n.title){var e=n.title;i.escapeHtml&&(e=w(n.title)),f.append(e).addClass(i.titleClass),d.append(f)}}(),function(){if(n.message){var e=n.message;i.escapeHtml&&(e=w(n.message)),g.append(e).addClass(i.messageClass),d.append(g)}}(),i.closeButton&&(h.addClass(i.closeClass).attr(\"role\",\"button\"),d.prepend(h)),i.progressBar&&(m.addClass(i.progressClass),d.prepend(m)),i.rtl&&d.addClass(\"rtl\"),i.newestOnTop?t.prepend(d):t.append(d),function(){var e=\"\";switch(n.iconClass){case\"toast-success\":case\"toast-info\":e=\"polite\";break;default:e=\"assertive\"}d.attr(\"aria-live\",e)}(),d.hide(),d[i.showMethod]({duration:i.showDuration,easing:i.showEasing,complete:i.onShown}),i.timeOut>0&&(l=setTimeout(T,i.timeOut),v.maxHideTime=parseFloat(i.timeOut),v.hideEta=(new Date).getTime()+v.maxHideTime,i.progressBar&&(v.intervalId=setInterval(D,10))),function(){i.closeOnHover&&d.hover(O,b);!i.onclick&&i.tapToDismiss&&d.click(T);i.closeButton&&h&&h.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&!0!==e.cancelBubble&&(e.cancelBubble=!0),i.onCloseClick&&i.onCloseClick(e),T(!0)});i.onclick&&d.click(function(e){i.onclick(e),T()})}(),c(C),i.debug&&console&&console.log(C),d}function w(e){return null==e&&(e=\"\"),e.replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(//g,\">\")}function T(t){var n=t&&!1!==i.closeMethod?i.closeMethod:i.hideMethod,o=t&&!1!==i.closeDuration?i.closeDuration:i.hideDuration,s=t&&!1!==i.closeEasing?i.closeEasing:i.hideEasing;if(!e(\":focus\",d).length||t)return clearTimeout(v.intervalId),d[n]({duration:o,easing:s,complete:function(){p(d),clearTimeout(l),i.onHidden&&\"hidden\"!==C.state&&i.onHidden(),C.state=\"hidden\",C.endTime=new Date,c(C)}})}function b(){(i.timeOut>0||i.extendedTimeOut>0)&&(l=setTimeout(T,i.extendedTimeOut),v.maxHideTime=parseFloat(i.extendedTimeOut),v.hideEta=(new Date).getTime()+v.maxHideTime)}function O(){clearTimeout(l),v.hideEta=0,d.stop(!0,!0)[i.showMethod]({duration:i.showDuration,easing:i.showEasing})}function D(){var e=(v.hideEta-(new Date).getTime())/v.maxHideTime*100;m.width(e+\"%\")}}function u(){return e.extend({},{tapToDismiss:!0,toastClass:\"toast\",containerId:\"toast-container\",debug:!1,showMethod:\"fadeIn\",showDuration:300,showEasing:\"swing\",onShown:void 0,hideMethod:\"fadeOut\",hideDuration:1e3,hideEasing:\"swing\",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:\"toast-error\",info:\"toast-info\",success:\"toast-success\",warning:\"toast-warning\"},iconClass:\"toast-info\",positionClass:\"toast-top-right\",timeOut:5e3,titleClass:\"toast-title\",messageClass:\"toast-message\",escapeHtml:!1,target:\"body\",closeHtml:'',closeClass:\"toast-close-button\",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:\"toast-progress\",rtl:!1},a.options)}function p(e){t||(t=r()),e.is(\":visible\")||(e.remove(),e=null,0===t.children().length&&(t.remove(),o=void 0))}}()})}(\"function\"==typeof define&&define.amd?define:function(e,t){\"undefined\"!=typeof module&&module.exports?module.exports=t(\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null):window.toastr=t(window.jQuery)});\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvYXN0ci5qcyJdLCJuYW1lcyI6WyJkZWZpbmUiLCIkIiwiJGNvbnRhaW5lciIsImxpc3RlbmVyIiwicHJldmlvdXNUb2FzdCIsInRvYXN0SWQiLCJ0b2FzdFR5cGUiLCJlcnJvciIsImluZm8iLCJzdWNjZXNzIiwid2FybmluZyIsInRvYXN0ciIsImNsZWFyIiwiJHRvYXN0RWxlbWVudCIsImNsZWFyT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRPcHRpb25zIiwiZ2V0Q29udGFpbmVyIiwiY2xlYXJUb2FzdCIsInRvYXN0c1RvQ2xlYXIiLCJjaGlsZHJlbiIsImkiLCJsZW5ndGgiLCJjbGVhckNvbnRhaW5lciIsInJlbW92ZSIsInJlbW92ZVRvYXN0IiwibWVzc2FnZSIsInRpdGxlIiwib3B0aW9uc092ZXJyaWRlIiwibm90aWZ5IiwidHlwZSIsImljb25DbGFzcyIsImljb25DbGFzc2VzIiwic3Vic2NyaWJlIiwiY2FsbGJhY2siLCJ2ZXJzaW9uIiwiY3JlYXRlIiwiY29udGFpbmVySWQiLCJhdHRyIiwiYWRkQ2xhc3MiLCJwb3NpdGlvbkNsYXNzIiwiYXBwZW5kVG8iLCJ0YXJnZXQiLCJjcmVhdGVDb250YWluZXIiLCJmb3JjZSIsImhpZGVNZXRob2QiLCJkdXJhdGlvbiIsImhpZGVEdXJhdGlvbiIsImVhc2luZyIsImhpZGVFYXNpbmciLCJjb21wbGV0ZSIsInB1Ymxpc2giLCJhcmdzIiwibWFwIiwiZXh0ZW5kIiwicHJldmVudER1cGxpY2F0ZXMiLCJzaG91bGRFeGl0IiwiaW50ZXJ2YWxJZCIsIiR0aXRsZUVsZW1lbnQiLCIkbWVzc2FnZUVsZW1lbnQiLCIkcHJvZ3Jlc3NFbGVtZW50IiwiJGNsb3NlRWxlbWVudCIsImNsb3NlSHRtbCIsInByb2dyZXNzQmFyIiwiaGlkZUV0YSIsIm1heEhpZGVUaW1lIiwicmVzcG9uc2UiLCJzdGF0ZSIsInN0YXJ0VGltZSIsIkRhdGUiLCJ0b2FzdENsYXNzIiwic3VmZml4IiwiZXNjYXBlSHRtbCIsImFwcGVuZCIsInRpdGxlQ2xhc3MiLCJzZXRUaXRsZSIsIm1lc3NhZ2VDbGFzcyIsInNldE1lc3NhZ2UiLCJjbG9zZUJ1dHRvbiIsImNsb3NlQ2xhc3MiLCJwcmVwZW5kIiwicHJvZ3Jlc3NDbGFzcyIsInJ0bCIsIm5ld2VzdE9uVG9wIiwiYXJpYVZhbHVlIiwic2V0QXJpYSIsImhpZGUiLCJzaG93TWV0aG9kIiwic2hvd0R1cmF0aW9uIiwic2hvd0Vhc2luZyIsIm9uU2hvd24iLCJ0aW1lT3V0Iiwic2V0VGltZW91dCIsImhpZGVUb2FzdCIsInBhcnNlRmxvYXQiLCJnZXRUaW1lIiwic2V0SW50ZXJ2YWwiLCJ1cGRhdGVQcm9ncmVzcyIsImNsb3NlT25Ib3ZlciIsImhvdmVyIiwic3RpY2tBcm91bmQiLCJkZWxheWVkSGlkZVRvYXN0Iiwib25jbGljayIsInRhcFRvRGlzbWlzcyIsImNsaWNrIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJ1bmRlZmluZWQiLCJjYW5jZWxCdWJibGUiLCJvbkNsb3NlQ2xpY2siLCJoYW5kbGVFdmVudHMiLCJkZWJ1ZyIsImNvbnNvbGUiLCJsb2ciLCJzb3VyY2UiLCJyZXBsYWNlIiwib3ZlcnJpZGUiLCJtZXRob2QiLCJjbG9zZU1ldGhvZCIsImNsb3NlRHVyYXRpb24iLCJjbG9zZUVhc2luZyIsImNsZWFyVGltZW91dCIsIm9uSGlkZGVuIiwiZW5kVGltZSIsImV4dGVuZGVkVGltZU91dCIsInN0b3AiLCJwZXJjZW50YWdlIiwid2lkdGgiLCJpcyIsImFtZCIsImRlcHMiLCJmYWN0b3J5IiwibW9kdWxlIiwiZXhwb3J0cyIsIndpbmRvdyIsImdsb2JhbCIsImpRdWVyeSJdLCJtYXBwaW5ncyI6IkNBYUMsU0FBVUEsR0FDUEEsRUFBTyxDQUFDLFVBQVcsU0FBVUMsR0FDekIsT0FBTyxXQUNILElBQUlDLEVBQ0FDLEVBc0JBQyxFQXJCQUMsRUFBVSxFQUNWQyxFQUFZLENBQ1pDLE1BQU8sUUFDUEMsS0FBTSxPQUNOQyxRQUFTLFVBQ1RDLFFBQVMsV0FHVEMsRUFBUyxDQUNUQyxN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", + "module.exports=function(o){return o&&\"object\"==typeof o&&\"function\"==typeof o.copy&&\"function\"==typeof o.fill&&\"function\"==typeof o.readUInt8};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlzQnVmZmVyQnJvd3Nlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiYXJnIiwiY29weSIsImZpbGwiLCJyZWFkVUludDgiXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUFVLFNBQWtCQyxHQUNqQyxPQUFPQSxHQUFzQixpQkFBUkEsR0FDSSxtQkFBYkEsRUFBSUMsTUFDUyxtQkFBYkQsRUFBSUUsTUFDYyxtQkFBbEJGLEVBQUlHIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL3V0aWwvc3VwcG9ydC9pc0J1ZmZlckJyb3dzZXIuanMifQ==", + "var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c,a=\"\",l=!1,p=[\"{\",\"}\"];(isArray(r)&&(l=!0,p=[\"[\",\"]\"]),isFunction(r))&&(a=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\");return isRegExp(r)&&(a=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(a=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(a=\" \"+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\")):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;(s=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf(\"\\n\")>=0&&0,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!debugs[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error(\"%s %d: %s\",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require(\"./support/isBuffer\");var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log(\"%s - %s\",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require(\"inherits\"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWwuanMiXSwibmFtZXMiOlsiZm9ybWF0UmVnRXhwIiwiZXhwb3J0cyIsImZvcm1hdCIsImYiLCJpc1N0cmluZyIsIm9iamVjdHMiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwicHVzaCIsImluc3BlY3QiLCJqb2luIiwiYXJncyIsImxlbiIsInN0ciIsIlN0cmluZyIsInJlcGxhY2UiLCJ4IiwiTnVtYmVyIiwiSlNPTiIsInN0cmluZ2lmeSIsIl8iLCJpc051bGwiLCJpc09iamVjdCIsImRlcHJlY2F0ZSIsImZuIiwibXNnIiwiaXNVbmRlZmluZWQiLCJnbG9iYWwiLCJwcm9jZXNzIiwiYXBwbHkiLCJ0aGlzIiwibm9EZXByZWNhdGlvbiIsIndhcm5lZCIsInRocm93RGVwcmVjYXRpb24iLCJFcnJvciIsInRyYWNlRGVwcmVjYXRpb24iLCJjb25zb2xlIiwidHJhY2UiLCJlcnJvciIsImRlYnVnRW52aXJvbiIsImRlYnVncyIsIm9iaiIsIm9wdHMiLCJjdHgiLCJzZWVuIiwic3R5bGl6ZSIsInN0eWxpemVOb0NvbG9yIiwiZGVwdGgiLCJjb2xvcnMiLCJpc0Jvb2xlYW4iLCJzaG93SGlkZGVuIiwiX2V4dGVuZCIsImN1c3RvbUluc3BlY3QiLCJzdHlsaXplV2l0aENvbG9yIiwiZm9ybWF0VmFsdWUiLCJzdHlsZVR5cGUiLCJzdHlsZSIsInN0eWxlcyIsImFycmF5VG9IYXNoIiwiYXJyYXkiLCJoYXNoIiwiZm9yRWFjaCIsInZhbCIsImlkeCIsInZhbHVlIiwicmVjdXJzZVRpbWVzIiwiaXNGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwicmV0IiwicHJpbWl0aXZlIiwiZm9ybWF0UHJpbWl0aXZlIiwia2V5cyIsIk9iamVjdCIsInZpc2libGVLZXlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImlzRXJyb3IiLCJpbmRleE9mIiwiZm9ybWF0RXJyb3IiLCJuYW1lIiwiaXNSZWdFeHAiLCJSZWdFeHAiLCJ0b1N0cmluZyIsImNhbGwiLCJpc0RhdGUiLCJEYXRlIiwib3V0cHV0IiwiYmFzZSIsImJyYWNlcyIsImlzQXJyYXkiLCJ0b1VUQ1N0cmluZyIsImZvcm1hdEFycmF5IiwibWFwIiwia2V5IiwiZm9ybWF0UHJvcGVydHkiLCJwb3AiLCJyZWR1Y2VUb1NpbmdsZVN0cmluZyIsInNpbXBsZSIsImlzTnVtYmVyIiwibCIsImhhc093blByb3BlcnR5IiwibWF0Y2giLCJkZXNjIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0Iiwic2V0Iiwic3BsaXQiLCJsaW5lIiwic3Vic3RyIiwicmVkdWNlIiwicHJldiIsImN1ciIsIm51bUxpbmVzRXN0IiwiYXIiLCJBcnJheSIsImFyZyIsImlzTnVsbE9yVW5kZWZpbmVkIiwiaXNTeW1ib2wiLCJyZSIsIm9iamVjdFRvU3RyaW5nIiwiZCIsImUiLCJpc1ByaW1pdGl2ZSIsIm8iLCJwYWQiLCJuIiwiZGVidWdsb2ciLCJlbnYiLCJOT0RFX0RFQlVHIiwidG9VcHBlckNhc2UiLCJ0ZXN0IiwicGlkIiwiYm9sZCIsIml0YWxpYyIsInVuZGVybGluZSIsImludmVyc2UiLCJ3aGl0ZSIsImdyZXkiLCJibGFjayIsImJsdWUiLCJjeWFuIiwiZ3JlZW4iLCJtYWdlbnRhIiwicmVkIiwieWVsbG93Iiwic3BlY2lhbCIsIm51bWJlciIsImJvb2xlYW4iLCJ1bmRlZmluZWQiLCJudWxsIiwic3RyaW5nIiwiZGF0ZSIsInJlZ2V4cCIsImlzQnVmZmVyIiwicmVxdWlyZSIsIm1vbnRocyIsInRpbWVzdGFtcCIsInRpbWUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0RGF0ZSIsImdldE1vbnRoIiwicHJvcCIsImxvZyIsImluaGVyaXRzIiwib3JpZ2luIiwiYWRkIl0sIm1hcHBpbmdzIjoiQUFxQkEsSUFBSUEsYUFBZSxXQUNuQkMsUUFBUUMsT0FBUyxTQUFTQyxHQUN4QixJQUFLQyxTQUFTRCxHQUFJLENBRWhCLElBREEsSUFBSUUsRUFBVSxHQUNMQyxFQUFJLEVBQUdBLEVBQUlDLFVBQVVDLE9BQVFGLElBQ3BDRCxFQUFRSSxLQUFLQyxRQUFRSCxVQUFVRCxLQUVqQyxPQUFPRCxFQUFRTSxLQUFLLEtBR2xCTCxFQUFJLEVBbUJSLElBbkJBLElBQ0lNLEVBQU9MLFVBQ1BNLEVBQU1ELEVBQUtKLE9BQ1hNLEVBQU1DLE9BQU9aLEdBQUdhLFFBQVFoQixhQUFjLFNBQVNpQixHQUNqRCxHQUFVLE9BQU5BLEVBQVksTUFBTyxJQUN2QixHQUFJWCxHQUFLTyxFQUFLLE9BQU9JLEVBQ3JCLE9BQVFBLEdBQ04sSUFBSyxLQUFNLE9BQU9GLE9BQU9ILEVBQUtOLE1BQzlCLElBQUssS0FBTSxPQUFPWSxPQUFPTixFQUFLTixNQUM5QixJQUFLLEtBQ0gsSUFDRSxPQUFPYSxLQUFLQyxVQUFVUixFQUFLTixNQUMzQixNQUFPZSxHQUNQLE1BQU8sYUFFWCxRQUNFLE9BQU9KLEtBR0pBLEVBQUlMLEVBQUtOLEdBQUlBLEVBQUlPLEVBQUtJLEVBQUlMLElBQU9OLEdBQ3BDZ0IsT0FBT0wsS0FBT00sU0FBU04sR0FDekJILEdBQU8sSUFBTUcsRUFFYkgsR0FBTyxJQUFNSixRQUFRTyxHQUd6QixPQUFPSCxHQU9UYixRQUFRdUIsVUFBWSxTQUFTQyxFQUFJQyxHQUUvQixHQUFJQyxZQUFZQyxPQUFPQyxTQUNyQixPQUFPLFdBQ0wsT0FBTzVCLFFBQVF1QixVQUFVQyxFQUFJQyxHQUFLSSxNQUFNQyxLQUFNeEIsWUFJbEQsSUFBOEIsSUFBMUJzQixRQUFRRyxjQUNWLE9BQU9QLEVBR1QsSUFBSVEsR0FBUyxFQWViLE9BZEEsV0FDRSxJQUFLQSxFQUFRLENBQ1gsR0FBSUosUUFBUUssaUJBQ1YsTUFBTSxJQUFJQyxNQUFNVCxHQUNQRyxRQUFRTyxpQkFDakJDLFFBQVFDLE1BQU1aLEdBRWRXLFFBQVFFLE1BQU1iLEdBRWhCTyxHQUFTLEVBRVgsT0FBT1IsRUFBR0ssTUFBTUMsS0FBTXhCLGFBTzFCLElBQ0lpQyxhQURBQyxPQUFTLEdBNkJiLFNBQVMvQixRQUFRZ0MsRUFBS0MsR0FFcEIsSUFBSUMsRUFBTSxDQUNSQyxLQUFNLEdBQ05DLFFBQVNDLGdCQWtCWCxPQWZJeEMsVUFBVUMsUUFBVSxJQUFHb0MsRUFBSUksTUFBUXpDLFVBQVUsSUFDN0NBLFVBQVVDLFFBQVUsSUFBR29DLEVBQUlLLE9BQVMxQyxVQUFVLElBQzlDMkMsVUFBVVAsR0FFWkMsRUFBSU8sV0FBYVIsRUFDUkEsR0FFVDFDLFFBQVFtRCxRQUFRUixFQUFLRCxHQUduQmhCLFlBQVlpQixFQUFJTyxjQUFhUCxFQUFJTyxZQUFhLEdBQzlDeEIsWUFBWWlCLEVBQUlJLFNBQVFKLEVBQUlJLE1BQVEsR0FDcENyQixZQUFZaUIsRUFBSUssVUFBU0wsRUFBSUssUUFBUyxHQUN0Q3RCLFlBQVlpQixFQUFJUyxpQkFBZ0JULEVBQUlTLGVBQWdCLEdBQ3BEVCxFQUFJSyxTQUFRTCxFQUFJRSxRQUFVUSxrQkFDdkJDLFlBQVlYLEVBQUtGLEVBQUtFLEVBQUlJLE9Bb0NuQyxTQUFTTSxpQkFBaUJ4QyxFQUFLMEMsR0FDN0IsSUFBSUMsRUFBUS9DLFFBQVFnRCxPQUFPRixHQUUzQixPQUFJQyxFQUNLLEtBQVkvQyxRQUFRdUMsT0FBT1EsR0FBTyxHQUFLLElBQU0zQyxFQUM3QyxLQUFZSixRQUFRdUMsT0FBT1EsR0FBTyxHQUFLLElBRXZDM0MsRUFLWCxTQUFTaUMsZUFBZWpDLEVBQUswQyxHQUMzQixPQUFPMUMsRUFJVCxTQUFTNkMsWUFBWUMsR0FDbkIsSUFBSUMsRUFBTyxHQU1YLE9BSkFELEVBQU1FLFFBQVEsU0FBU0MsRUFBS0MsR0FDMUJILEVBQUtFLElBQU8sSUFHUEYsRUFJVCxTQUFTTixZQUFZWCxFQUFLcUIsRUFBT0MsR0FHL0IsR0FBSXRCLEVBQUlTLGVBQ0pZLEdBQ0FFLFdBQVdGLEVBQU12RCxVQUVqQnVELEVBQU12RCxVQUFZVCxRQUFRUyxXQUV4QnVELEVBQU1HLGFBQWVILEVBQU1HLFlBQVlDLFlBQWNKLEdBQVEsQ0FDakUsSUFBSUssRUFBTUwsRUFBTXZELFFBQVF3RCxFQUFjdEIsR0FJdEMsT0FIS3hDLFNBQVNrRSxLQUNaQSxFQUFNZixZQUFZWCxFQUFLMEIsRUFBS0osSUFFdkJJLEVBSVQsSUFBSUMsRUFBWUMsZ0JBQWdCNUIsRUFBS3FCLEdBQ3JDLEdBQUlNLEVBQ0YsT0FBT0EsRUFJVCxJQUFJRSxFQUFPQyxPQUFPRCxLQUFLUixHQUNuQlUsRUFBY2hCLFlBQVljLEdBUTlCLEdBTkk3QixFQUFJTyxhQUNOc0IsRUFBT0MsT0FBT0Usb0JBQW9CWCxJQUtoQ1ksUUFBUVosS0FDSlEsRUFBS0ssUUFBUSxZQUFjLEdBQUtMLEVBQUtLLFFBQVEsZ0JBQWtCLEdBQ3JFLE9BQU9DLFlBQVlkLEdBSXJCLEdBQW9CLElBQWhCUSxFQUFLakUsT0FBYyxDQUNyQixHQUFJMkQsV0FBV0YsR0FBUSxDQUNyQixJQUFJZSxFQUFPZixFQUFNZSxLQUFPLEtBQU9mLEVBQU1lLEtBQU8sR0FDNUMsT0FBT3BDLEVBQUlFLFFBQVEsWUFBY2tDLEVBQU8sSUFBSyxXQUUvQyxHQUFJQyxTQUFTaEIsR0FDWCxPQUFPckIsRUFBSUUsUUFBUW9DLE9BQU9iLFVBQVVjLFNBQVNDLEtBQUtuQixHQUFRLFVBRTVELEdBQUlvQixPQUFPcEIsR0FDVCxPQUFPckIsRUFBSUUsUUFBUXdDLEtBQUtqQixVQUFVYyxTQUFTQyxLQUFLbkIsR0FBUSxRQUUxRCxHQUFJWSxRQUFRWixHQUNWLE9BQU9jLFlBQVlkLEdBSXZCLElBMkNJc0IsRUEzQ0FDLEVBQU8sR0FBSTVCLEdBQVEsRUFBTzZCLEVBQVMsQ0FBQyxJQUFLLE1BR3pDQyxRQUFRekIsS0FDVkwsR0FBUSxFQUNSNkIsRUFBUyxDQUFDLElBQUssTUFJYnRCLFdBQVdGLE1BRWJ1QixFQUFPLGNBREN2QixFQUFNZSxLQUFPLEtBQU9mLEVBQU1lLEtBQU8sSUFDZixLQWtCNUIsT0FkSUMsU0FBU2hCLEtBQ1h1QixFQUFPLElBQU1OLE9BQU9iLFVBQVVjLFNBQVNDLEtBQUtuQixJQUkxQ29CLE9BQU9wQixLQUNUdUIsRUFBTyxJQUFNRixLQUFLakIsVUFBVXNCLFlBQVlQLEtBQUtuQixJQUkzQ1ksUUFBUVosS0FDVnVCLEVBQU8sSUFBTVQsWUFBWWQsSUFHUCxJQUFoQlEsRUFBS2pFLFFBQWtCb0QsR0FBeUIsR0FBaEJLLEVBQU16RCxPQUl0QzBELEVBQWUsRUFDYmUsU0FBU2hCLEdBQ0pyQixFQUFJRSxRQUFRb0MsT0FBT2IsVUFBVWMsU0FBU0MsS0FBS25CLEdBQVEsVUFFbkRyQixFQUFJRSxRQUFRLFdBQVksWUFJbkNGLEVBQUlDLEtBQUtwQyxLQUFLd0QsR0FJWnNCLEVBREUzQixFQUNPZ0MsWUFBWWhELEVBQUtxQixFQUFPQyxFQUFjUyxFQUFhRixHQUVuREEsRUFBS29CLElBQUksU0FBU0MsR0FDekIsT0FBT0MsZUFBZW5ELEVBQUtxQixFQUFPQyxFQUFjUyxFQUFhbUIsRUFBS2xDLEtBSXRFaEIsRUFBSUMsS0FBS21ELE1BRUZDLHFCQUFxQlYsRUFBUUMsRUFBTUMsSUF4QmpDQSxFQUFPLEdBQUtELEVBQU9DLEVBQU8sR0E0QnJDLFNBQVNqQixnQkFBZ0I1QixFQUFLcUIsR0FDNUIsR0FBSXRDLFlBQVlzQyxHQUNkLE9BQU9yQixFQUFJRSxRQUFRLFlBQWEsYUFDbEMsR0FBSTFDLFNBQVM2RCxHQUFRLENBQ25CLElBQUlpQyxFQUFTLElBQU8vRSxLQUFLQyxVQUFVNkMsR0FBT2pELFFBQVEsU0FBVSxJQUNsQkEsUUFBUSxLQUFNLE9BQ2RBLFFBQVEsT0FBUSxLQUFPLElBQ2pFLE9BQU80QixFQUFJRSxRQUFRb0QsRUFBUSxVQUU3QixPQUFJQyxTQUFTbEMsR0FDSnJCLEVBQUlFLFFBQVEsR0FBS21CLEVBQU8sVUFDN0JmLFVBQVVlLEdBQ0xyQixFQUFJRSxRQUFRLEdBQUttQixFQUFPLFdBRTdCM0MsT0FBTzJDLEdBQ0ZyQixFQUFJRSxRQUFRLE9BQVEsYUFEN0IsRUFLRixTQUFTaUMsWUFBWWQsR0FDbkIsTUFBTyxJQUFNOUIsTUFBTWtDLFVBQVVjLFNBQVNDLEtBQUtuQixHQUFTLElBSXRELFNBQVMyQixZQUFZaEQsRUFBS3FCLEVBQU9DLEVBQWNTLEVBQWFGLEdBRTFELElBREEsSUFBSWMsRUFBUyxHQUNKakYsRUFBSSxFQUFHOEYsRUFBSW5DLEVBQU16RCxPQUFRRixFQUFJOEYsSUFBSzlGLEVBQ3JDK0YsZUFBZXBDLEVBQU9sRCxPQUFPVCxJQUMvQmlGLEVBQU85RSxLQUFLc0YsZUFBZW5ELEVBQUtxQixFQUFPQyxFQUFjUyxFQUNqRDVELE9BQU9ULElBQUksSUFFZmlGLEVBQU85RSxLQUFLLElBU2hCLE9BTkFnRSxFQUFLWCxRQUFRLFNBQVNnQyxHQUNmQSxFQUFJUSxNQUFNLFVBQ2JmLEVBQU85RSxLQUFLc0YsZUFBZW5ELEVBQUtxQixFQUFPQyxFQUFjUyxFQUNqRG1CLEdBQUssTUFHTlAsRUFJVCxTQUFTUSxlQUFlbkQsRUFBS3FCLEVBQU9DLEVBQWNTLEVBQWFtQixFQUFLbEMsR0FDbEUsSUFBSW9CLEVBQU1sRSxFQUFLeUYsRUFzQ2YsSUFyQ0FBLEVBQU83QixPQUFPOEIseUJBQXlCdkMsRUFBTzZCLElBQVEsQ0FBRTdCLE1BQU9BLEVBQU02QixLQUM1RFcsSUFFTDNGLEVBREV5RixFQUFLRyxJQUNEOUQsRUFBSUUsUUFBUSxrQkFBbUIsV0FFL0JGLEVBQUlFLFFBQVEsV0FBWSxXQUc1QnlELEVBQUtHLE1BQ1A1RixFQUFNOEIsRUFBSUUsUUFBUSxXQUFZLFlBRzdCdUQsZUFBZTFCLEVBQWFtQixLQUMvQmQsRUFBTyxJQUFNYyxFQUFNLEtBRWhCaEYsSUFDQzhCLEVBQUlDLEtBQUtpQyxRQUFReUIsRUFBS3RDLE9BQVMsR0FFL0JuRCxFQURFUSxPQUFPNEMsR0FDSFgsWUFBWVgsRUFBSzJELEVBQUt0QyxNQUFPLE1BRTdCVixZQUFZWCxFQUFLMkQsRUFBS3RDLE1BQU9DLEVBQWUsSUFFNUNZLFFBQVEsT0FBUyxJQUVyQmhFLEVBREU4QyxFQUNJOUMsRUFBSTZGLE1BQU0sTUFBTWQsSUFBSSxTQUFTZSxHQUNqQyxNQUFPLEtBQU9BLElBQ2JqRyxLQUFLLE1BQU1rRyxPQUFPLEdBRWYsS0FBTy9GLEVBQUk2RixNQUFNLE1BQU1kLElBQUksU0FBU2UsR0FDeEMsTUFBTyxNQUFRQSxJQUNkakcsS0FBSyxPQUlaRyxFQUFNOEIsRUFBSUUsUUFBUSxhQUFjLFlBR2hDbkIsWUFBWXFELEdBQU8sQ0FDckIsR0FBSXBCLEdBQVNrQyxFQUFJUSxNQUFNLFNBQ3JCLE9BQU94RixHQUVUa0UsRUFBTzdELEtBQUtDLFVBQVUsR0FBSzBFLElBQ2xCUSxNQUFNLGlDQUNidEIsRUFBT0EsRUFBSzZCLE9BQU8sRUFBRzdCLEVBQUt4RSxPQUFTLEdBQ3BDd0UsRUFBT3BDLEVBQUlFLFFBQVFrQyxFQUFNLFVBRXpCQSxFQUFPQSxFQUFLaEUsUUFBUSxLQUFNLE9BQ2RBLFFBQVEsT0FBUSxLQUNoQkEsUUFBUSxXQUFZLEtBQ2hDZ0UsRUFBT3BDLEVBQUlFLFFBQVFrQyxFQUFNLFdBSTdCLE9BQU9BLEVBQU8sS0FBT2xFLEVBSXZCLFNBQVNtRixxQkFBcUJWLEVBQVFDLEVBQU1DLEdBUTFDLE9BTmFGLEVBQU91QixPQUFPLFNBQVNDLEVBQU1DLEdBR3hDLE9BRkFDLEVBQ0lELEVBQUlsQyxRQUFRLE9BQVMsR0FBR21DLEVBQ3JCRixFQUFPQyxFQUFJaEcsUUFBUSxrQkFBbUIsSUFBSVIsT0FBUyxHQUN6RCxHQUVVLEdBQ0ppRixFQUFPLElBQ0csS0FBVEQsRUFBYyxHQUFLQSxFQUFPLE9BQzNCLElBQ0FELEVBQU81RSxLQUFLLFNBQ1osSUFDQThFLEVBQU8sR0FHVEEsRUFBTyxHQUFLRCxFQUFPLElBQU1ELEVBQU81RSxLQUFLLE1BQVEsSUFBTThFLEVBQU8sR0FNbkUsU0FBU0MsUUFBUXdCLEdBQ2YsT0FBT0MsTUFBTXpCLFFBQVF3QixHQUl2QixTQUFTaEUsVUFBVWtFLEdBQ2pCLE1BQXNCLGtCQUFSQSxFQUloQixTQUFTOUYsT0FBTzhGLEdBQ2QsT0FBZSxPQUFSQSxFQUlULFNBQVNDLGtCQUFrQkQsR0FDekIsT0FBYyxNQUFQQSxFQUlULFNBQVNqQixTQUFTaUIsR0FDaEIsTUFBc0IsaUJBQVJBLEVBSWhCLFNBQVNoSCxTQUFTZ0gsR0FDaEIsTUFBc0IsaUJBQVJBLEVBSWhCLFNBQVNFLFNBQVNGLEdBQ2hCLE1BQXNCLGlCQUFSQSxFQUloQixTQUFTekYsWUFBWXlGLEdBQ25CLFlBQWUsSUFBUkEsRUFJVCxTQUFTbkMsU0FBU3NDLEdBQ2hCLE9BQU9oRyxTQUFTZ0csSUFBOEIsb0JBQXZCQyxlQUFlRCxHQUl4QyxTQUFTaEcsU0FBUzZGLEdBQ2hCLE1BQXNCLGlCQUFSQSxHQUE0QixPQUFSQSxFQUlwQyxTQUFTL0IsT0FBT29DLEdBQ2QsT0FBT2xHLFNBQVNrRyxJQUE0QixrQkFBdEJELGVBQWVDLEdBSXZDLFNBQVM1QyxRQUFRNkMsR0FDZixPQUFPbkcsU0FBU21HLEtBQ1csbUJBQXRCRixlQUFlRSxJQUEyQkEsYUFBYXZGLE9BSTlELFNBQVNnQyxXQUFXaUQsR0FDbEIsTUFBc0IsbUJBQVJBLEVBSWhCLFNBQVNPLFlBQVlQLEdBQ25CLE9BQWUsT0FBUkEsR0FDZSxrQkFBUkEsR0FDUSxpQkFBUkEsR0FDUSxpQkFBUkEsR0FDUSxpQkFBUkEsUUFDUSxJQUFSQSxFQU1oQixTQUFTSSxlQUFlSSxHQUN0QixPQUFPbEQsT0FBT0wsVUFBVWMsU0FBU0MsS0FBS3dDLEdBSXhDLFNBQVNDLElBQUlDLEdBQ1gsT0FBT0EsRUFBSSxHQUFLLElBQU1BLEVBQUUzQyxTQUFTLElBQU0yQyxFQUFFM0MsU0FBUyxJQXBicERsRixRQUFROEgsU0FBVyxTQUFTckIsR0FJMUIsR0FISS9FLFlBQVlhLGdCQUNkQSxhQUFlWCxRQUFRbUcsSUFBSUMsWUFBYyxJQUMzQ3ZCLEVBQU1BLEVBQUl3QixlQUNMekYsT0FBT2lFLEdBQ1YsR0FBSSxJQUFJeEIsT0FBTyxNQUFRd0IsRUFBTSxNQUFPLEtBQUt5QixLQUFLM0YsY0FBZSxDQUMzRCxJQUFJNEYsRUFBTXZHLFFBQVF1RyxJQUNsQjNGLE9BQU9pRSxHQUFPLFdBQ1osSUFBSWhGLEVBQU16QixRQUFRQyxPQUFPNEIsTUFBTTdCLFFBQVNNLFdBQ3hDOEIsUUFBUUUsTUFBTSxZQUFhbUUsRUFBSzBCLEVBQUsxRyxTQUd2Q2UsT0FBT2lFLEdBQU8sYUFHbEIsT0FBT2pFLE9BQU9pRSxJQW9DaEJ6RyxRQUFRUyxRQUFVQSxRQUlsQkEsUUFBUXVDLE9BQVMsQ0FDZm9GLEtBQVMsQ0FBQyxFQUFHLElBQ2JDLE9BQVcsQ0FBQyxFQUFHLElBQ2ZDLFVBQWMsQ0FBQyxFQUFHLElBQ2xCQyxRQUFZLENBQUMsRUFBRyxJQUNoQkMsTUFBVSxDQUFDLEdBQUksSUFDZkMsS0FBUyxDQUFDLEdBQUksSUFDZEMsTUFBVSxDQUFDLEdBQUksSUFDZkMsS0FBUyxDQUFDLEdBQUksSUFDZEMsS0FBUyxDQUFDLEdBQUksSUFDZEMsTUFBVSxDQUFDLEdBQUksSUFDZkMsUUFBWSxDQUFDLEdBQUksSUFDakJDLElBQVEsQ0FBQyxHQUFJLElBQ2JDLE9BQVcsQ0FBQyxHQUFJLEtBSWxCdkksUUFBUWdELE9BQVMsQ0FDZndGLFFBQVcsT0FDWEMsT0FBVSxTQUNWQyxRQUFXLFNBQ1hDLFVBQWEsT0FDYkMsS0FBUSxPQUNSQyxPQUFVLFFBQ1ZDLEtBQVEsVUFFUkMsT0FBVSxPQWtSWnhKLFFBQVF5RixRQUFVQSxRQUtsQnpGLFFBQVFpRCxVQUFZQSxVQUtwQmpELFFBQVFxQixPQUFTQSxPQUtqQnJCLFFBQVFvSCxrQkFBb0JBLGtCQUs1QnBILFFBQVFrRyxTQUFXQSxTQUtuQmxHLFFBQVFHLFNBQVdBLFNBS25CSCxRQUFRcUgsU0FBV0EsU0FLbkJySCxRQUFRMEIsWUFBY0EsWUFLdEIxQixRQUFRZ0YsU0FBV0EsU0FLbkJoRixRQUFRc0IsU0FBV0EsU0FLbkJ0QixRQUFRb0YsT0FBU0EsT0FNakJwRixRQUFRNEUsUUFBVUEsUUFLbEI1RSxRQUFRa0UsV0FBYUEsV0FVckJsRSxRQUFRMEgsWUFBY0EsWUFFdEIxSCxRQUFReUosU0FBV0MsUUFBUSxzQkFZM0IsSUFBSUMsT0FBUyxDQUFDLE1BQU8sTUFBTyxNQUFPLE1BQU8sTUFBTyxNQUFPLE1BQU8sTUFBTyxNQUN4RCxNQUFPLE1BQU8sT0FHNUIsU0FBU0MsWUFDUCxJQUFJcEMsRUFBSSxJQUFJbkMsS0FDUndFLEVBQU8sQ0FBQ2pDLElBQUlKLEVBQUVzQyxZQUNObEMsSUFBSUosRUFBRXVDLGNBQ05uQyxJQUFJSixFQUFFd0MsZUFBZXRKLEtBQUssS0FDdEMsTUFBTyxDQUFDOEcsRUFBRXlDLFVBQVdOLE9BQU9uQyxFQUFFMEMsWUFBYUwsR0FBTW5KLEtBQUssS0FxQ3hELFNBQVMwRixlQUFlM0QsRUFBSzBILEdBQzNCLE9BQU8xRixPQUFPTCxVQUFVZ0MsZUFBZWpCLEtBQUsxQyxFQUFLMEgsR0FqQ25EbkssUUFBUW9LLElBQU0sV0FDWmhJLFFBQVFnSSxJQUFJLFVBQVdSLFlBQWE1SixRQUFRQyxPQUFPNEIsTUFBTTdCLFFBQVNNLGFBaUJwRU4sUUFBUXFLLFNBQVdYLFFBQVEsWUFFM0IxSixRQUFRbUQsUUFBVSxTQUFTbUgsRUFBUUMsR0FFakMsSUFBS0EsSUFBUWpKLFNBQVNpSixHQUFNLE9BQU9ELEVBSW5DLElBRkEsSUFBSTlGLEVBQU9DLE9BQU9ELEtBQUsrRixHQUNuQmxLLEVBQUltRSxFQUFLakUsT0FDTkYsS0FDTGlLLEVBQU85RixFQUFLbkUsSUFBTWtLLEVBQUkvRixFQUFLbkUsSUFFN0IsT0FBT2lLIiwiZmlsZSI6Ii9yb290L21vc2FpY28vbm9kZV9tb2R1bGVzL3V0aWwvdXRpbC5qcyJ9", + "\"use strict\";var templateLoader=require(\"./template-loader.js\"),console=require(\"console-browserify\"),ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,$=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;require(\"./ko-bindings.js\");var performanceAwareCaller=require(\"./timed-call.js\").timedCall,addUndoStackExtensionMaker=require(\"./undomanager/undomain.js\"),colorPlugin=require(\"./ext/color.js\"),utilPlugin=require(\"./ext/util.js\"),inlinerPlugin=require(\"./ext/inliner.js\"),localStorageLoader=require(\"./ext/localstorage.js\");if(void 0===ko)throw\"Cannot find knockout.js library!\";if(void 0===$)throw\"Cannot find jquery library!\";function _canonicalize(e){var i=global.document.createElement(\"div\");return i.innerHTML=\"\",i.firstChild.href=e,i.innerHTML=i.innerHTML,i.firstChild.href}function _appendUrlParameters(e,i){var n=-1==e.indexOf(\"?\")?\"?\":\"&\",a=e;for(var t in i)i.hasOwnProperty(t)&&(a+=n+t+\"=\"+encodeURIComponent(i[t]),n=\"&\");return a}var applyBindingOptions=function(e,i){i.bindingHandlers.wysiwygSrc.convertedUrl=function(i,n,a,t){var o=e.imgProcessorBackend?e.imgProcessorBackend:\"./upload\",r=o.match(/^(https?:\\/\\/[^\\/]*\\/).*$/),l=i.match(/^(https?:\\/\\/[^\\/]*\\/).*$/);if(null===r||null!==l&&r[1]==l[1])return o.indexOf(\"?\"),_appendUrlParameters(o,{src:i,method:n,params:a+\",\"+t});console.log(\"Cannot apply backend image resizing to non-local resources \",i,n,a,t,r,l);var d={method:n,width:a};return null!==t&&(d.height=t),_appendUrlParameters(i,d)},i.bindingHandlers.wysiwygSrc.placeholderUrl=function(i,n,a){return _appendUrlParameters(e.imgProcessorBackend?e.imgProcessorBackend:\"./upload\",{method:\"placeholder\",params:i+\",\"+n})},e&&e.tinymceConfig&&(i.bindingHandlers.wysiwyg.standardOptions=e.tinymceConfig),e&&e.tinymceConfigFull&&(i.bindingHandlers.wysiwyg.fullOptions=e.tinymceConfigFull)},start=function(e,i,n,a,t){templateLoader.fixPageEvents();var o=[function(i){e&&e.strings&&(i.t=function(n,a){var t=e.strings[n];return void 0===t&&(console.warn(\"Missing translation string for\",n,\": using default string\"),t=n),i.tt(t,a)})},addUndoStackExtensionMaker(performanceAwareCaller),colorPlugin,utilPlugin,inlinerPlugin];if(void 0!==t)for(var r=0;r\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n',init:function(e,t){!function(n){try{var o=e.contentDocument;o.open(),o.write(ko.bindingHandlers.bindIframe.tpl),o.close();try{var r=o.body;if(r){for(var i=e.contentWindow.parent.document.getElementsByTagName(\"script\"),d=0;d0?e:10)}}),e.currentPage=ko.computed({read:o,write:function(n){n>e.pageCount()?o(e.pageCount()):o(n<=0?1:n)}}),e.pageCount=ko.computed(function(){return Math.ceil(e().length/e.pageSize())||1}),e.currentPageData=ko.computed(function(){var n=t(),r=o(),u=n*(r-1),a=n*r;return e().slice(u,a)}),e.moveFirst=function(){e.currentPage(1)},e.movePrevious=function(){e.currentPage(e.currentPage()-1)},e.moveNext=function(){e.currentPage(e.currentPage()+1)},e.moveLast=function(){e.currentPage(e.pageCount())},e};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4dGVuZGVyLXBhZ2luYXRpb24uanMiXSwibmFtZXMiOlsia28iLCJ3aW5kb3ciLCJnbG9iYWwiLCJleHRlbmRlcnMiLCJwYWdpbmciLCJ0YXJnZXQiLCJwYWdlU2l6ZSIsIl9wYWdlU2l6ZSIsIm9ic2VydmFibGUiLCJfY3VycmVudFBhZ2UiLCJjb21wdXRlZCIsInJlYWQiLCJ3cml0ZSIsIm5ld1ZhbHVlIiwiY3VycmVudFBhZ2UiLCJwYWdlQ291bnQiLCJNYXRoIiwiY2VpbCIsImxlbmd0aCIsImN1cnJlbnRQYWdlRGF0YSIsInBhZ2VJbmRleCIsInN0YXJ0SW5kZXgiLCJlbmRJbmRleCIsInNsaWNlIiwibW92ZUZpcnN0IiwibW92ZVByZXZpb3VzIiwibW92ZU5leHQiLCJtb3ZlTGFzdCJdLCJtYXBwaW5ncyI6IkFBQUEsYUFFQSxJQUFJQSxHQUF3QixvQkFBWEMsT0FBeUJBLE9BQVdELEdBQXNCLG9CQUFYRSxPQUF5QkEsT0FBV0YsR0FBSSxLQUV4R0EsR0FBR0csVUFBVUMsT0FBUyxTQUFTQyxFQUFRQyxHQUNyQyxJQUFJQyxFQUFZUCxHQUFHUSxXQUFXRixHQUFZLElBRXhDRyxFQUFlVCxHQUFHUSxXQUFXLEdBbUQvQixPQWxEQUgsRUFBT0MsU0FBV04sR0FBR1UsU0FBUyxDQUM1QkMsS0FBTUosRUFDTkssTUFBTyxTQUFTQyxHQUVaTixFQURFTSxFQUFXLEVBQ0hBLEVBRUEsT0FLaEJSLEVBQU9TLFlBQWNkLEdBQUdVLFNBQVMsQ0FDL0JDLEtBQU1GLEVBQ05HLE1BQU8sU0FBU0MsR0FDVkEsRUFBV1IsRUFBT1UsWUFDcEJOLEVBQWFKLEVBQU9VLGFBRXBCTixFQURTSSxHQUFZLEVBQ1IsRUFFQUEsTUFLbkJSLEVBQU9VLFVBQVlmLEdBQUdVLFNBQVMsV0FDN0IsT0FBT00sS0FBS0MsS0FBS1osSUFBU2EsT0FBU2IsRUFBT0MsYUFBZSxJQUczREQsRUFBT2MsZ0JBQWtCbkIsR0FBR1UsU0FBUyxXQUNuQyxJQUFJSixFQUFXQyxJQUNiYSxFQUFZWCxJQUNaWSxFQUFhZixHQUFZYyxFQUFZLEdBQ3JDRSxFQUFXaEIsRUFBV2MsRUFFeEIsT0FBT2YsSUFBU2tCLE1BQU1GLEVBQVlDLEtBR3BDakIsRUFBT21CLFVBQVksV0FDakJuQixFQUFPUyxZQUFZLElBRXJCVCxFQUFPb0IsYUFBZSxXQUNwQnBCLEVBQU9TLFlBQVlULEVBQU9TLGNBQWdCLElBRTVDVCxFQUFPcUIsU0FBVyxXQUNoQnJCLEVBQU9TLFlBQVlULEVBQU9TLGNBQWdCLElBRTVDVCxFQUFPc0IsU0FBVyxXQUNoQnRCLEVBQU9TLFlBQVlULEVBQU9VLGNBR3JCViIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy9leHRlbmRlci1wYWdpbmF0aW9uLmpzIn0=", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,sortable=\"undefined\"!=typeof window?window.jQuery.ui.sortable:\"undefined\"!=typeof global?global.jQuery.ui.sortable:null,draggable=\"undefined\"!=typeof window?window.jQuery.ui.draggable:\"undefined\"!=typeof global?global.jQuery.ui.draggable:null,console=require(\"console-browserify\");if(require(\"knockout-sortable\"),void 0===sortable)throw\"Cannot find jquery-ui sortable widget dependency!\";if(void 0===draggable)throw\"Cannot find jquery-ui sortable widget dependency!\";var isDraggingHelper=function(e,n){e()?n.type==e()+\"stop\"&&e(!1):\"dragstart\"!=n.type&&\"sortstart\"!=n.type||e(n.type.substring(0,4))},makeExtendedValueAccessor=function(e){return function(){var n=e();ko.utils.peekObservable(n),ko.utils.unwrapObservable(n),\"undefined\"==n.options&&(n.options={});var o=n.options.start;n.options.start=function(e,r){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&(n.scrollInterval=global.setInterval(function(){var e=$(n.dropContainer).scrollTop();$(n.dropContainer).scrollTop(e+n.adding)},20)),void 0!==o)return o(e,r)};var r=n.options.stop;n.options.stop=function(e,o){if(void 0!==n.dragging&&ko.isWritableObservable(n.dragging)&&isDraggingHelper(n.dragging,e),void 0!==n.dropContainer&&global.clearInterval(n.scrollInterval),void 0!==r)return r(e,o)};var i=n.options.drag;return n.options.drag=function(e,o){if(void 0!==n.dropContainer){var r=e.pageY-$(n.dropContainer).offset().top,t=r-$(n.dropContainer).height();n.adding=r<-20?-20:r<0?-10:r<10?-5:t>20?20:t>0?10:t>-10?5:0}if(void 0!==i)return i(e,o)},n}};ko.bindingHandlers.extsortable={init:function(e,n,o,r,i){return ko.bindingHandlers.sortable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.sortable.update(e,makeExtendedValueAccessor(n),o,r,i)}},ko.bindingHandlers.extdraggable={init:function(e,n,o,r,i){return ko.bindingHandlers.draggable.init(e,makeExtendedValueAccessor(n),o,r,i)},update:function(e,n,o,r,i){return ko.bindingHandlers.draggable.update(e,makeExtendedValueAccessor(n),o,r,i)}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4dHNvcnRhYmxlcy5qcyJdLCJuYW1lcyI6WyIkIiwid2luZG93IiwialF1ZXJ5IiwiZ2xvYmFsIiwia28iLCJzb3J0YWJsZSIsInVpIiwiZHJhZ2dhYmxlIiwiY29uc29sZSIsInJlcXVpcmUiLCJpc0RyYWdnaW5nSGVscGVyIiwid3JpdGFibGUiLCJlIiwidHlwZSIsInN1YnN0cmluZyIsIm1ha2VFeHRlbmRlZFZhbHVlQWNjZXNzb3IiLCJ2YWx1ZUFjY2Vzc29yIiwibW9kZWxWYWx1ZSIsInV0aWxzIiwicGVla09ic2VydmFibGUiLCJ1bndyYXBPYnNlcnZhYmxlIiwib3B0aW9ucyIsIm9yaWdTdGFydCIsInN0YXJ0IiwiZHJhZ2dpbmciLCJpc1dyaXRhYmxlT2JzZXJ2YWJsZSIsImRyb3BDb250YWluZXIiLCJzY3JvbGxJbnRlcnZhbCIsInNldEludGVydmFsIiwiZm9vIiwic2Nyb2xsVG9wIiwiYWRkaW5nIiwib3JpZ1N0b3AiLCJzdG9wIiwiY2xlYXJJbnRlcnZhbCIsIm9yaWdEcmFnIiwiZHJhZyIsInRvcCIsInBhZ2VZIiwib2Zmc2V0IiwiYm90dG9tIiwiaGVpZ2h0IiwiYmluZGluZ0hhbmRsZXJzIiwiZXh0c29ydGFibGUiLCJpbml0IiwiZWxlbWVudCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJkYXRhIiwiY29udGV4dCIsInVwZGF0ZSIsImV4dGRyYWdnYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsYUFHQSxJQUFJQSxFQUF1QixvQkFBWEMsT0FBeUJBLE9BQWVDLE9BQXNCLG9CQUFYQyxPQUF5QkEsT0FBZUQsT0FBSSxLQUMzR0UsR0FBd0Isb0JBQVhILE9BQXlCQSxPQUFXRyxHQUFzQixvQkFBWEQsT0FBeUJBLE9BQVdDLEdBQUksS0FDcEdDLFNBQThCLG9CQUFYSixPQUF5QkEsT0FBZUMsT0FBTUksR0FBWUQsU0FBc0Isb0JBQVhGLE9BQXlCQSxPQUFlRCxPQUFNSSxHQUFZRCxTQUFJLEtBQ3RKRSxVQUErQixvQkFBWE4sT0FBeUJBLE9B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", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.fudroppable={init:function(e,i){var o=i()||{},r={},l=function(e,i,o,r,l,a){e[i]?global.clearTimeout(e[i]):(void 0!==r&&o.classList.add(r),ko.isWriteableObservable(l)&&!l()&&l(!0));var s=function(){e[i]=null,void 0!==r&&o.classList.remove(r),ko.isWriteableObservable(l)&&l()&&l(!1)};\"dragleave\"==a.type?s():e[i]=global.setTimeout(s,500)};(o.active||o.activeClass)&&ko.utils.registerEventHandler(global,\"dragover\",l.bind(void 0,r,\"activeTimeout\",e,o.activeClass,o.active)),o.hoverClass&&ko.utils.registerEventHandler(e,\"dragover dragenter dragleave\",l.bind(void 0,r,\"hoverTimeout\",e,o.hoverClass,void 0))}},ko.bindingHandlers.fileupload={extendOptions:{},remoteFilePreprocessor:function(e){return e},init:function(e,i){ko.utils.domNodeDisposal.addDisposeCallback(e,function(){$(e).fileupload(\"destroy\")}),!(\"WebkitAppearance\"in global.document.documentElement.style)||\"webkitNbspMode\"in global.document.documentElement.style||\"StyleMedia\"in global?$(e).attr(\"title\",\"\"):$(e).attr(\"title\",\" \")},update:function(e,i){var o=i()||{},r=$(e),l=r.parents(\".uploadzone\"),a=o.data;o.data=void 0;var s=o.canvasPreview;ko.utils.extend(o,{url:\"/upload/\",dataType:\"json\",dropZone:l.find(\".mo-uploadzone\")[0],autoUpload:!0,acceptFileTypes:/(\\.|\\/)(gif|jpe?g|png)$/i,maxFileSize:1048576,disableImageResize:/Android(?!.*Chrome)|Opera/.test(global.navigator.userAgent),previewMaxWidth:200,previewMaxHeight:200,previewCrop:!1,replaceFileInput:!1,messages:{unknownError:\"Unknown error\",uploadedBytes:\"Uploaded bytes exceed file size\",maxNumberOfFiles:\"Maximum number of files exceeded\",acceptFileTypes:\"File type not allowed\",maxFileSize:\"File is too large\",minFileSize:\"File is too small\",post_max_size:\"The uploaded file exceeds the post_max_size directive in php.ini\",max_file_size:\"File is too big\",min_file_size:\"File is too small\",accept_file_types:\"Filetype not allowed\",max_number_of_files:\"Maximum number of files exceeded\",max_width:\"Image exceeds maximum width\",min_width:\"Image requires a minimum width\",max_height:\"Image exceeds maximum height\",min_height:\"Image requires a minimum height\",abort:\"File upload aborted\",image_resize:\"Failed to resize image\",generic:\"Unexpected upload error\"}}),ko.utils.extend(o,ko.bindingHandlers.fileupload.extendOptions);var n=0,t=\"\",d=function(){0==--n&&(a&&a(t),t=\"\",s&&(l.find(\"img\").show(),l.find(\"canvas\").remove()),l.removeClass(\"uploading\"),l.find(\".progress-bar\").css(\"width\",0))},u=function(e){if(\"object\"==typeof o.messages&&null!==o.messages){var i=e.match(/^([^ ]+)(.*)$/);if(i&&void 0!==o.messages[i[1]])return o.messages[i[1]]+i[2]}return e};r.fileupload(o);for(var p=[\"fileuploadadd\",\"fileuploadprocessalways\",\"fileuploadprogressall\",\"fileuploaddone\",\"fileuploadfail\"],f=function(e,i){if(\"fileuploadadd\"==e.type&&n++,\"fileuploadfail\"==e.type&&(console.log(\"fileuploadfail\",e,i),o.onerror&&(\"\"===i.errorThrown&&\"error\"==i.textStatus?o.onerror(u(\"generic\")):o.onerror(u(\"generic (\"+i.errorThrown+\")\"))),d()),\"fileuploaddone\"==e.type)if(void 0!==i.result.files[0].url){if(o.onfile)for(var r=0;r=0;m--){var g=p[m];r.on(g,f)}$.support.fileInput||r.prop(\"disabled\",!0).parent().addClass(\"disabled\")}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGV1cGxvYWQuanMiXSwibmFtZXMiOlsiJCIsIndpbmRvdyIsImpRdWVyeSIsImdsb2JhbCIsImtvIiwiY29uc29sZSIsInJlcXVpcmUiLCJiaW5kaW5nSGFuZGxlcnMiLCJmdWRyb3BwYWJsZSIsImluaXQiLCJlbGVtZW50IiwidmFsdWVBY2Nlc3NvciIsIm9wdCIsInRpbWVvdXRzT2JqIiwib3ZlciIsInRpbWVvdXRzIiwiZHJvcFpvbmVUaW1lb3V0IiwiY2xhc3NOYW1lIiwib2JzZXJ2YWJsZSIsImV2ZW50IiwiY2xlYXJUaW1lb3V0IiwiY2xhc3NMaXN0IiwiYWRkIiwiaXNXcml0ZWFibGVPYnNlcnZhYmxlIiwic3RvcCIsInJlbW92ZSIsInR5cGUiLCJzZXRUaW1lb3V0IiwiYWN0aXZlIiwiYWN0aXZlQ2xhc3MiLCJ1dGlscyIsInJlZ2lzdGVyRXZlbnRIYW5kbGVyIiwiYmluZCIsImhvdmVyQ2xhc3MiLCJmaWxldXBsb2FkIiwiZXh0ZW5kT3B0aW9ucyIsInJlbW90ZUZpbGVQcmVwcm9jZXNzb3IiLCJ1cmwiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwiYXR0ciIsInVwZGF0ZSIsIm9wdGlvbnMiLCIkZnUiLCIkcGFyZW50IiwicGFyZW50cyIsImRhdGFWYWx1ZSIsImRhdGEiLCJjYW52YXNQcmV2aWV3IiwiZXh0ZW5kIiwiZGF0YVR5cGUiLCJkcm9wWm9uZSIsImZpbmQiLCJhdXRvVXBsb2FkIiwiYWNjZXB0RmlsZVR5cGVzIiwibWF4RmlsZVNpemUiLCJkaXNhYmxlSW1hZ2VSZXNpemUiLCJ0ZXN0IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwicHJldmlld01heFdpZHRoIiwicHJldmlld01heEhlaWdodCIsInByZXZpZXdDcm9wIiwicmVwbGFjZUZpbGVJbnB1dCIsIm1lc3NhZ2VzIiwidW5rbm93bkVycm9yIiwidXBsb2FkZWRCeXRlcyIsIm1heE51bWJlck9mRmlsZXMiLCJtaW5GaWxlU2l6ZSIsInBvc3RfbWF4X3NpemUiLCJtYXhfZmlsZV9zaXplIiwibWluX2ZpbGVfc2l6ZSIsImFjY2VwdF9maWxlX3R5cGVzIiwibWF4X251bWJlcl9vZl9maWxlcyIsIm1heF93aWR0aCIsIm1pbl93aWR0aCIsIm1heF9oZWlnaHQiLCJtaW5faGVpZ2h0IiwiYWJvcnQiLCJpbWFnZV9yZXNpemUiLCJnZW5lcmljIiwid29ya2luZyIsImZpcnN0V29ya2VkIiwiY2xlYW51cCIsInNob3ciLCJyZW1vdmVDbGFzcyIsImNzcyIsInRyYW5zbGF0ZWRNZXNzYWdlIiwidGV4dCIsIm1hdGNoIiwiZXZlbnRzIiwiZXZlbnRIYW5kbGVyIiwiZSIsImxvZyIsIm9uZXJyb3IiLCJlcnJvclRocm93biIsInRleHRTdGF0dXMiLCJyZXN1bHQiLCJmaWxlcyIsIm9uZmlsZSIsImkiLCJsZW5ndGgiLCJpbWciLCJJbWFnZSIsIm9ubG9hZCIsInNyYyIsImVycm9yIiwiaW5kZXgiLCJmaWxlIiwicHJldmlldyIsImVsIiwiaGlkZSIsInByZXBlbmQiLCJhZGRDbGFzcyIsInByb2dyZXNzIiwicGFyc2VJbnQiLCJsb2FkZWQiLCJ0b3RhbCIsImV2ZW50TmFtZSIsIm9uIiwic3VwcG9ydCIsImZpbGVJbnB1dCIsInByb3AiLCJwYXJlbnQiXSwibWFwcGluZ3MiOiJBQUFBLGFBWUEsSUFBSUEsRUFBdUIsb0JBQVhDLE9BQXlCQSxPQUFlQyxPQUFzQixvQkFBWEMsT0FBeUJBLE9BQWVELE9BQUksS0FDM0dFLEdBQXdCLG9CQUFYSCxPQUF5QkEsT0FBV0csR0FBc0Isb0JBQVhELE9BQXlCQSxPQUFXQyxHQUFJLEtBQ3BHQyxRQUFVQyxRQUFRLHNCQUV0QkYsR0FBR0csZ0JBQTZCQyxZQUFJLENBQ2xDQyxLQUFNLFNBQVNDLEVBQVNDLEdBQ3RCLElBQUlDLEVBQU1ELEtBQW1CLEdBQ3pCRSxFQUFjLEdBRWRDLEVBQU8sU0FBU0MsRUFBVUMsRUFBaUJOLEVBQVNPLEVBQVdDLEVBQVlD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", + "\"use strict\";var beforeSubscriptionProp,afterSubscriptionProp,ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");if(ko.bindingHandlers.ifSubs={cloneNodes:function(o,e){for(var i=0,n=o.length,r=[];i=ko.utils.unwrapObservable(u.threshold),void 0!==e().not&&e().not&&(i=!i),(p||i!==s)&&(p&&ko.computedContext.getDependenciesCount()&&(t=ko.bindingHandlers.ifSubs.cloneNodes(ko.virtualElements.childNodes(o),!0)),i?(p||ko.virtualElements.setDomNodeChildren(o,ko.bindingHandlers.ifSubs.cloneNodes(t)),ko.applyBindingsToDescendants(r,o)):ko.virtualElements.emptyNode(o),s=i)},null,{disposeWhenNodeIsRemoved:o}),{controlsDescendantBindings:!0}}},ko.virtualElements.allowedBindings.ifSubs=!0,\"function\"==typeof ko.subscription&&void 0!==ko.isWritableObservable)beforeSubscriptionProp=\"beforeSubscriptionAdd\",afterSubscriptionProp=\"afterSubscriptionRemove\";else if(\"3.2.0\"==ko.version)beforeSubscriptionProp=\"va\",afterSubscriptionProp=\"nb\";else if(\"3.3.0\"==ko.version)beforeSubscriptionProp=\"ja\",afterSubscriptionProp=\"ua\";else if(\"3.4.0\"==ko.version)beforeSubscriptionProp=\"sa\",afterSubscriptionProp=\"Ia\";else if(\"3.4.1\"==ko.version)beforeSubscriptionProp=\"sa\",afterSubscriptionProp=\"Ia\";else if(\"3.4.2\"==ko.version)beforeSubscriptionProp=\"ua\",afterSubscriptionProp=\"Ka\";else{if(\"3.5.0-beta\"!=ko.version)throw\"Unsupported minimized Knockout version \"+ko.version+\" (supported DEBUG or minimized 3.2.0 ... 3.5.0-beta)\";beforeSubscriptionProp=\"Pa\",afterSubscriptionProp=\"ab\"}ko.extenders.subscriptionsCount=function(o,e,i){if(void 0===o.subsCount){o.subsCount=ko.observable(o.getSubscriptionsCount()).extend({notify:\"always\"});var n=o[beforeSubscriptionProp],r=o[afterSubscriptionProp];o[beforeSubscriptionProp]=function(r){n&&n.call(o,r);var s=o.getSubscriptionsCount()+1;void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)},o[afterSubscriptionProp]=function(n){r&&r.call(o,n);var s=o.getSubscriptionsCount();void 0!==e&&s!=e&&void 0!==i&&s!=i||o.subsCount(s)}}else console.log(\"already applied subscriptionCount to observable\");return null};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlmLXN1YnMuanMiXSwibmFtZXMiOlsiYmVmb3JlU3Vic2NyaXB0aW9uUHJvcCIsImFmdGVyU3Vic2NyaXB0aW9uUHJvcCIsImtvIiwid2luZG93IiwiZ2xvYmFsIiwiY29uc29sZSIsInJlcXVpcmUiLCJiaW5kaW5nSGFuZGxlcnMiLCJpZlN1YnMiLCJjbG9uZU5vZGVzIiwibm9kZXNBcnJheSIsInNob3VsZENsZWFuTm9kZXMiLCJpIiwiaiIsImxlbmd0aCIsIm5ld05vZGVzQXJyYXkiLCJjbG9uZWROb2RlIiwiY2xvbmVOb2RlIiwicHVzaCIsImNsZWFuTm9kZSIsImluaXQiLCJlbGVtZW50IiwidmFsdWVBY2Nlc3NvciIsImFsbEJpbmRpbmdzIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJkaWREaXNwbGF5T25MYXN0VXBkYXRlIiwic2F2ZWROb2RlcyIsInZhbHVlQWNjIiwiZGF0YSIsInN1YnNDb3VudCIsImV4dGVuZGVycyIsInN1YnNjcmlwdGlvbnNDb3VudCIsImNvbXB1dGVkIiwic2hvdWxkRGlzcGxheSIsImd1dHRlciIsImRhdGFWYWx1ZSIsInV0aWxzIiwidW53cmFwT2JzZXJ2YWJsZSIsImlzRmlyc3RSZW5kZXIiLCJ0aHJlc2hvbGQiLCJub3QiLCJjb21wdXRlZENvbnRleHQiLCJnZXREZXBlbmRlbmNpZXNDb3VudCIsInZpcnR1YWxFbGVtZW50cyIsImNoaWxkTm9kZXMiLCJzZXREb21Ob2RlQ2hpbGRyZW4iLCJhcHBseUJpbmRpbmdzVG9EZXNjZW5kYW50cyIsImVtcHR5Tm9kZSIsImRpc3Bvc2VXaGVuTm9kZUlzUmVtb3ZlZCIsImNvbnRyb2xzRGVzY2VuZGFudEJpbmRpbmdzIiwiYWxsb3dlZEJpbmRpbmdzIiwic3Vic2NyaXB0aW9uIiwiaXNXcml0YWJsZU9ic2VydmFibGUiLCJ2ZXJzaW9uIiwidGFyZ2V0IiwibDEiLCJsMiIsIm9ic2VydmFibGUiLCJnZXRTdWJzY3JpcHRpb25zQ291bnQiLCJleHRlbmQiLCJub3RpZnkiLCJ1bmRlcmx5aW5nQmVmb3JlU3Vic2NyaXB0aW9uQWRkRnVuY3Rpb24iLCJ1bmRlcmx5aW5nQWZ0ZXJTdWJzY3JpcHRpb25SZW1vdmVGdW5jdGlvbiIsImV2ZW50IiwiY2FsbCIsImMiLCJsb2ciXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFnRUlBLHVCQUNBQyxzQkFqRUFDLEdBQXdCLG9CQUFYQyxPQUF5QkEsT0FBV0QsR0FBc0Isb0JBQVhFLE9BQXlCQSxPQUFXRixHQUFJLEtBQ3BHRyxRQUFVQyxRQUFRLHNCQWlFdEIsR0EvREFKLEdBQUdLLGdCQUF3QkMsT0FBSSxDQUU3QkMsV0FBWSxTQUFTQyxFQUFZQyxHQUMvQixJQUFLLElBQUlDLEVBQUksRUFBR0MsRUFBSUgsRUFBV0ksT0FBUUMsRUFBZ0IsR0FBSUgsRUFBSUMsRUFBR0QsSUFBSyxDQUNyRSxJQUFJSSxFQUFhTixFQUFXRSxHQUFHSyxXQUFBQSxHQUMvQkYsRUFBY0csS0FBS1AsRUFBbUJULEdBQUdpQixVQUFVSCxHQUFjQSxHQUVuRSxPQUFPRCxHQUVUSyxLQUFRLFNBQVNDLEVBQVNDLEVBQWVDLEVBQWFDLEVBQVdDLEdBQy9ELElBQUlDLEVBQ0ZDLEVBQ0FDLEVBQVdOLElBcUNiLFlBQUEsSUFwQ1dNLEVBQVNDLEtBQUtDLFdBQ3ZCNUIsR0FBRzZCLFVBQThCQyxtQkFBRUosRUFBU0MsTUFHOUMzQixHQUFHK0IsU0FBUyxXQUNWLElBRUVDLEVBQTZCQyxFQUYzQkMsRUFBWWxDLEdBQUdtQyxNQUFNQyxpQkFBaUJoQixJQUFnQk8sS0FBS0MsV0FDN0RTLEdBQWlCWixFQUduQlEsU0FBQUEsSUFBa0JiLElBQWdCYSxPQUF5QmIsSUFBZ0JhLE9BQVMsR0FDcEZELEVBQWdCRSxHQUFhVixFQUF5QlMsRUFBUyxJQUFNakMsR0FBR21DLE1BQU1DLGlCQUFpQlYsRUFBU1ksZ0JBQUFBLElBQzdGbEIsSUFBZ0JtQixLQUF1Qm5CLElBQWdCbUIsTUFDaEVQLEdBQWlCQSxJQUVKSyxHQUFrQkwsSUFBa0JSLEtBSTdDYSxHQUFpQnJDLEdBQUd3QyxnQkFBZ0JDLHlCQUN0Q2hCLEVBQWF6QixHQUFHSyxnQkFBd0JDLE9BQUVDLFdBQVdQLEdBQUcwQyxnQkFBZ0JDLFdBQVd4QixJQUFBQSxJQUdqRmEsR0FDR0ssR0FDSHJDLEdBQUcwQyxnQkFBZ0JFLG1CQUFtQnpCLEVBQVNuQixHQUFHSyxnQkFBd0JDLE9BQUVDLFdBQVdrQixJQUV6RnpCLEdBQUc2QywyQkFBMkJ0QixFQUFnQkosSUFFOUNuQixHQUFHMEMsZ0JBQWdCSSxVQUFVM0IsR0FHL0JLLEVBQXlCUSxJQUUxQixLQUFNLENBQ1BlLHlCQUEwQjVCLElBRXJCLENBQ0w2Qiw0QkFBQUEsS0FJTmhELEdBQUcwQyxnQkFBZ0JPLGdCQUF3QjNDLFFBQUEsRUFTYixtQkFBbkJOLEdBQUdrRCxtQkFBQUEsSUFBcUNsRCxHQUFHbUQscUJBQ3BEckQsdUJBQXlCLHdCQUN6QkMsc0JBQXdCLCtCQUNuQixHQUFrQixTQUFkQyxHQUFHb0QsUUFDWnRELHVCQUF5QixLQUN6QkMsc0JBQXdCLFVBQ25CLEdBQWtCLFNBQWRDLEdBQUdvRCxRQUNadEQsdUJBQXlCLEtBQ3pCQyxzQkFBd0IsVUFDbkIsR0FBa0IsU0FBZEMsR0FBR29ELFFBQ1p0RCx1QkFBeUIsS0FDekJDLHNCQUF3QixVQUNuQixHQUFrQixTQUFkQyxHQUFHb0QsUUFDWnRELHVCQUF5QixLQUN6QkMsc0JBQXdCLFVBQ25CLEdBQWtCLFNBQWRDLEdBQUdvRCxRQUNadEQsdUJBQXlCLEtBQ3pCQyxzQkFBd0IsU0FDbkIsQ0FBQSxHQUFrQixjQUFkQyxHQUFHb0QsUUFJVCxLQUFNLDBDQUE0Q3BELEdBQUdvRCxRQUFVLHVEQUhsRXRELHVCQUF5QixLQUN6QkMsc0JBQXdCLEtBTTFCQyxHQUFHNkIsVUFBOEJDLG1CQUFJLFNBQVN1QixFQUFRQyxFQUFJQyxHQUN4RCxRQUFBLElBQVdGLEVBQU96QixVQUEyQixDQUMzQ3lCLEVBQU96QixVQUFZNUIsR0FBR3dELFdBQVdILEVBQU9JLHlCQUF5QkMsT0FBTyxDQUN0RUMsT0FBUSxXQUVWLElBQUlDLEVBQTBDUCxFQUFPdkQsd0JBQ2pEK0QsRUFBNENSLEVBQU90RCx1QkFDdkRzRCxFQUFPdkQsd0JBQTBCLFNBQVNnRSxHQUNwQ0YsR0FBeUNBLEVBQXdDRyxLQUFLVixFQUFRUyxHQUNsRyxJQUFJRSxFQUFJWCxFQUFPSSx3QkFBMEIsT0FBQSxJQUM5QkgsR0FBc0JVLEdBQUtWLFFBQUFBLElBQWFDLEdBQXNCUyxHQUFLVCxHQUFJRixFQUFPekIsVUFBVW9DLElBRXJHWCxFQUFPdEQsdUJBQXlCLFNBQVMrRCxHQUNuQ0QsR0FBMkNBLEVBQTBDRSxLQUFLVixFQUFRUyxHQUN0RyxJQUFJRSxFQUFJWCxFQUFPSSw2QkFBQUEsSUFDSkgsR0FBc0JVLEdBQUtWLFFBQUFBLElBQWFDLEdBQXNCUyxHQUFLVCxHQUFJRixFQUFPekIsVUFBVW9DLFNBR3JHN0QsUUFBUThELElBQUksbURBRWQsT0FBTyIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy9pZi1zdWJzLmpzIn0=", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,spinner=\"undefined\"!=typeof window?window.jQuery.ui.spinner:\"undefined\"!=typeof global?global.jQuery.ui.spinner:null,console=require(\"console-browserify\");if(void 0===spinner)throw\"Cannot find jquery-ui spinner widget dependency!\";$.widget(\"ui.spinner\",spinner,{_adjustValue:function(n){this._super(n);var e=this.options;return n=parseFloat(n.toFixed(this._precision())),null!==e.max&&n>e.max?e.max:null!==e.min&&nt&&w+pc&&_scrollIntoView(o,!1,r,c-u)):(wt&&u>c&&_scrollIntoView(o,!0,r,t-w)))}}catch(o){console.log(\"TODO exception scrolling into view\",o)}}},ko.virtualElements.allowedBindings.scrollIntoView=!0;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcm9sbGludG92aWV3LmpzIl0sIm5hbWVzIjpbIiQiLCJ3aW5kb3ciLCJqUXVlcnkiLCJnbG9iYWwiLCJrbyIsImNvbnNvbGUiLCJyZXF1aXJlIiwiX3Njcm9sbEludG9WaWV3IiwiJGVsZW1lbnQiLCJhbGlnblRvcCIsInNjcm9sbFBhcmVudCIsIm1vdmVCeSIsImN1cnJlbnRTY3JvbGxUb3AiLCJzY3JvbGxUb3AiLCJuZXdTY3JvbGxUb3AiLCJub2RlVHlwZSIsImFjdGlvbiIsIk1hdGgiLCJyb3VuZCIsInRpbWUiLCJhYnMiLCJzdG9wIiwiYW5pbWF0ZSIsImJpbmRpbmdIYW5kbGVycyIsInNjcm9sbEludG9WaWV3IiwidXBkYXRlIiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5nc0FjY2Vzc29yIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJuZXh0U2libGluZyIsInBhcmVudFRvcCIsInJlbGF0aXZlT2Zmc2V0IiwiZGVmYXVsdFZpZXciLCJvZmZzZXQiLCJ0b3AiLCJwYXJlbnRIZWlnaHQiLCJoZWlnaHQiLCJwYXJlbnRTY3JvbGwiLCJwYXJlbnRCb3R0b20iLCJlbFRvcCIsImVsSGVpZ2h0IiwiZWxCb3R0b20iLCJlIiwibG9nIiwidmlydHVhbEVsZW1lbnRzIiwiYWxsb3dlZEJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBLElBQUlBLEVBQXVCLG9CQUFYQyxPQUF5QkEsT0FBZUMsT0FBc0Isb0JBQVhDLE9BQXlCQSxPQUFlRCxPQUFJLEtBQzNHRSxHQUF3QixvQkFBWEgsT0FBeUJBLE9BQVdHLEdBQXNCLG9CQUFYRCxPQUF5QkEsT0FBV0MsR0FBSSxLQUNwR0MsUUFBVUMsUUFBUSxzQkFFbEJDLGdCQUFrQixTQUFTQyxFQUFVQyxFQUFVQyxFQUFjQyxHQUMvRCxJQUFJQyxFQUFtQkYsRUFBYUcsWUFDaENDLEVBQWVGLEVBQW1CRCxHQUFVRixFQUFXLElBQU0sSUFHakUsUUFBQSxJQURxQkMsRUFBYSxHQUFHSyxTQUN4QixDQUNYLElBQUlDLEVBQVMsQ0FDWEgsVUFBa0JJLEtBQUtDLE1BQU1KLEdBQWdCLE1BRTNDSyxFQUFPRixLQUFLQyxNQUFNRCxLQUFLRyxJQUFJTixFQUFlRixJQUM5Q0YsRUFBYVcsT0FBT0MsUUFBUU4sRUFBUUcsUUFFcENULEVBQWFHLFVBQVVDLElBTTNCVixHQUFHbUIsZ0JBQWdCQyxlQUFpQixDQUNsQ0MsT0FBUSxTQUFTQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsR0FFdkUsR0FEZTFCLEdBQUcyQixNQUFNQyxpQkFBaUJMLEtBRXpDLElBRUUsS0FBNEIsSUFBckJELEVBQVFYLFVBRWJXLEVBQVVBLEVBQVFPLFlBRXBCLEdBQXlCLElBQXJCUCxFQUFRWCxTQUFnQixDQUMxQixJQUVJbUIsRUFGQXhCLEVBQWVWLEVBQUUwQixHQUFTaEIsZUFHMUJ5QixHQUFBQSxFQUM0QixHQUE1QnpCLEVBQWEsR0FBR0ssVUFFbEJMLEVBQWVWLEVBQUVVLEVBQWEsR0FBRzBCLGFBQ2pDRixFQUFZLEVBQ1pDLEdBQUFBLEdBRUFELEVBQVl4QixFQUFhMkIsU0FBU0MsSUFHcEMsSUFBSUMsRUFBZTdCLEVBQWE4QixTQUM1QkMsRUFBZS9CLEVBQWFHLFlBQzVCNkIsRUFBZVIsRUFBWUssRUFHM0IvQixFQUFXUixFQUFFMEIsR0FDYmlCLEVBQVFuQyxFQUFTNkIsU0FBU0MsSUFFMUJILElBQWdCUSxHQUFnQkYsR0FDcEMsSUFBSUcsRUFBV3BDLEVBQVNnQyxTQUNwQkssRUFBV0YsRUFBUUMsRUFDbkJELEVBQVFULEdBQWFTLEVBQVFDLEVBQVdGLElBRWpDRSxFQUFXTCxHQUVoQkksRUFBUVQsR0FBVzNCLGdCQUFnQm1CLEdBQUFBLEVBQWVoQixFQUFjd0IsRUFBWVMsR0FFNUVFLEVBQVdILEdBQWNuQyxnQkFBZ0JtQixHQUFBQSxFQUFnQmhCLEVBQWNnQyxFQUFlRyxLQUt0RkYsRUFBUVQsR0FBYVcsRUFBV0gsR0FBY25DLGdCQUFnQm1CLEdBQUFBLEVBQWdCaEIsRUFBY2dDLEVBQWVHLEdBRTNHRixFQUFRVCxHQUFhVyxFQUFXSCxHQUFjbkMsZ0JBQWdCbUIsR0FBQUEsRUFBZWhCLEVBQWN3QixFQUFZUyxNQUsvRyxNQUFPRyxHQUNQekMsUUFBUTBDLElBQUkscUNBQXNDRCxNQUl4RDFDLEdBQUc0QyxnQkFBZ0JDLGdCQUFnQ3pCLGdCQUFBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3Njcm9sbGludG92aWV3LmpzIn0=", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,origTemplateSystem=require(\"./script-template.js\"),templates={};function createStringTemplateEngine(e){var t=e.makeTemplateSource;return e.makeTemplateSource=function(e){return void 0!==templates[e]?new ko.templateSources.stringTemplate(e,templates[e]):t(e)},e}function pushTemplate(e,t){templates[e]=t}function removeTemplate(e){void 0!==templates[e]?templates[e]=void 0:origTemplateSystem.removeTemplate(e)}function init(){ko.setTemplateEngine(createStringTemplateEngine(new ko.nativeTemplateEngine))}function getTemplateContent(e){return void 0!==templates[e]?templates[e]:origTemplateSystem.getTemplateContent(e)}ko.templateSources.stringTemplate=function(e,t){this.templateName=e,this.template=t,this._data={}},ko.utils.extend(ko.templateSources.stringTemplate.prototype,{data:function(e,t){if(1===arguments.length)return this._data[e];this._data[e]=t},text:function(e){if(0===arguments.length)return this.template;this.template=e}}),module.exports={init:init,addTemplate:pushTemplate,removeTemplate:removeTemplate,getTemplateContent:getTemplateContent};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZy10ZW1wbGF0ZS5qcyJdLCJuYW1lcyI6WyJrbyIsIndpbmRvdyIsImdsb2JhbCIsIm9yaWdUZW1wbGF0ZVN5c3RlbSIsInJlcXVpcmUiLCJ0ZW1wbGF0ZXMiLCJjcmVhdGVTdHJpbmdUZW1wbGF0ZUVuZ2luZSIsInRlbXBsYXRlRW5naW5lIiwib3JpZyIsIm1ha2VUZW1wbGF0ZVNvdXJjZSIsInRlbXBsYXRlTmFtZSIsInRlbXBsYXRlU291cmNlcyIsInN0cmluZ1RlbXBsYXRlIiwicHVzaFRlbXBsYXRlIiwidGVtcGxhdGVUZXh0IiwicmVtb3ZlVGVtcGxhdGUiLCJpbml0Iiwic2V0VGVtcGxhdGVFbmdpbmUiLCJuYXRpdmVUZW1wbGF0ZUVuZ2luZSIsImdldFRlbXBsYXRlQ29udGVudCIsImlkIiwidGVtcGxhdGUiLCJ0aGlzIiwiX2RhdGEiLCJ1dGlscyIsImV4dGVuZCIsInByb3RvdHlwZSIsImRhdGEiLCJrZXkiLCJ2YWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInRleHQiLCJtb2R1bGUiLCJleHBvcnRzIiwiYWRkVGVtcGxhdGUiXSwibWFwcGluZ3MiOiJBQUFBLGFBRUEsSUFBSUEsR0FBd0Isb0JBQVhDLE9BQXlCQSxPQUFXRCxHQUFzQixvQkFBWEUsT0FBeUJBLE9BQVdGLEdBQUksS0FDcEdHLG1CQUFxQkMsUUFBUSx3QkFFN0JDLFVBQVksR0E2QmhCLFNBQVNDLDJCQUEyQkMsR0FDbEMsSUFBSUMsRUFBT0QsRUFBZUUsbUJBUTFCLE9BUEFGLEVBQWVFLG1CQUFxQixTQUFTQyxHQUMzQyxZQUFBLElBQVdMLFVBQVVLLEdBQ1osSUFBSVYsR0FBR1csZ0JBQWdCQyxlQUFlRixFQUFjTCxVQUFVSyxJQUU5REYsRUFBS0UsSUFHVEgsRUFHVCxTQUFTTSxhQUFhSCxFQUFjSSxHQUNsQ1QsVUFBVUssR0FBZ0JJLEVBRzVCLFNBQVNDLGVBQWVMLFFBQUFBLElBQ1hMLFVBQVVLLEdBQ25CTCxVQUFVSyxRQUFBQSxFQUVWUCxtQkFBbUJZLGVBQWVMLEdBSXRDLFNBQVNNLE9BQ1BoQixHQUFHaUIsa0JBQWtCWCwyQkFBMkIsSUFBSU4sR0FBR2tCLHVCQUd6RCxTQUFTQyxtQkFBbUJDLEdBQzFCLFlBQUEsSUFBV2YsVUFBVWUsR0FDWmYsVUFBVWUsR0FFVmpCLG1CQUFtQmdCLG1CQUFtQkMsR0ExRGpEcEIsR0FBR1csZ0JBQWdCQyxlQUFpQixTQUFTRixFQUFjVyxHQUN6REMsS0FBS1osYUFBZUEsRUFDcEJZLEtBQUtELFNBQVdBLEVBQ2hCQyxLQUFLQyxNQUFRLElBR2Z2QixHQUFHd0IsTUFBTUMsT0FBT3pCLEdBQUdXLGdCQUFnQkMsZUFBZWMsVUFBVyxDQUMzREMsS0FBTSxTQUFTQyxFQUFLQyxHQUVsQixHQUF5QixJQUFyQkMsVUFBVUMsT0FDWixPQUFPVCxLQUFLQyxNQUFNSyxHQUdwQk4sS0FBS0MsTUFBTUssR0FBT0MsR0FFcEJHLEtBQU0sU0FBU0gsR0FFYixHQUF5QixJQUFyQkMsVUFBVUMsT0FDWixPQUFPVCxLQUFLRCxTQUVkQyxLQUFLRCxTQUFXUSxLQTBDcEJJLE9BQU9DLFFBQVUsQ0FDZmxCLEtBQU1BLEtBQ05tQixZQUFhdEIsYUFDYkUsZUFBZ0JBLGVBQ2hCSSxtQkFBb0JBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3N0cmluZy10ZW1wbGF0ZS5qcyJ9", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,$=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null,kojqui=\"undefined\"!=typeof window?window.kojqui:\"undefined\"!=typeof global?global.kojqui:null,console=require(\"console-browserify\"),extendValueAccessor=function(o,n){return function(){return ko.utils.extend(n,o()),n}},options={show:{delay:500},track:!0,items:'[title][title!=\"\"][title!=\" \"]'};ko.bindingHandlers.tooltips={init:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.init(o,extendValueAccessor(n,options),i,e,t)},update:function(o,n,i,e,t){if(void 0!==$.fn.tooltip&&void 0!==ko.bindingHandlers.tooltip)return ko.bindingHandlers.tooltip.update(o,extendValueAccessor(n,options),i,e,t)}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2x0aXBzLmpzIl0sIm5hbWVzIjpbImtvIiwid2luZG93IiwiZ2xvYmFsIiwiJCIsImpRdWVyeSIsImtvanF1aSIsImNvbnNvbGUiLCJyZXF1aXJlIiwiZXh0ZW5kVmFsdWVBY2Nlc3NvciIsInZhbHVlQWNjZXNzb3IiLCJvYmoiLCJ1dGlscyIsImV4dGVuZCIsIm9wdGlvbnMiLCJzaG93IiwiZGVsYXkiLCJ0cmFjayIsIml0ZW1zIiwiYmluZGluZ0hhbmRsZXJzIiwidG9vbHRpcHMiLCJpbml0IiwiZWxlbWVudCIsImFsbEJpbmRpbmdzQWNjZXNzb3IiLCJkYXRhIiwiY29udGV4dCIsImZuIiwidG9vbHRpcCIsInVwZGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsYUFFQSxJQUFJQSxHQUF3QixvQkFBWEMsT0FBeUJBLE9BQVdELEdBQXNCLG9CQUFYRSxPQUF5QkEsT0FBV0YsR0FBSSxLQUNwR0csRUFBdUIsb0JBQVhGLE9BQXlCQSxPQUFlRyxPQUFzQixvQkFBWEYsT0FBeUJBLE9BQWVFLE9BQUksS0FDM0dDLE9BQTRCLG9CQUFYSixPQUF5QkEsT0FBZUksT0FBc0Isb0JBQVhILE9BQXlCQSxPQUFlRyxPQUFJLEtBQ2hIQyxRQUFVQyxRQUFRLHNCQUVsQkMsb0JBQXNCLFNBQVNDLEVBQWVDLEdBQ2hELE9BQU8sV0FFTCxPQURBVixHQUFHVyxNQUFNQyxPQUFPRixFQUFLRCxLQUNkQyxJQUlQRyxRQUFVLENBQ1pDLEtBQU0sQ0FDSkMsTUFBTyxLQUVUQyxPQUFBQSxFQUNBQyxNQUFPLGtDQUdUakIsR0FBR2tCLGdCQUFnQkMsU0FBVyxDQUM1QkMsS0FBTSxTQUFTQyxFQUFTWixFQUFlYSxFQUFxQkMsRUFBTUMsR0FDaEUsUUFBQSxJQUFXckIsRUFBRXNCLEdBQUdDLGNBQUFBLElBQWtDMUIsR0FBR2tCLGdCQUFnQlEsUUFHbkUsT0FBTzFCLEdBQUdrQixnQkFBZ0JRLFFBQVFOLEtBQUtDLEVBQVNiLG9CQUFvQkMsRUFBZUksU0FBVVMsRUFBcUJDLEVBQU1DLElBRzVIRyxPQUFRLFNBQVNOLEVBQVNaLEVBQWVhLEVBQXFCQyxFQUFNQyxHQUNsRSxRQUFBLElBQVdyQixFQUFFc0IsR0FBR0MsY0FBQUEsSUFBa0MxQixHQUFHa0IsZ0JBQWdCUSxRQUNuRSxPQUFPMUIsR0FBR2tCLGdCQUFnQlEsUUFBUUMsT0FBT04sRUFBU2Isb0JBQW9CQyxFQUFlSSxTQUFVUyxFQUFxQkMsRUFBTUMiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9zcmMvanMvYmluZGluZ3MvdG9vbHRpcHMuanMifQ==", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.validatedValue={init:function(e,n,i){var o=n;if(void 0!==e.pattern){var t=new RegExp(\"^(?:\"+e.pattern+\")$\"),a=ko.computed({read:function(){var i=ko.utils.unwrapObservable(n());return null===i||\"\"===i||t.test(i)?e.classList.remove(\"invalid\"):e.classList.add(\"invalid\"),i},write:ko.isWriteableObservable(n())&&function(i){ko.selectExtensions.writeValue(e,i);var o=ko.selectExtensions.readValue(e);n()(o)},disposeWhenNodeIsRemoved:e});o=function(){return a}}ko.bindingHandlers.value.init(e,o,i)}},ko.expressionRewriting._twoWayBindings.validatedValue=!0;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRlZC12YWx1ZS5qcyJdLCJuYW1lcyI6WyJrbyIsIndpbmRvdyIsImdsb2JhbCIsImNvbnNvbGUiLCJyZXF1aXJlIiwiYmluZGluZ0hhbmRsZXJzIiwidmFsaWRhdGVkVmFsdWUiLCJpbml0IiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5ncyIsIm5ld1ZhbHVlQWNjZXNzb3IiLCJwYXR0ZXJuIiwicmUiLCJSZWdFeHAiLCJjb21wdXRlZCIsInJlYWQiLCJyZXMiLCJ1dGlscyIsInVud3JhcE9ic2VydmFibGUiLCJ0ZXN0IiwiY2xhc3NMaXN0IiwicmVtb3ZlIiwiYWRkIiwid3JpdGUiLCJpc1dyaXRlYWJsZU9ic2VydmFibGUiLCJ2YWx1ZSIsInNlbGVjdEV4dGVuc2lvbnMiLCJ3cml0ZVZhbHVlIiwidXBkVmFsdWUiLCJyZWFkVmFsdWUiLCJkaXNwb3NlV2hlbk5vZGVJc1JlbW92ZWQiLCJleHByZXNzaW9uUmV3cml0aW5nIiwiX3R3b1dheUJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUVBLElBQUlBLEdBQXdCLG9CQUFYQyxPQUF5QkEsT0FBV0QsR0FBc0Isb0JBQVhFLE9BQXlCQSxPQUFXRixHQUFJLEtBQ3BHRyxRQUFVQyxRQUFRLHNCQUd0QkosR0FBR0ssZ0JBQWdDQyxlQUFJLENBQ3RDQyxLQUFNLFNBQVNDLEVBQVNDLEVBQWVDLEdBQ3RDLElBQUlDLEVBQW1CRixFQUN2QixRQUFBLElBQVdELEVBQVFJLFFBQXlCLENBQzNDLElBQUlDLEVBQUssSUFBSUMsT0FBTyxPQUFTTixFQUFRSSxRQUFVLE1BQzNDRyxFQUFXZixHQUFHZSxTQUFTLENBQzFCQyxLQUFNLFdBQ0wsSUFBSUMsRUFBTWpCLEdBQUdrQixNQUFNQyxpQkFBaUJWLEtBU3BDLE9BUG9CLE9BQVJRLEdBQXdCLEtBQVJBLEdBQWNKLEVBQUdPLEtBQUtILEdBR2pEVCxFQUFRYSxVQUFVQyxPQUFPLFdBRXpCZCxFQUFRYSxVQUFVRSxJQUFJLFdBRWhCTixHQUVSTyxNQUFPeEIsR0FBR3lCLHNCQUFzQmhCLE1BQW9CLFNBQVNpQixHQUU1RDFCLEdBQUcyQixpQkFBaUJDLFdBQVdwQixFQUFTa0IsR0FDeEMsSUFBSUcsRUFBVzdCLEdBQUcyQixpQkFBaUJHLFVBQVV0QixHQUM3Q0MsR0FBQUEsQ0FBZ0JvQixJQUVqQkUseUJBQTBCdkIsSUFFM0JHLEVBQW1CLFdBQ2xCLE9BQU9JLEdBR1RmLEdBQUdLLGdCQUF1QnFCLE1BQUVuQixLQUFLQyxFQUFTRyxFQUFrQkQsS0FHOURWLEdBQUdnQyxvQkFBb0JDLGdCQUFnQzNCLGdCQUFBIiwiZmlsZSI6Ii9yb290L21vc2FpY28vc3JjL2pzL2JpbmRpbmdzL3ZhbGlkYXRlZC12YWx1ZS5qcyJ9", + "\"use strict\";var ko=\"undefined\"!=typeof window?window.ko:\"undefined\"!=typeof global?global.ko:null,console=require(\"console-browserify\");ko.bindingHandlers.uniqueId={currentIndex:0,init:function(e,n){var t=ko.utils.unwrapObservable(n())||{};if(\"\"===t.id()){var i,l,r;r=\"ko_\"+(void 0!==t.type?ko.utils.unwrapObservable(t.type):\"block\");do{i=r+\"_\"+ ++ko.bindingHandlers.uniqueId.currentIndex,l=global.document.getElementById(i)}while(l);t.id(i)}}},ko.virtualElements.allowedBindings.uniqueId=!0,ko.bindingHandlers.virtualAttr={update:function(e,n){8!==e.nodeType&&ko.bindingHandlers.attr.update(e,n)}},ko.virtualElements.allowedBindings.virtualAttr=!0,ko.bindingHandlers.virtualAttrStyle={update:function(e,n,t,i,l){if(8!==e.nodeType){var r=[\"style\"];(void 0===l.templateMode||\"wysiwyg\"!=l.templateMode)&&r.push(\"replacedstyle\");for(var o=ko.utils.unwrapObservable(n()),d=0;d0&&d>0?\"cover\":\"resize\");var u=ko.bindingHandlers.wysiwygSrc.convertedUrl(s.toString(),g,a,d);e.setAttribute(\"src\",u)}null!=a?e.setAttribute(\"width\",a):e.removeAttribute(\"width\"),null!=d?e.setAttribute(\"height\",d):e.removeAttribute(\"height\")}},ko.bindingHandlers.wysiwygId={init:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||e.setAttribute(\"id\",ko.utils.unwrapObservable(i()))},update:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||e.setAttribute(\"id\",ko.utils.unwrapObservable(i()))}},ko.virtualElements.allowedBindings.wysiwygId=!0,ko.bindingHandlers.wysiwygClick={init:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||ko.bindingHandlers.click.init(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygClick=!0,ko.bindingHandlers.wysiwygCss={update:function(e,i,n,t,o){void 0===o.templateMode||\"wysiwyg\"!=o.templateMode||ko.bindingHandlers.css.update(e,i,n,t,o)}},ko.virtualElements.allowedBindings.wysiwygCss=!0,ko.bindingHandlers.wysiwygImg={makeTemplateValueAccessor:function(e,i){return function(){var n=void 0!==i.templateMode&&\"wysiwyg\"==i.templateMode,t=e(),o=ko.utils.peekObservable(t);return ko.utils.unwrapObservable(t),{name:n?o._editTemplate:o._template,templateEngine:ko.nativeTemplateEngine.instance}}},init:function(e,i,n,t,o){return ko.bindingHandlers.template.init(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o))},update:function(e,i,n,t,o){return o=o.extend(i()),ko.bindingHandlers.template.update(e,ko.bindingHandlers.wysiwygImg.makeTemplateValueAccessor(i,o),n,t,o)}},ko.virtualElements.allowedBindings.wysiwygImg=!0;var _catchingFire=function(e,i){try{return this.originalFire.apply(this,arguments)}catch(i){console.warn(\"Cought tinymce exception while firing editor event\",e,i)}};ko.bindingHandlers.wysiwyg={debug:!1,getContentOptions:{format:\"raw\"},useTarget:!1,currentIndex:0,standardOptions:{},initializingClass:\"wysiwyg-loading\",removeSelectionOnBlur:!0,emptyClass:void 0,fullOptions:{toolbar1:\"bold italic forecolor backcolor hr styleselect removeformat | link unlink | pastetext code\",plugins:[\"link hr paste lists textcolor code\"]},init:function(e,i,n,t,o){ko.bindingHandlers.focusable.init(e);var l,s=ko.bindingHandlers.wysiwyg.debug&&\"function\"==typeof console.debug;ko.bindingHandlers.wysiwyg.useTarget?l=\"@target_\"+ ++ko.bindingHandlers.wysiwyg.currentIndex:(l=e.getAttribute(\"id\"))||(l=\"wysiwyg_\"+ ++ko.bindingHandlers.wysiwyg.currentIndex,e.setAttribute(\"id\",l)),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.add(ko.bindingHandlers.wysiwyg.initializingClass),ko.utils.domNodeDisposal.addDisposeCallback(e,function(){s&&console.debug(\"Editor for selector\",l,\"is being removed...\"),tinymce.remove(\"#\"+e.getAttribute(\"id\")),s&&console.debug(\"Editor for selector\",l,\"has been removed.\")});var r=i();if(!ko.isObservable(r))throw\"Wysiwyg binding called with non observable\";if(8===e.nodeType)throw\"Wysiwyg binding called on virtual node, ignoring....\"+e.innerHTML;var a,d=\"DIV\"==e.tagName||\"TD\"==e.tagName,g=!1,u=!1,w={inline:!0,hidden_input:!1,plugins:[\"paste\"],toolbar1:\"bold italic\",toolbar2:\"\",preview_styles:!1,paste_as_text:!0,language:\"en\",schema:\"html5\",extended_valid_elements:\"strong/b,em/i,*[*]\",menubar:!1,skin:\"gray-flat\",forced_root_block:d?\"p\":\"\",init_instance_callback:function(i){if(s&&console.debug(\"Editor for selector\",l,\"is now initialized.\"),ko.bindingHandlers.wysiwyg.initializingClass&&e.classList.remove(ko.bindingHandlers.wysiwyg.initializingClass),\"function\"==typeof console.debug){var n=e.currentStyle?e.currentStyle.display:global.getComputedStyle(e,null).display;\"inline\"==n&&console.debug(\"Initializing an editor on an inline element: please note that while it may work, this is unsupported because of a multitude of browser issues\",e.tagName,n,l)}},setup:function(i){s&&console.debug(\"Editor for selector\",l,\"is now in the setup phase.\");var n=function(){0==(e.textContent||e.innerText||\"\").trim().length?e.classList.add(ko.bindingHandlers.wysiwyg.emptyClass):e.classList.remove(ko.bindingHandlers.wysiwyg.emptyClass)};i.on(\"change redo undo\",function(){if(!g)try{u=!0,r(i.getContent(ko.bindingHandlers.wysiwyg.getContentOptions))}catch(e){console.warn(\"Unexpected error setting content value for\",l,e)}finally{u=!1}ko.bindingHandlers.wysiwyg.emptyClass&&n()}),ko.bindingHandlers.wysiwyg.emptyClass&&i.on(\"keyup\",function(){n()}),i.on(\"focus\",function(){i.nodeChanged(),i.getElement().click()}),ko.bindingHandlers.wysiwyg.removeSelectionOnBlur&&i.on(\"blur\",function(e){global.getSelection().removeAllRanges()}),i.on(\"BeforeSetContent\",function(e){e.initial&&(e.format=\"raw\")}),void 0===i.originalFire&&(i.originalFire=i.fire,i.fire=_catchingFire),a=i}};return ko.bindingHandlers.wysiwyg.useTarget?w.target=e:w.selector=\"#\"+l,ko.utils.extend(w,ko.bindingHandlers.wysiwyg.standardOptions),d&&ko.utils.extend(w,ko.bindingHandlers.wysiwyg.fullOptions),global.setTimeout(function(){s&&console.debug(\"Editor for selector\",l,\"is being inizialized ...\");var e=tinymce.init(w);s&&console.debug(\"Editor for selector\",l,\"init has just been called returning\",e),e.then(function(){s&&console.debug(\"Editor for selector\",l,\"init promise has resolved.\")},function(e){console.log(\"Editor for selector\",l,\"init promise has failed.\",e)})}),ko.computed(function(){var n=ko.utils.unwrapObservable(i());if(!u){try{g=!0,void 0!==a?a.setContent(n,{format:\"raw\"}):ko.utils.setHtml(e,n)}catch(e){console.warn(\"Exception setting content to editable element\",typeof a,e)}g=!1}},null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInd5c2l3eWdzLmpzIl0sIm5hbWVzIjpbInRpbnltY2UiLCJ3aW5kb3ciLCJnbG9iYWwiLCIkIiwialF1ZXJ5Iiwia28iLCJjb25zb2xlIiwicmVxdWlyZSIsImJpbmRpbmdIYW5kbGVycyIsInd5c2l3eWdPckh0bWwiLCJpbml0IiwiZWxlbWVudCIsInZhbHVlQWNjZXNzb3IiLCJhbGxCaW5kaW5nc0FjY2Vzc29yIiwidmlld01vZGVsIiwiYmluZGluZ0NvbnRleHQiLCJ0ZW1wbGF0ZU1vZGUiLCJ2aXJ0dWFsSHRtbCIsInd5c2l3eWciLCJ1cGRhdGUiLCJ2aXJ0dWFsRWxlbWVudHMiLCJhbGxvd2VkQmluZGluZ3MiLCJ3eXNpd3lnSHJlZiIsIm5vZGVUeXBlIiwic2V0QXR0cmlidXRlIiwicmVtb3ZlQXR0cmlidXRlIiwiaXNOb3RXeXNpd3lnTW9kZSIsImF0dHJWYWx1ZSIsInV0aWxzIiwidW53cmFwT2JzZXJ2YWJsZSIsInRvU3RyaW5nIiwid3lzaXd5Z1NyYyIsImNvbnZlcnRlZFVybCIsInNyYyIsIm1ldGhvZCIsIndpZHRoIiwiaGVpZ2h0IiwicXVlcnlQYXJhbVNlcGFyYXRvciIsImluZGV4T2YiLCJwbGFjZWhvbGRlclVybCIsInBsd2lkdGgiLCJwbGhlaWdodCIsInBsdGV4dCIsInZhbHVlIiwicGxhY2Vob2xkZXJWYWx1ZSIsInBsYWNlaG9sZGVyIiwidGV4dCIsInd5c2l3eWdJZCIsInd5c2l3eWdDbGljayIsImNsaWNrIiwid3lzaXd5Z0NzcyIsImNzcyIsInd5c2l3eWdJbWciLCJtYWtlVGVtcGxhdGVWYWx1ZUFjY2Vzc29yIiwiaXNXeXNpd3lnTW9kZSIsIm1vZGVsVmFsdWUiLCJ1bndyYXBwZWRWYWx1ZSIsInBlZWtPYnNlcnZhYmxlIiwibmFtZSIsIl9lZGl0VGVtcGxhdGUiLCJfdGVtcGxhdGUiLCJ0ZW1wbGF0ZUVuZ2luZSIsIm5hdGl2ZVRlbXBsYXRlRW5naW5lIiwiaW5zdGFuY2UiLCJhbGxCaW5kaW5ncyIsInRlbXBsYXRlIiwiZXh0ZW5kIiwiX2NhdGNoaW5nRmlyZSIsImV2ZW50IiwiYXJncyIsInRoaXMiLCJvcmlnaW5hbEZpcmUiLCJhcHBseSIsImFyZ3VtZW50cyIsImUiLCJ3YXJuIiwiZGVidWciLCJnZXRDb250ZW50T3B0aW9ucyIsImZvcm1hdCIsInVzZVRhcmdldCIsImN1cnJlbnRJbmRleCIsInN0YW5kYXJkT3B0aW9ucyIsImluaXRpYWxpemluZ0NsYXNzIiwicmVtb3ZlU2VsZWN0aW9uT25CbHVyIiwiZW1wdHlDbGFzcyIsImZ1bGxPcHRpb25zIiwidG9vbGJhcjEiLCJwbHVnaW5zIiwiZm9jdXNhYmxlIiwic2VsZWN0b3JJZCIsImRvRGVidWciLCJnZXRBdHRyaWJ1dGUiLCJjbGFzc0xpc3QiLCJhZGQiLCJkb21Ob2RlRGlzcG9zYWwiLCJhZGREaXNwb3NlQ2FsbGJhY2siLCJyZW1vdmUiLCJpc09ic2VydmFibGUiLCJpbm5lckhUTUwiLCJ0aGlzRWRpdG9yIiwiZnVsbEVkaXRvciIsInRhZ05hbWUiLCJpc1N1YnNjcmliZXJDaGFuZ2UiLCJpc0VkaXRvckNoYW5nZSIsIm9wdGlvbnMiLCJpbmxpbmUiLCJoaWRkZW5faW5wdXQiLCJ0b29sYmFyMiIsInByZXZpZXdfc3R5bGVzIiwicGFzdGVfYXNfdGV4dCIsImxhbmd1YWdlIiwic2NoZW1hIiwiZXh0ZW5kZWRfdmFsaWRfZWxlbWVudHMiLCJtZW51YmFyIiwic2tpbiIsImZvcmNlZF9yb290X2Jsb2NrIiwiaW5pdF9pbnN0YW5jZV9jYWxsYmFjayIsImVkaXRvciIsImVsZW1lbnRTdHlsZSIsImN1cnJlbnRTdHlsZSIsImRpc3BsYXkiLCJnZXRDb21wdXRlZFN0eWxlIiwic2V0dXAiLCJlbXB0eUNsYXNzSGFuZGxlciIsInRleHRDb250ZW50IiwiaW5uZXJUZXh0IiwidHJpbSIsImxlbmd0aCIsIm9uIiwiZ2V0Q29udGVudCIsIm5vZGVDaGFuZ2VkIiwiZ2V0RWxlbWVudCIsImdldFNlbGVjdGlvbiIsInJlbW92ZUFsbFJhbmdlcyIsImluaXRpYWwiLCJmaXJlIiwidGFyZ2V0Iiwic2VsZWN0b3IiLCJzZXRUaW1lb3V0IiwicmVzIiwidGhlbiIsImZhaWx1cmUiLCJsb2ciLCJjb21wdXRlZCIsImNvbnRlbnQiLCJzZXRDb250ZW50Iiwic2V0SHRtbCIsImRpc3Bvc2VXaGVuTm9kZUlzUmVtb3ZlZCIsImNvbnRyb2xzRGVzY2VuZGFudEJpbmRpbmdzIl0sIm1hcHBpbmdzIjoiQUFBQSxhQUdBLElBQUlBLFFBQTZCLG9CQUFYQyxPQUF5QkEsT0FBZ0JELFFBQXNCLG9CQUFYRSxPQUF5QkEsT0FBZ0JGLFFBQUksS0FDbkhHLEVBQXVCLG9CQUFYRixPQUF5QkEsT0FBZUcsT0FBc0Isb0JBQVhGLE9BQXlCQSxPQUFlRSxPQUFJLEtBQzNHQyxHQUF3QixvQkFBWEosT0FBeUJBLE9BQVdJLEdBQXNCLG9CQUFYSCxPQUF5QkEsT0FBV0csR0FBSSxLQUNwR0MsUUFBVUMsUUFBUSxzQkFDdEJBLFFBQVEsa0JBRVJGLEdBQUdHLGdCQUFnQkMsY0FBZ0IsQ0FDakNDLEtBQU0sU0FBU0MsRUFBU0MsRUFBZUMsRUFBcUJDLEVBQVdDLEdBR3JFLFlBQUEsSUFGK0JBLEVBQWVDLGNBQThELFdBQS9CRCxFQUFlQyxhQUduRlgsR0FBR0csZ0JBQTZCUyxZQUFFUCxPQUVsQ0wsR0FBR0csZ0JBQWdCVSxRQUFRUixLQUFLQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsSUFFbkdJLE9BQVEsU0FBU1IsRUFBU0MsRUFBZUMsRUFBcUJDLEVBQVdDLEdBRXZFLFFBQUEsSUFEK0JBLEVBQWVDLGNBQThELFdBQS9CRCxFQUFlQyxhQUUxRixPQUFPWCxHQUFHRyxnQkFBNkJTLFlBQUVFLE9BQU9SLEVBQVNDLEVBQWVDLEVBQXFCQyxFQUFXQyxLQUs5R1YsR0FBR2UsZ0JBQWdCQyxnQkFBK0JaLGVBQUEsRUFFbERKLEdBQUdHLGdCQUFnQmMsWUFBYyxDQUMvQlosS0FBTSxTQUFTQyxFQUFTQyxFQUFlQyxFQUFxQkMsRUFBV0MsR0FDNUMsSUFBckJKLEVBQVFZLFdBQ0ZYLFNBSVIsSUFGK0JHLEVB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LFdBQzVCLElBQUsxQixFQUNILElBQ0VDLEdBQUFBLEVBU0E1RCxFQUFNMEUsRUFBT1ksV0FBVzVILEdBQUdHLGdCQUFnQlUsUUFBUTJELG9CQUNuRCxNQUFPSCxHQUNQcEUsUUFBUXFFLEtBQUssNkNBQThDYyxFQUFZZixHQUN2RSxRQUNBNkIsR0FBQUEsRUFHQWxHLEdBQUdHLGdCQUFnQlUsUUFBUWtFLFlBQVl1QyxNQUd6Q3RILEdBQUdHLGdCQUFnQlUsUUFBUWtFLFlBQzdCaUMsRUFBT1csR0FBRyxRQUFTLFdBQ2pCTCxNQU1KTixFQUFPVyxHQUFHLFFBQVMsV0FFakJYLEVBQU9hLGNBQ1BiLEVBQU9jLGFBQWFsRixVQUtsQjVDLEdBQUdHLGdCQUFnQlUsUUFBUWlFLHVCQUM3QmtDLEVBQU9XLEdBQUcsT0FBUSxTQUFTNUQsR0FDekJsRSxPQUFPa0ksZUFBZUMsb0JBSzFCaEIsRUFBT1csR0FBRyxtQkFBb0IsU0FBUzNELEdBQ2pDQSxFQUFLaUUsVUFBU2pFLEVBQUtTLE9BQVMsY0FBQSxJQWV2QnVDLEVBQU85QyxlQUNoQjhDLEVBQU85QyxhQUFlOEMsRUFBT2tCLEtBQzdCbEIsRUFBT2tCLEtBQU9wRSxlQUdoQmdDLEVBQWFrQixJQW1EakIsT0E3Q0loSCxHQUFHRyxnQkFBZ0JVLFFBQVE2RCxVQUM3QnlCLEVBQVFnQyxPQUFTN0gsRUFFakI2RixFQUFRaUMsU0FBVyxJQUFNaEQsRUFHM0JwRixHQUFHdUIsTUFBTXNDLE9BQU9zQyxFQUFTbkcsR0FBR0csZ0JBQWdCVSxRQUFRK0QsaUJBQ2hEbUIsR0FBWS9GLEdBQUd1QixNQUFNc0MsT0FBT3NDLEVBQVNuRyxHQUFHRyxnQkFBZ0JVLFFBQVFtRSxhQUtwRW5GLE9BQU93SSxXQUFXLFdBQ1poRCxHQUFTcEYsUUFBUXNFLE1BQU0sc0JBQXVCYSxFQUFZLDRCQUM5RCxJQUFJa0QsRUFBTTNJLFFBQVFVLEtBQUs4RixHQUNuQmQsR0FBU3BGLFFBQVFzRSxNQUFNLHNCQUF1QmEsRUFBWSxzQ0FBdUNrRCxHQUNyR0EsRUFBSUMsS0FBSyxXQUNIbEQsR0FBU3BGLFFBQVFzRSxNQUFNLHNCQUF1QmEsRUFBWSwrQkFDN0QsU0FBU29ELEdBQ1Z2SSxRQUFRd0ksSUFBSSxzQkFBdUJyRCxFQUFZLDJCQUE0Qm9ELE9BSS9FeEksR0FBRzBJLFNBQVMsV0FDVixJQUFJQyxFQUFVM0ksR0FBR3VCLE1BQU1DLGlCQUFpQmpCLEtBQ3hDLElBQUsyRixFQUFnQixDQUNuQixJQUNFRCxHQUFBQSxPQUFxQixJQUdWSCxFQUNUQSxFQUFXOEMsV0FBV0QsRUFBUyxDQUFFbEUsT0FBUSxRQUV6Q3pFLEdBQUd1QixNQUFNc0gsUUFBUXZJLEVBQVNxSSxHQUU1QixNQUFPdEUsR0FDUHBFLFFBQVFxRSxLQUFLLHVEQUF3RHdCLEVBQVl6QixHQUVuRjRCLEdBQUFBLElBRUQsS0FBTSxDQUNQNkMseUJBQTBCeEksSUFJckIsQ0FDTHlJLDRCQUFBQSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9iaW5kaW5ncy93eXNpd3lncy5qcyJ9", + "\"use strict\";var console=require(\"console-browserify\"),checkModel=function(e,o,t,n,l){var i,f,r,a=0;if(void 0===l&&(l=!1),void 0!==o&&\"function\"==typeof o.splice)for(i={},f=0;f0)if(t[p].length>0){var c=0;for(f=0;f=e[p].length){console.log(\"WARN cannot find \",r,t[p][f].type,\" block in reference\"),a=Math.max(a,2);break}a=Math.max(a,checkModel(e[p][c],void 0,t[p][f],r+\"[\"+f+\".\"+t[p][f].type+\"]\"))}}else for(f=0;f=0;l--)if(\"property\"==e[l].type&&e[l].name==t)return _declarationValueUrlPrefixer(e[l].value,r);return null},_propToCamelCase=function(e){return e.replace(/-([a-z])/g,function(e,t,r,l){return t.toUpperCase()})},_declarationValueUrlPrefixer=function(e,t){return e.match(/url\\(.*\\)/)?e.replace(/(url\\()([^\\)]*)(\\))/g,function(e,r,l,i){var n=l.trim(),o=l.trim().charAt(0);\"'\"==o||'\"'==o?n=n.substr(1,n.length-2):o=\"\";var a=t(n);return null!==a?r+o+a+o+i:e}):e},elaborateDeclarations=function(e,t,r,l,i,n,o){var a=\"object\"==typeof n&&null!==n?n:{},u=null,s=0;void 0===t&&(t=cssParse(\"#{\\n\"+e+\"}\",{comments:!0,position:!0}).stylesheet.rules[0].declarations,s=1);for(var d=t.length-1;d>=0;d--)if(\"property\"==t[d].type)if(!0===o&&\"display\"==t[d].name&&\"none\"==t[d].value)null===u&&(u=e),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,\"\");else{var v=t[d].name.match(/^-ko-(bind-|attr-)?([a-z0-9-]*?)(-if|-ifnot)?$/);if(null!==v){null===u&&void 0!==e&&(u=e);var c,f,m,p=\"attr-\"==v[1],y=\"bind-\"==v[1],h=v[2],b=\"-if\"==v[3]||\"-ifnot\"==v[3];if(b){if(c=t[d].name.substr(0,t[d].name.length-v[3].length),null===_declarationValueLookup(t,c,r))throw\"Unable to find declaration \"+c+\" for \"+t[d].name}else{if((p||y)&&void 0===i&&void 0!==e)throw\"Attributes and bind declarations are only allowed in inline styles!\";var S,g=!0;if(p?(m=domutils.getAttribute(i,h),g=!1,S=\"virtualAttr\"):y?(S=null,\"text\"==h?void 0!==i?m=domutils.getInnerText(i):g=!1:\"html\"==h&&void 0!==i?m=domutils.getInnerHtml(i):g=!1):((g=void 0!==e)&&(m=_declarationValueLookup(t,h,r)),S=\"virtualStyle\"),g&&null===m)throw console.error(\"Cannot find default value for\",t[d].name,t),\"Cannot find default value for \"+t[d].name+\": \"+t[d].value+\" in \"+i+\" (\"+typeof e+\"/\"+h+\")\";var w=m,U=y||p?-1!=h.indexOf(\"-\")?\"'\"+h+\"'\":h:_propToCamelCase(h);try{f=converterUtils.expressionBinding(t[d].value,l,w)}catch(e){throw console.error(\"Model ensure path failed\",e.stack,\"name\",t[d].name,\"value\",t[d].value,\"default\",m,\"element\",i),e}null!==S&&void 0===a[S]&&(a[S]={}),\"virtualAttr\"==S&&\"href\"==U&&(S=null,U=\"wysiwygHref\",null!=i&&domutils.removeAttribute(i,\"href\"));var x=_declarationValueLookup(t,t[d].name+\"-if\",r),A=!1;if(null===x)x=_declarationValueLookup(t,t[d].name+\"-ifnot\",r),A=!0;else if(null!==_declarationValueLookup(t,t[d].name+\"-ifnot\",r))throw\"Unexpected error: cannot use both -if and -ifnot property conditions\";if(null!==x)try{f=(A?\"!\":\"\")+\"(\"+converterUtils.conditionBinding(x,l)+\") ? \"+f+\" : null\"}catch(e){throw console.error(\"Unable to deal with -ko style binding condition\",x,t[d].name),e}null!==S?a[S][U]=f:a[U]=f}if(null!==u)try{if(null!=i)u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,\"\");else{var _=\"\";b||(_=h+\": \\x3c!-- ko text: \"+f+\" --\\x3e\"+m+\"\\x3c!-- /ko --\\x3e\"),u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,_)}}catch(e){throw console.warn(\"Remove style failed\",e,\"name\",t[d]),e}}else{var k=_declarationValueUrlPrefixer(t[d].value,r);if(k!=t[d].value&&(null===u&&void 0!==e&&(u=e),null!==u))try{u=converterUtils.removeStyle(u,t[d].position.start,t[d].position.end,s,0,0,t[d].name+\": \"+k)}catch(e){throw console.log(\"Remove style failed replacing url\",e,\"name\",t[d]),e}var C=_propToCamelCase(t[d].name),V=\"virtualAttrStyle\",P=void 0!==a.virtualStyle?a.virtualStyle[C]:void 0,j=\" \";void 0===a[V]&&(a[V]=\"''\",j=\"\"),void 0!==P?(a[V]=\"'\"+t[d].name+\": '+(\"+P+\")+';\"+j+\"'+\"+a[V],delete a.virtualStyle[C]):a[V]=\"'\"+t[d].name+\": \"+converterUtils.addSlashes(k)+\";\"+j+\"'+\"+a[V]}}if(null!=i){for(var z in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(z))throw console.log(\"Unexpected virtualStyle binding after conversion to virtualAttr.style\",z,a.virtualStyle[z],e),\"Unexpected virtualStyle binding after conversion to virtualAttr.style for \"+z;delete a.virtualStyle;var L=domutils.getAttribute(i,\"data-bind\"),q=(null!==L?L+\", \":\"\")+_bindingSerializer(a);\"\"==q?domutils.removeAttribute(i,\"data-bind\"):domutils.setAttribute(i,\"data-bind\",q)}if(void 0===e){var O=!1;for(var T in a.virtualStyle)if(a.virtualStyle.hasOwnProperty(T)){O=!0;break}if(O){if(void 0!==a.virtualAttrStyle){var B=a.virtualAttrStyle;delete a.virtualAttrStyle,a.virtualAttrStyle=B}}else delete a.virtualStyle;return _bindingSerializer(a)}return u},_bindingSerializer=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(\"object\"==typeof e[r]?t.push(r+\": { \"+_bindingSerializer(e[r])+\" }\"):t.push(r+\": \"+e[r]));return t.reverse().join(\", \")};module.exports=elaborateDeclarations;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlY2xhcmF0aW9ucy5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0ZXJVdGlscyIsInJlcXVpcmUiLCJjc3NQYXJzZSIsImNvbnNvbGUiLCJkb211dGlscyIsIl9kZWNsYXJhdGlvblZhbHVlTG9va3VwIiwiZGVjbGFyYXRpb25zIiwicHJvcGVydHluYW1lIiwidGVtcGxhdGVVcmxDb252ZXJ0ZXIiLCJpIiwibGVuZ3RoIiwidHlwZSIsIm5hbWUiLCJfZGVjbGFyYXRpb25WYWx1ZVVybFByZWZpeGVyIiwidmFsdWUiLCJfcHJvcFRvQ2FtZWxDYXNlIiwicHJvcE5hbWUiLCJyZXBsYWNlIiwibWF0Y2giLCJjb250ZW50cyIsIm9mZnNldCIsInMiLCJ0b1VwcGVyQ2FzZSIsIm1hdGNoZWQiLCJwcmVmaXgiLCJ1cmwiLCJwb3N0Zml4IiwidHJpbW1lZCIsInRyaW0iLCJhcGljZSIsImNoYXJBdCIsInN1YnN0ciIsIm5ld1VybCIsImVsYWJvcmF0ZURlY2xhcmF0aW9ucyIsInN0eWxlIiwiYmluZGluZ1Byb3ZpZGVyIiwiZWxlbWVudCIsImJhc2ljQmluZGluZ3MiLCJyZW1vdmVEaXNwbGF5Tm9uZSIsIm5ld0JpbmRpbmdzIiwibmV3U3R5bGUiLCJza2lwTGluZXMiLCJjb21tZW50cyIsInBvc2l0aW9uIiwic3R5bGVzaGVldCIsInJ1bGVzIiwicmVtb3ZlU3R5bGUiLCJzdGFydCIsImVuZCIsImRlY2wiLCJjb25kRGVjbCIsImJpbmRWYWx1ZSIsInByb3BEZWZhdWx0VmFsdWUiLCJpc0F0dHIiLCJpc0JpbmQiLCJpc0lmIiwiYmluZFR5cGUiLCJuZWVkRGVmYXVsdFZhbHVlIiwiZ2V0QXR0cmlidXRlIiwiZ2V0SW5uZXJUZXh0IiwiZ2V0SW5uZXJIdG1sIiwiZXJyb3IiLCJiaW5kRGVmYXVsdFZhbHVlIiwiYmluZE5hbWUiLCJpbmRleE9mIiwiZXhwcmVzc2lvbkJpbmRpbmciLCJlIiwic3RhY2siLCJyZW1vdmVBdHRyaWJ1dGUiLCJkZWNsYXJhdGlvbkNvbmRpdGlvbiIsIm5vdCIsImNvbmRpdGlvbkJpbmRpbmciLCJyZXBsYWNlZFdpdGgiLCJ3YXJuIiwicmVwbGFjZWRWYWx1ZSIsImxvZyIsImJpbmROYW1lMiIsImJpbmQiLCJiaW5kVmFsMiIsInZpcnR1YWxTdHlsZSIsImRpc3QiLCJhZGRTbGFzaGVzIiwicHJvcCIsImhhc093blByb3BlcnR5IiwiY3VycmVudEJpbmRpbmdzIiwiZGF0YUJpbmQiLCJfYmluZGluZ1NlcmlhbGl6ZXIiLCJzZXRBdHRyaWJ1dGUiLCJoYXNWaXJ0dWFsU3R5bGUiLCJwcm9wMSIsInZpcnR1YWxBdHRyU3R5bGUiLCJ2cyIsInZhbCIsInJlcyIsInB1c2giLCJyZXZlcnNlIiwiam9pbiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBLGFBTUEsSUFBSUEsZUFBaUJDLFFBQVEsY0FDekJDLFNBQVdELFFBQVEsd0JBQ25CRSxRQUFVRixRQUFRLHNCQUNsQkcsU0FBV0gsUUFBUSxpQkFFbkJJLHdCQUEwQixTQUFTQyxFQUFjQyxFQUFjQyxHQUNqRSxJQUFLLElBQUlDLEVBQUlILEVBQWFJLE9BQVMsRUFBR0QsR0FBSyxFQUFHQSxJQUM1QyxHQUE0QixZQUF4QkgsRUFBYUcsR0FBR0UsTUFBc0JMLEVBQWFHLEdBQUdHLE1BQVFMLEVBQ2hFLE9BQU9NLDZCQUE2QlAsRUFBYUcsR0FBR0ssTUFBT04sR0FHL0QsT0FBTyxNQUdMTyxpQkFBbUIsU0FBU0MsR0FDOUIsT0FBT0EsRUFBU0MsUUFBUSxZQUFhLFNBQVNDLEVBQU9DLEVBQVVDLEVBQVFDLEdBQ3JFLE9BQU9GLEVBQVNHLGlCQUloQlQsNkJBQStCLFNBQVNDLEVBQU9OLEdBQ2pELE9BQUlNLEVBQU1JLE1BQU0sYUFDQ0osRUFBTUcsUUFBUSx1QkFBd0IsU0FBU00sRUFBU0MsRUFBUUMsRUFBS0MsR0FDbEYsSUFBSUMsRUFBVUYsRUFBSUcsT0FDZEMsRUFBUUosRUFBSUcsT0FBT0UsT0FBTyxHQUNqQixLQUFURCxHQUEwQixLQUFUQSxFQUNuQkYsRUFBVUEsRUFBUUksT0FBTyxFQUFHSixFQUFRakIsT0FBUyxHQUU3Q21CLEVBQVEsR0FFVixJQUFJRyxFQUFTeEIsRUFBcUJtQixHQUNsQyxPQUFlLE9BQVhLLEVBQ0tSLEVBQVNLLEVBQVFHLEVBQVNILEVBQVFILEVBRWxDSCxJQUtKVCxHQUlQbUIsc0JBQXdCLFNBQVNDLEVBQU81QixFQUFjRSxFQUFzQjJCLEVBQWlCQyxFQUFTQyxFQUFlQyxHQUN2SCxJQUFJQyxFQUFzQyxpQkFBakJGLEdBQStDLE9BQWxCQSxFQUF5QkEsRUFBZ0IsR0FDM0ZHLEVBQVcsS0FDWEMsRUFBWSxPQUFBLElBQ0xuQyxJQUtUQSxFQUppQkosU0FBUyxPQUFTZ0MsRUFBUSxJQUFLLENBQzlDUSxVQUFBQSxFQUNBQyxVQUFBQSxJQUV3QkMsV0FBV0MsTUFBTSxHQUFHdkMsYUFDOUNtQyxFQUFZLEdBRWQsSUFBSyxJQUFJaEMsRUFBSUgsRUFBYUksT0FBUyxFQUFHRCxHQUFLLEVBQUdBLElBQzVDLEdBQTRCLFlBQXhCSCxFQUFhRyxHQUFHRSxLQUNsQixJQUFBLElBQUkyQixHQUFzRCxXQUF4QmhDLEVBQWFHLEdBQUdHLE1BQThDLFFBQXpCTixFQUFhRyxHQUFHSyxNQUNwRSxPQUFiMEIsSUFBbUJBLEVBQVdOLEdBQ2xDTSxFQUFXeEMsZUFBZThDLFlBQVlOLEVBQVVsQyxFQUFhRyxHQUFHa0MsU0FBU0ksTUFBT3pDLEVBQWFHLEdBQUdrQyxTQUFTSyxJQUFLUCxFQUFXLEVBQUcsRUFBRyxRQUMxSCxDQUNMLElBQUlRLEVBQU8zQyxFQUFhRyxHQUFHRyxLQUFLTSxNQUFNLGtEQUN0QyxHQUFhLE9BQVQrQixFQUFlLENBRUEsT0FBYlQsUUFBQUEsSUFBNEJOLElBQXNCTSxFQUFXTixHQUVqRSxJQUtJZ0IsRUFDQUMsRUFDQUMsRUFQQUMsRUFBb0IsU0FBWEosRUFBSyxHQUNkSyxFQUFvQixTQUFYTCxFQUFLLEdBQ2RqQyxFQUFXaUMsRUFBSyxHQUVoQk0sRUFBa0IsT0FBWE4sRUFBSyxJQUEwQixVQUFYQSxFQUFLLEdBS3BDLEdBQUlNLEdBR0YsR0FGQUwsRUFBVzVDLEVBQWFHLEdBQUdHLEtBQUttQixPQUFPLEVBQUd6QixFQUFhRyxHQUFHRyxLQUFLRixPQUFTdUMsRUFBSyxHQUFHdkMsUUFFakQsT0FERkwsd0JBQXdCQyxFQUFjNEMsRUFBVTFDLEdBQ3hDLEtBQU0sOEJBQWdDMEMsRUFBVyxRQUFVNUMsRUFBYUcsR0FBR0csU0FDM0csQ0FFTCxJQUFLeUMsR0FBVUMsU0FBQUEsSUFBbUJsQixRQUFBQSxJQUFpQ0YsRUFBdUIsS0FBTSxzRUFFaEcsSUFDSXNCLEVBREFDLEdBQUFBLEVBNkJKLEdBM0JJSixHQUNGRCxFQUFtQmhELFNBQVNzRCxhQUFhdEIsRUFBU3BCLEdBQ2xEeUMsR0FBQUEsRUFDQUQsRUFBVyxlQUNERixHQUtWRSxFQUFXLEtBQ0ssUUFBWnhDLE9BQUFBLElBQ1NvQixFQUNUZ0IsRUFBbUJoRCxTQUFTdUQsYUFBYXZCLEdBRXpDcUIsR0FBQUEsRUFFbUIsUUFBWnpDLFFBQUFBLElBQ0VvQixFQUNUZ0IsRUFBbUJoRCxTQUFTd0QsYUFBYXhCLEdBSzNDcUIsR0FBQUEsS0FsQkZBLE9BQUFBLElBQTBCdkIsS0FDSmtCLEVBQW1CL0Msd0JBQXdCQyxFQUFjVSxFQUFVUixJQUN6RmdELEVBQVcsZ0JBb0JUQyxHQUF5QyxPQUFyQkwsRUFFdEIsTUFEQWpELFFBQVEwRCxNQUFNLGdDQUFpQ3ZELEVBQWFHLEdBQUdHLEtBQU1OLEdBQy9ELGlDQUFtQ0EsRUFBYUcsR0FBR0csS0FBTyxLQUFPTixFQUFhRyxHQUFHSyxNQUFRLE9BQVNzQixFQUFVLFlBQWNGLEVBQVEsSUFBTWxCLEVBQVcsSUFFM0osSUFBSThDLEVBQW1CVixFQUVuQlcsRUFBWVQsR0FBV0QsR0FBaUUsR0FBMUJyQyxFQUFTZ0QsUUFBUSxLQUFhLElBQUtoRCxFQUFTLElBQU9BLEVBQWpGRCxpQkFBaUJDLEdBRXJELElBQ0VtQyxFQUFZbkQsZUFBZWlFLGtCQUFrQjNELEVBQWFHLEdBQUdLLE1BQU9xQixFQUFpQjJCLEdBQ3JGLE1BQU9JLEdBRVAsTUFEQS9ELFFBQVEwRCxNQUFNLDJCQUE0QkssRUFBRUMsTUFBTyxPQUFRN0QsRUFBYUcsR0FBR0csS0FBTSxRQUFTTixFQUFhRyxHQUFHSyxNQUFPLFVBQVdzQyxFQUFrQixVQUFXaEIsR0FDbko4QixFQUdTLE9BQWJWLFFBQUFBLElBQTRCakIsRUFBWWlCLEtBQTBCakIsRUFBWWlCLEdBQVksSUFJOUUsZUFBWkEsR0FBeUMsUUFBWk8sSUFDL0JQLEVBQVcsS0FDWE8sRUFBVyxjQUVQLE1BQU8zQixHQUNUaEMsU0FBU2dFLGdCQUFnQmhDLEVBQVMsU0FNdEMsSUFBSWlDLEVBQXVCaEUsd0JBQXdCQyxFQUFjQSxFQUFhRyxHQUFHRyxLQUFPLE1BQU9KLEdBQzNGOEQsR0FBQUEsRUFDSixHQUE2QixPQUF6QkQsRUFDRkEsRUFBdUJoRSx3QkFBd0JDLEVBQWNBLEVBQWFHLEdBQUdHLEtBQU8sU0FBVUosR0FDOUY4RCxHQUFBQSxPQUVBLEdBQXFHLE9BQWpHakUsd0JBQXdCQyxFQUFjQSxFQUFhRyxHQUFHRyxLQUFPLFNBQVVKLEdBQ3pFLEtBQU0sdUVBR1YsR0FBNkIsT0FBekI2RCxFQUNGLElBRUVsQixHQUFhbUIsRUFBTSxJQUFNLElBQU0sSUFEYnRFLGVBQWV1RSxpQkFBaUJGLEVBQXNCbEMsR0FDckIsT0FBU2dCLEVBQVksVUFDeEUsTUFBT2UsR0FFUCxNQURBL0QsUUFBUTBELE1BQU0sa0RBQW1EUSxFQUFzQi9ELEVBQWFHLEdBQUdHLE1BQ2pHc0QsRUFJTyxPQUFiVixFQUFtQmpCLEVBQVlpQixHQUFVTyxHQUFZWixFQUNwRFosRUFBWXdCLEdBQVlaLEVBSS9CLEdBQWlCLE9BQWJYLEVBRUYsSUFFRSxHQUFJLE1BQU9KLEVBQ1RJLEVBQVd4QyxlQUFlOEMsWUFBWU4sRUFBVWxDLEVBQWFHLEdBQUdrQyxTQUFTSSxNQUFPekMsRUFBYUcsR0FBR2tDLFNBQVNLLElBQUtQLEVBQVcsRUFBRyxFQUFHLFFBQzFILENBRUwsSUFBSStCLEVBQWUsR0FFZGpCLElBQU1pQixFQUFleEQsRUFBVyxzQkFBcUJtQyxFQUFZLFVBQVNDLEVBQW1CLHNCQUNsR1osRUFBV3hDLGVBQWU4QyxZQUFZTixFQUFVbEMsRUFBYUcsR0FBR2tDLFNBQVNJLE1BQU96QyxFQUFhRyxHQUFHa0MsU0FBU0ssSUFBS1AsRUFBVyxFQUFHLEVBQUcrQixJQUVqSSxNQUFPTixHQUVQLE1BREEvRCxRQUFRc0UsS0FBSyxzQkFBdUJQLEVBQUcsT0FBUTVELEVBQWFHLElBQ3REeUQsT0FLTCxDQUVMLElBQUlRLEVBQWdCN0QsNkJBQTZCUCxFQUFhRyxHQUFHSyxNQUFPTixHQUN4RSxHQUFJa0UsR0FBaUJwRSxFQUFhRyxHQUFHSyxRQUNsQixPQUFiMEIsUUFBQUEsSUFBNEJOLElBQXVCTSxFQUFXTixHQUNqRCxPQUFiTSxHQUNGLElBQ0VBLEVBQVd4QyxlQUFlOEMsWUFBWU4sRUFBVWxDLEVBQWFHLEdBQUdrQyxTQUFTSSxNQUFPekMsRUFBYUcsR0FBR2tDLFNBQVNLLElBQUtQLEVBQVcsRUFBRyxFQUFHbkMsRUFBYUcsR0FBR0csS0FBTyxLQUFPOEQsR0FDN0osTUFBT1IsR0FFUCxNQURBL0QsUUFBUXdFLElBQUksb0NBQXFDVCxFQUFHLE9BQVE1RCxFQUFhRyxJQUNuRXlELEVBTVosSUFBSVUsRUFBWTdELGlCQUFpQlQsRUFBYUcsR0FBR0csTUFDN0NpRSxFQUFPLG1CQUNQQyxPQUFBQSxJQUFrQnZDLEVBQTBCd0MsYUFBb0J4QyxFQUEwQndDLGFBQUVILFFBQUFBLEVBRTVGSSxFQUFPLFNBQUEsSUFDQXpDLEVBQVlzQyxLQUNyQnRDLEVBQVlzQyxHQUFRLEtBQ3BCRyxFQUFPLFNBQUEsSUFHRUYsR0FDVHZDLEVBQVlzQyxHQUFRLElBQU12RSxFQUFhRyxHQUFHRyxLQUFPLFFBQVVrRSxFQUFXLE9BQVNFLEVBQU8sS0FBT3pDLEVBQVlzQyxVQUNsR3RDLEVBQTBCd0MsYUFBRUgsSUFFbkNyQyxFQUFZc0MsR0FBUSxJQUFNdkUsRUFBYUcsR0FBR0csS0FBTyxLQUFPWixlQUFlaUYsV0FBV1AsR0FBaUIsSUFBTU0sRUFBTyxLQUFPekMsRUFBWXNDLElBTzdJLEdBQUksTUFBT3pDLEVBQTRDLENBQ3JELElBQUssSUFBSThDLEtBQVEzQyxFQUEwQndDLGFBQ3pDLEdBQUl4QyxFQUEwQndDLGFBQUVJLGVBQWVELEdBRTdDLE1BREEvRSxRQUFRd0UsSUFBSSx3RUFBeUVPLEVBQU0zQyxFQUEwQndDLGFBQUVHLEdBQU9oRCxHQUN4SCw2RUFBK0VnRCxTQUVsRjNDLEVBQTBCd0MsYUFFakMsSUFBSUssRUFBa0JoRixTQUFTc0QsYUFBYXRCLEVBQVMsYUFDakRpRCxHQUFnQyxPQUFwQkQsRUFBMkJBLEVBQWtCLEtBQU8sSUFBTUUsbUJBQW1CL0MsR0FDN0UsSUFBWjhDLEVBQWdCakYsU0FBU2dFLGdCQUFnQmhDLEVBQVMsYUFDakRoQyxTQUFTbUYsYUFBYW5ELEVBQVMsWUFBYWlELEdBSW5ELFFBQUEsSUFBV25ELEVBQXNCLENBRS9CLElBQUlzRCxHQUFBQSxFQUNKLElBQUssSUFBSUMsS0FBU2xELEVBQTBCd0MsYUFDMUMsR0FBSXhDLEVBQTBCd0MsYUFBRUksZUFBZU0sR0FBUSxDQUNyREQsR0FBQUEsRUFDQSxNQUVKLEdBQUtBLEdBR0gsUUFBQSxJQUFXakQsRUFBOEJtRCxpQkFBbUIsQ0FDMUQsSUFBSUMsRUFBS3BELEVBQThCbUQsd0JBQ2hDbkQsRUFBOEJtRCxpQkFDckNuRCxFQUE4Qm1ELGlCQUFJQyxlQU5UcEQsRUFBMEJ3QyxhQVV2RCxPQUFPTyxtQkFBbUIvQyxHQUc1QixPQUFPQyxHQUdMOEMsbUJBQXFCLFNBQVNNLEdBQ2hDLElBQUlDLEVBQU0sR0FDVixJQUFLLElBQUlYLEtBQVFVLEVBQ1hBLEVBQUlULGVBQWVELEtBQ0csaUJBQWJVLEVBQUlWLEdBQW1CVyxFQUFJQyxLQUFLWixFQUFPLE9BQWNJLG1CQUFtQk0sRUFBSVYsSUFBUyxNQUMzRlcsRUFBSUMsS0FBS1osRUFBTyxLQUFPVSxFQUFJVixLQUVwQyxPQUFPVyxFQUFJRSxVQUFVQyxLQUFLLE9BRzVCQyxPQUFPQyxRQUFVakUiLCJmaWxlIjoiL3Jvb3QvbW9zYWljby9zcmMvanMvY29udmVydGVyL2RlY2xhcmF0aW9ucy5qcyJ9", + "\"use strict\";var $=\"undefined\"!=typeof window?window.jQuery:\"undefined\"!=typeof global?global.jQuery:null;function _extend(e,t){if(t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var objExtend=function(e,t){return\"function\"==typeof $.extend?$.extend(!0,e,t):_extend(e,JSON.parse(JSON.stringify(t)))},getAttribute=function(e,t){var n=$(e).attr(t);return void 0===n&&(n=null),n},setAttribute=function(e,t,n){$(e).attr(t,n)},removeAttribute=function(e,t){$(e).removeAttr(t)},getInnerText=function(e){return $(e).text()},getInnerHtml=function(e){return $(e).html()},getLowerTagName=function(e){return\"\"===e.tagName&&\"string\"==typeof e.name?e.name.toLowerCase():\"\"!==e.tagName?e.tagName.toLowerCase():$(e).prop(\"tagName\").toLowerCase()},setContent=function(e,t){$(e).html(t)},replaceHtml=function(e,t){$(e).replaceWith(t)},removeElements=function(e,t){t&&void 0!==e.detach&&e.detach(),e.remove()};module.exports={getAttribute:getAttribute,setAttribute:setAttribute,removeAttribute:removeAttribute,getInnerText:getInnerText,getInnerHtml:getInnerHtml,getLowerTagName:getLowerTagName,setContent:setContent,replaceHtml:replaceHtml,removeElements:removeElements,objExtend:objExtend};\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvbXV0aWxzLmpzIl0sIm5hbWVzIjpbIiQiLCJ3aW5kb3ciLCJqUXVlcnkiLCJnbG9iYWwiLCJfZXh0ZW5kIiwidGFyZ2V0Iiwic291cmNlIiwicHJvcCIsImhhc093blByb3BlcnR5Iiwib2JqRXh0ZW5kIiwib2JqIiwiZXh0ZW5kZXIiLCJleHRlbmQiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJnZXRBdHRyaWJ1dGUiLCJlbGVtZW50IiwiYXR0cmlidXRlIiwicmVzIiwiYXR0ciIsInNldEF0dHJpYnV0ZSIsInZhbHVlIiwicmVtb3ZlQXR0cmlidXRlIiwicmVtb3ZlQXR0ciIsImdldElubmVyVGV4dCIsInRleHQiLCJnZXRJbm5lckh0bWwiLCJodG1sIiwiZ2V0TG93ZXJUYWdOYW1lIiwidGFnTmFtZSIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInNldENvbnRlbnQiLCJjb250ZW50IiwicmVwbGFjZUh0bWwiLCJyZXBsYWNlV2l0aCIsInJlbW92ZUVsZW1lbnRzIiwiJGVsZW1lbnRzIiwidHJ5RGV0YWNoIiwiZGV0YWNoIiwicmVtb3ZlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUEsYUFNQSxJQUFJQSxFQUF1QixvQkFBWEMsT0FBeUJBLE9BQWVDLE9BQXNCLG9CQUFYQyxPQUF5QkEsT0FBZUQsT0FBSSxLQUUvRyxTQUFTRSxRQUFRQyxFQUFRQyxHQUN2QixHQUFJQSxFQUNGLElBQUssSUFBSUMsS0FBUUQsRUFDWEEsRUFBT0UsZUFBZUQsS0FDeEJGLEVBQU9FLEdBQVFELEVBQU9DLElBSTVCLE9BQU9GLEVBR1QsSUFBSUksVUFBWSxTQUFTQyxFQUFLQyxHQUM1QixNQUF1QixtQkFBWlgsRUFBRVksT0FDSlosRUFBRVksUUFBQUEsRUFBYUYsRUFBS0MsR0FFcEJQLFFBQVFNLEVBQUtHLEtBQUtDLE1BQU1ELEtBQUtFLFVBQVVKLE1BSTlDSyxhQUFlLFNBQVNDLEVBQVNDLEdBQ25DLElBQUlDLEVBQU1uQixFQUFFaUIsR0FBU0csS0FBS0YsR0FFMUIsWUFBQSxJQURXQyxJQUFvQkEsRUFBTSxNQUM5QkEsR0FJTEUsYUFBZSxTQUFTSixFQUFTQyxFQUFXSSxHQUM5Q3RCLEVBQUVpQixHQUFTRyxLQUFLRixFQUFXSSxJQUl6QkMsZ0JBQWtCLFNBQVNOLEVBQVNDLEdBQ3RDbEIsRUFBRWlCLEdBQVNPLFdBQVdOLElBSXBCTyxhQUFlLFNBQVNSLEdBQzFCLE9BQU9qQixFQUFFaUIsR0FBU1MsUUFLaEJDLGFBQWUsU0FBU1YsR0FDMUIsT0FBT2pCLEVBQUVpQixHQUFTVyxRQUloQkMsZ0JBQWtCLFNBQVNaLEdBSTdCLE1BQXdCLEtBQXBCQSxFQUFRYSxTQUF5QyxpQkFBaEJiLEVBQVFjLEtBQXlCZCxFQUFRYyxLQUFLQyxjQUMzRCxLQUFwQmYsRUFBUWEsUUFBdUJiLEVBQVFhLFFBQVFFLGNBQzVDaEMsRUFBRWlCLEdBQVNWLEtBQUssV0FBV3lCLGVBSWhDQyxXQUFhLFNBQVNoQixFQUFTaUIsR0FDakNsQyxFQUFFaUIsR0FBU1csS0FBS00sSUFJZEMsWUFBYyxTQUFTbEIsRUFBU1csR0FDbEM1QixFQUFFaUIsR0FBU21CLFlBQVlSLElBSXJCUyxlQUFpQixTQUFTQyxFQUFXQyxHQUNuQ0EsUUFBQUEsSUFBb0JELEVBQVVFLFFBQXdCRixFQUFVRSxTQUVwRUYsRUFBVUcsVUFHWkMsT0FBT0MsUUFBVSxDQUNmM0IsYUFBY0EsYUFDZEssYUFBY0EsYUFDZEUsZ0JBQWlCQSxnQkFDakJFLGFBQWNBLGFBQ2RFLGFBQWNBLGFBQ2RFLGdCQUFpQkEsZ0JBQ2pCSSxXQUFZQSxXQUNaRSxZQUFhQSxZQUNiRSxlQUFnQkEsZUFDaEI1QixVQUFXQSIsImZpbGUiOiIvcm9vdC9tb3NhaWNvL3NyYy9qcy9jb252ZXJ0ZXIvZG9tdXRpbHMuanMifQ==", + "\"use strict\";var console=require(\"console-browserify\"),elaborateDeclarations=require(\"./declarations.js\"),utils=require(\"./utils.js\"),modelDef=require(\"./model.js\"),_getOptionsObject=function(e){for(var t=e.split(\"|\"),o={},i=0;i1?l[1].trim():l[0].trim()}return o},_filterProps=function(e,t,o){var i=[];for(var l in e)if(!l.match(/^customStyle$/)&&!l.match(/^_/)&&e.hasOwnProperty(l)){var a=null!==e[l]&&void 0!==e[l]._category&&\"style\"==e[l]._category;\"id\"==l||\"type\"==l||l.match(/Blocks$/)||(\"styler\"==t?(a||o>0)&&i.push(l):\"edit\"==t?null!==e[l]&&void 0!==e[l]._category&&\"content\"==e[l]._category&&(void 0===e[l]._context||\"block\"!=e[l]._context)&&i.push(l):void 0===t&&i.push(l))}return i},_propInput=function(e,t,o,i,l){var a,n=\"\";if(null!==e&&void 0!==e._widget&&(a=e._widget),void 0===a)throw\"Unknown data type for \"+t;var s=\"focusable: true\";if(\"edit\"==i&&(s+=\", event: { focus: function(ui, event) { $($element).click(); } } \"),n+='\"},_getGlobalStyleProp=function(e,t,o,i){var l;return\"object\"==typeof t&&null!==t&&void 0===t._widget||void 0!==o&&void 0!==i&&i.length>0&&\"object\"==typeof e&&void 0!==e[i]&&(l=e[i]),l},_propEditor=function(e,t,o,i,l,a,n,s,d,r,c,p,v,u,b){if(void 0===d&&(d=0),void 0!==n&&\"object\"==typeof i&&null!==i&&void 0===i._usecount)return\"function\"==typeof console.debug&&console.debug(\"Ignoring\",a,\"property because it is not used by the template\",\"prop:\",n,\"type:\",s,\"level:\",d,e._templateName),\"\";var h,f=void 0!==p?n+\"._defaultComputed\":n,m=\"\",g=f,_=1,y=1;if(\"object\"==typeof i&&null!==i&&void 0===i._widget||void 0===p&&(_+=1),void 0===p&&void 0!==r&&(y+=r),void 0!==n&&v&&(m+=\"\\x3c!-- ko ifSubs: { data: \"+g+\", threshold: \"+y+\", gutter: \"+_+\" } --\\x3e\"),void 0===n||null!==i&&void 0!==i._name||console.log(\"Missing label for property \",n),void 0===n&&null!==i&&void 0===i._name&&\"theme\"!==i.type&&console.log(\"Missing label for object \",i.type),\"object\"==typeof i&&null!==i&&void 0===i._widget){var k=_filterProps(i,s,d),x=\"styler\"==s&&null!==i&&void 0!==i.customStyle&&void 0!==p,S=\"\",w=\"\";void 0!==n&&\"edit\"==s&&(S=\", click: function(obj, evt) { $root.selectItem(\"+n+\", $data); return false }, clickBubble: false, css: { selecteditem: $root.isSelectedItem(\"+n+\") }, scrollIntoView: $root.isSelectedItem(\"+n+\"), \",w+=\" selectable\"),x&&(w+=\" supportsCustomStyles\"),m+='
';var $,j,D,B=null!==i&&void 0!==i._name?i._name:void 0!==n?\"[\"+n+\"]\":\"\";if(x){var E=\"Stile\";null!=l&&void 0!==l._name?E=l._name:console.log(\"Missing label for theme section \",n,null!==i?i.type:\"-\"),B=\"Block\"}else B=\"\"+B+\"\";m+=\"'+B+\"\",\"edit\"==s&&void 0!==i._blockDescription&&(m+=\"
\"+i._blockDescription+\"
\"),x&&(m+='\",m+=\"\\x3c!-- ko template: { name: 'customstyle', if: customStyle } --\\x3e\\x3c!-- /ko --\\x3e\"),void 0!==n&&(m+=\"\\x3c!-- ko with: \"+n+\" --\\x3e\",1==d&&void 0!==n&&void 0!==i._previewBindings&&void 0!==e&&(void 0!==u&&(m+='\\x3c!-- ko with: $root.content() --\\x3e
\\x3c!-- /ko --\\x3e'),void 0!==b&&(m+='\\x3c!-- ko with: $parent --\\x3e
\\x3c!-- /ko --\\x3e'),m+='
')),0===d&&void 0!==i._previewBindings&&($=elaborateDeclarations(void 0,i._previewBindings,o,e.bind(this,a.length>0?a+\".\":\"\")));var C,I=m.length;for(j=0;j0?a+\".\"+k[j]:k[j],\"object\"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget||(C=void 0,0===d&&\"theme\"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));for(j=0;j0?a+\".\"+k[j]:k[j],\"object\"==typeof i[k[j]]&&null!==i[k[j]]&&void 0===i[k[j]]._widget&&(C=void 0,0===d&&\"theme\"==k[j]?m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,0,r,void 0,void 0,v,u):(C=_getGlobalStyleProp(c,i[k[j]],k[j],D),m+=_propEditor(e,t,o,i[k[j]],void 0,D,k[j],s,d+1,r,c,C,v,u,$)));if(0==m.length-I){if(\"object\"==typeof i&&null!==i&&\"template\"==i._context)return\"\";m+='
Selected element has no editable properties
'}void 0!==n&&(m+=\"\\x3c!-- /ko --\\x3e\"),m+=\"
\"}else{var P=!0;if(void 0===c&&(P=!1),null===i||\"object\"!=typeof i||void 0!==i._widget){var M=[];void 0!==p&&M.push(\"css: { notnull: \"+n+\"() !== null }\"),(h=null!==i&&void 0!==i._help?' title=\"'+utils.addSlashes(i._help)+\"\\\" data-bind=\\\"attr: { title: $root.ut('template', '\"+utils.addSlashes(i._help)+\"') }\\\"\":\"\").length>0&&M.push(\"tooltips: {}\"),m+='
0?'data-bind=\"'+utils.addSlashes(M.join())+'\"':\"\")+\">\";var T=null!==i&&void 0!==i._name?i._name:void 0!==n?\"[\"+n+\"]\":\"\";m+=\"'+(T=\"\"+T+\"\")+\"\",m+='
',m+=_propInput(i,n,f,s,t),m+=\"
\",void 0!==p&&(m+='
',m+=_propInput(i,n,p,s,t),m+=\"
\",P&&(m+='
\")),m+=\"
\"}else m+=null===i||\"object\"!=typeof i?'
[A|'+n+\"|\"+typeof i+\"]
\":'
[B|'+n+\"|\"+typeof i+\"]
\"}return void 0!==n&&v&&(m+=\"\\x3c!-- /ko --\\x3e\",m+=\"\\x3c!-- ko ifSubs: { not: true, data: \"+g+\", threshold: \"+y+\", gutter: 0 } --\\x3e\",m+='('+n+\")\",m+=\"\\x3c!-- /ko --\\x3e\"),m},createBlockEditor=function(e,t,o,i,l,a,n,s,d,r,c,p){void 0===c&&(c=!0);var v,u=modelDef.getDef(e,a),b=modelDef.getDef(e,l);void 0!==b._previewBindings&&\"thaeme\"!=a&&\"styler\"==n&&(v=elaborateDeclarations(void 0,b._previewBindings,i,modelDef.getBindValue.bind(void 0,e,o,l,l,\"\")));var h,f=void 0!==r&&r?e[a]._globalStyles:void 0,m=void 0!==r&&r?e[a]._globalStyle:void 0;void 0!==m&&(h=modelDef.getDef(e,\"theme\")[m.replace(/^(\\$theme|_theme_)\\./,\"\")]);var g=modelDef.getBindValue.bind(void 0,e,o,l,a);g._templateName=a;var _='
';_+='
'+u.type+\"
\";var y=_propEditor(g,t,i,u,h,\"\",void 0,n,p,d,f,m,c,v);y.length>0&&(_+=y),s(_+=\"
\",a,n)},createBlockEditors=function(e,t,o,i,l,a,n,s){createBlockEditor(e,t,o,i,l,a,\"edit\",n,s),createBlockEditor(e,t,o,i,l,a,\"styler\",n,s,!0)},generateEditors=function(e,t,o,i,l){var a,n=e._defs,s=e.templateName,d=e._blocks,r=[];for(a=0;a0&&a.push(n[d]);t[o]=a}else\"string\"==typeof t[o]||\"boolean\"==typeof t[o]?t[o]=l:\"object\"==typeof t[o]&&null!==t[o]&&void 0!==t[o]._widget?(\"object\"==typeof l&&null!==l&&console.log(\"objectvalue\",o,t[o]._widget,l),t[o]=l):console.log(\"setting\",typeof t[o],t[o],o,l);else{var f=o.substr(0,r);_valueSet(e,t[f],o.substr(r+1),l)}},_modelCreateOrUpdateBlockDef=function(e,t,o,l){if(void 0!==e[t]&&e[t]._initialized&&!e[t]._writeable)throw console.log(\"_modelCreateOrUpdateBlockDef\",e,t,o,l),\"Trying to alter non writeable model: \"+t+\" / \"+o;if(void 0===e[t]&&(e[t]={_writeable:!0},void 0===l&&(l={}),void 0===l.category&&void 0===e[t]._category&&(t.match(/(^t|.T)heme$/)||t.match(/(^s|.S)tyle$/)||t.match(/(^c|.C)olor$/)||t.match(/(^r|.R)adius$/)?l.category=\"style\":l.category=\"content\")),void 0!==l){if(void 0!==l.name&&(e[t]._name=l.name),void 0!==l.themeOverride&&(e[t]._themeOverride=l.themeOverride),void 0!==l.globalStyle){e[t]._globalStyle=l.globalStyle;var r=l.globalStyle.replace(/^(\\$theme|_theme_)\\./,\"\"),n=r.indexOf(\".\"),i=-1!=n?r.substr(0,n):r;_modelCreateOrUpdateBlockDef(e,\"theme\",i),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,\"customStyle=false\")}void 0!==l.contextName&&(e[t]._context=l.contextName,\"block\"==l.contextName&&void 0===e[t]._globalStyle&&(e[t]._globalStyle=\"_theme_.bodyTheme\",_modelCreateOrUpdateBlockDef(e,\"theme\",\"bodyTheme\"),(void 0===e[t]._themeOverride||e[t]._themeOverride)&&_modelCreateOrUpdateBlockDef(e,t,\"customStyle=false\"))),void 0!==l.extend&&(e[t].type=l.extend)}for(var a in l)l.hasOwnProperty(a)&&void 0!==l[a]&&-1==[\"name\",\"extend\",\"contextName\",\"globalStyle\",\"themeOverride\"].indexOf(a)&&(e[t][\"_\"+a]=l[a]);void 0!==o&&o.length>0&&(e[t]._props=void 0!==e[t]._props&&e[t]._props.length>0?e[t]._props+\" \"+o:o)},_removePrefix=function(e){var t=e.match(/^[^A-Z]+([A-Z])(.*)$/);return null!==t?t[1].toLowerCase()+t[2]:null},_generateModelFromDef=function(e,t){var o={};for(var l in e)if(!l.match(/^_.*/)&&e.hasOwnProperty(l)){var r=e[l];if(\"object\"==typeof r&&null!==r&&void 0!==r._complex&&r._complex)o[l]=_generateModelFromDef(r,t);else if(\"type\"==l)o[l]=r;else{if(\"object\"!=typeof r)throw console.error(\"Unexpected model def\",l,r,e),\"Unexpected model def [\"+l+\"]=\"+r;o[l]=null}}if(void 0!==e._defaultValues){var n=e._defaultValues;for(var i in n)n.hasOwnProperty(i)&&_valueSet(t,o,i,n[i])}return o},_generateModel=function(e,t){var o=_getModelDef(e,t,!1,!0);return _generateModelFromDef(o,e)},_getDef=function(e,t){return _getModelDef(e,t,!1,!0)},_getModelDef=function(e,t,o,l){if(void 0===e[t]){if(-1!=t.indexOf(\" \"))return null;var r=_removePrefix(t);return null!==r?_getModelDef(e,r,o,l):null}var n=e[t];if(\"object\"!=typeof n)throw\"Block definition must be an object: found \"+n+\" for \"+t;if(void 0===n._initialized){if(void 0===n.type&&(-1==t.indexOf(\" \")?n.type=t:n.type=t.substr(t.indexOf(\" \")+1)),n.type!=t&&void 0===n._widget){var i=_getModelDef(e,n.type,!0);n=objExtend(i,n),e[t]=n}else void 0===n._widget&&void 0===n._props&&n._complex;n._writeable=!0,n._initialized=!0}if(void 0!==n._props){var a=n._props;if((a=a.split(\" \")).length>0&&void 0===n._writeable)throw console.error(\"Altering a non writable object \",t,a,n),\"Altering a non writable object: \"+t+\" def: \"+a;void 0===n._processedDefs&&(n._processedDefs={}),void 0===n._globalStyles&&(n._globalStyles={}),void 0===n._defaultValues&&(n._defaultValues={});for(var d=0;d0?domutils.setAttribute(e,\"style\",l):domutils.removeAttribute(e,\"style\"))},_fixRelativePath=function(e,t,o,a){var i=t(domutils.getAttribute(a,e));null!==i&&domutils.setAttribute(a,e,i)},processBlock=function(e,t,o,a,i,r,l,d,s,c){try{var n;if(\"block\"==r)n=domutils.getAttribute(e,\"data-ko-block\"),domutils.removeAttribute(e,\"data-ko-block\");else{if(\"template\"!=r)throw\"Unexpected context name while processing block: \"+r;n=l}$(\"[data-ko-remove]\",e).remove();for(var u=$(\"[data-ko-block]\",e).replaceWith(\"\"),m=[\"href\",\"src\",\"data-ko-placeholder-src\",\"background\"],h=0;h0&&(b+=\" \"),b+=domutils.getAttribute(t,\"data-ko-properties\"),domutils.removeAttribute(t,\"data-ko-properties\")}),modelDef.createOrUpdateBlockDef(t,n,b,{contextName:r});var v=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l,n,\"\");\"block\"==r&&v(\"id\",\"\"),$(\"style\",e).each(function(e,a){var r=domutils.getInnerHtml(a),d=modelDef.createOrUpdateBlockDef.bind(void 0,t),s=modelDef.ensurePathAndGetBindValue.bind(void 0,t,o,l),u=processStylesheetRules(r,void 0,s,d,o,i,l,n);if(u!=r)if(\"\"!==u.trim()){var m=c(u);domutils.setAttribute(a,\"data-bind\",\"template: { name: '\"+m+\"' }\"),domutils.setContent(a,\"\")}else domutils.removeElements($(a))}),processStyle(e,i,v,s);for(var f=[\"data-ko-display\",\"data-ko-editable\",\"data-ko-wrap\",\"href\"],k=0;k0){var n=s.substr(0,s.lastIndexOf(\".\"));l=v(n)}else l=v(s);if(d=\"wysiwygClick: function(obj, evt) { $root.selectItem(\"+l+\", $data); return false }, clickBubble: false, wysiwygCss: { selecteditem: $root.isSelectedItem(\"+l+\") }, scrollIntoView: $root.isSelectedItem(\"+l+\")\",\"img\"!=domutils.getLowerTagName(t)){a=domutils.getInnerHtml(t);var u=v(s,a,!0,\"wysiwyg\");if(o=\"\",domutils.getAttribute(t,\"id\")||(o+=\"wysiwygId: id()+'_\"+s.replace(\".\",\"_\")+\"', \"),void 0!==d&&(o+=d+\", \"),o+=\"wysiwygOrHtml: \"+u,\"td\"==domutils.getLowerTagName(t)){var m=$('
')[0];domutils.setAttribute(m,\"data-bind\",o);var h=domutils.getInnerHtml($(\"
\").append(m));domutils.setContent(t,h)}else r=(null!==(i=domutils.getAttribute(t,\"data-bind\"))?i+\", \":\"\")+o,domutils.setAttribute(t,\"data-bind\",r),domutils.setContent(t,\"\");domutils.removeAttribute(t,\"data-ko-editable\")}else{var p=domutils.getAttribute(t,\"width\");if(\"\"===p&&(p=null),null===p)throw console.error(\"ERROR: data-ko-editable images must declare a WIDTH attribute!\",t),\"ERROR: data-ko-editable images must declare a WIDTH attribute!\";var b=domutils.getAttribute(t,\"height\");\"\"===b&&(b=null);var f=domutils.getAttribute(t,\"align\"),k=(i=domutils.getAttribute(t,\"data-bind\"))&&i.match(/virtualAttr: {[^}]* height: ([^,}]*)[,}]/);k&&(b=k[1]);var g=i&&i.match(/virtualAttr: {[^}]* width: ([^,}]*)[,}]/);g&&(p=g[1]);var w,A,y=\"\";(a=domutils.getAttribute(t,\"data-ko-placeholder-src\"))?y=domutils.getAttribute(t,\"src\"):a=domutils.getAttribute(t,\"src\"),p&&b?w=p+\"+'x'+\"+b:b?p||(w=\"'h'+\"+b+\"+''\"):w=\"'w'+\"+p+\"+''\";var x=b||domutils.getAttribute(t,\"data-ko-placeholder-height\"),_=p||domutils.getAttribute(t,\"data-ko-placeholder-width\");if(domutils.removeAttribute(t,\"src\"),domutils.removeAttribute(t,\"data-ko-editable\"),domutils.removeAttribute(t,\"data-ko-placeholder-height\"),domutils.removeAttribute(t,\"data-ko-placeholder-width\"),domutils.removeAttribute(t,\"data-ko-placeholder-src\"),a&&(A=\"{ width: \"+_+\", height: \"+x+\", text: \"+w+\"}\"),!_||!x)throw console.error(\"IMG data-ko-editable must declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height\",t),\"ERROR: IMG data-ko-editable MUST declare width and height attributes, or their placeholder counterparts data-ko-placeholder-width/data-ko-placeholder-height\";var D=v(s,y,!1,\"wysiwyg\");r=(null!==i?i+\", \":\"\")+(o=\"wysiwygSrc: { width: \"+p+\", height: \"+b+\", src: \"+D+\", placeholder: \"+A+\" }\"),domutils.setAttribute(t,\"data-bind\",r);var I=c(t),R=\"{ width: \"+p;\"left\"==f?R+=\", float: 'left'\":\"right\"==f?R+=\", float: 'right'\":\"center\"==f&&(\"function\"==typeof console.debug?console.debug(\"Ignoring align=center on an img tag: we don't know how to emulate this alignment in the editor!\"):\"top\"==f?R+=\", verticalAlign: 'top'\":\"middle\"==f?R+=\", verticalAlign: 'middle'\":\"bottom\"==f&&(R+=\", verticalAlign: 'bottom'\")),R+=\"}\",$(t).before(\"\\x3c!-- ko wysiwygImg: { _data: $data, _item: \"+l+\", _template: '\"+I+\"', _editTemplate: 'img-wysiwyg', _src: \"+D+\", _width: \"+p+\", _height: \"+b+\", _align: \"+(null===f?void 0:\"'\"+f+\"'\")+\", _size: \"+w+\", _method: \"+void 0+\", _placeholdersrc: \"+A+\", _stylebind: \"+R+\" } --\\x3e\"),$(t).after(\"\\x3c!-- /ko --\\x3e\")}}),$(\"[href]\",e).each(function(e,t){var o=domutils.getAttribute(t,\"href\"),a=\"wysiwygHref: '\"+converterUtils.addSlashes(o)+\"'\",i=domutils.getAttribute(t,\"data-bind\"),r=(null!==i?i+\", \":\"\")+a;domutils.setAttribute(t,\"data-bind\",r)}),$(\"replacedblock\",e).each(function(e,r){var s=u[e],m=processBlock(s,t,o,a,i,\"block\",n,d,!0,c),h=modelDef.ensurePathAndGetBindValue(t,o,l,n,\"\",m);$(r).before(\"\\x3c!-- ko block: { data: \"+converterUtils.addSlashes(h)+\", template: 'block' } --\\x3e\"),$(r).after(\"\\x3c!-- /ko --\\x3e\"),$(r).remove()}),$($(\"[data-ko-wrap]\",e).get().reverse(),e).each(function(e,t){var o=domutils.getAttribute(t,\"data-ko-wrap\");if(void 0===o||\"\"===o||\"true\"===o)throw\"Unsupported empty value for data-ko-wrap: use false value if you want to always remove the tag\";var a,i,r=converterUtils.conditionBinding(o,v),l=domutils.getAttribute(t,\"data-bind\");if(\"\"!==l&&null!==l&&l.match(/(block|wysiwygOrHtml):/)){var d=\"\\x3c!-- ko \"+l+\" --\\x3e\"+domutils.getInnerHtml(t)+\"\\x3c!-- /ko --\\x3e\";a=c(d),domutils.removeAttribute(t,\"data-ko-wrap\"),i=c(t),domutils.replaceHtml(t,\"\\x3c!-- ko template: /* special */ (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || \"+r+\" ? '\"+i+\"' : '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\")}else a=c(domutils.getInnerHtml(t)),domutils.removeAttribute(t,\"data-ko-wrap\"),domutils.setContent(t,\"\\x3c!-- ko template: '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\"),i=c(t),domutils.replaceHtml(t,\"\\x3c!-- ko template: (typeof templateMode != 'undefined' && templateMode == 'wysiwyg') || \"+r+\" ? '\"+i+\"' : '\"+a+\"' --\\x3e\\x3c!-- /ko --\\x3e\")}),c(e,n,\"show\"),a(l,n,r,d),n}catch(t){throw console.error(\"Exception while parsing the template\",t,e),t}};function conditional_replace(e){return e.replace(//g,function(e,t,o){var a=\"\\x3c!-- cc:start --\\x3e\";a+=o.replace(/<([A-Za-z:]+)/g,\"\\x3c!-- cc:bo:$1 --\\x3e/g,\"\\x3c!-- cc:bc:$1 --\\x3e\\x3c!-- cc:ac:$1 --\\x3e\").replace(/\\/>/g,\"/>\\x3c!-- cc:sc --\\x3e\"),a+=\"\\x3c!-- cc:end --\\x3e\";var i='';return(i+=$(\"
\").append($(a)).html().replace(/^/,\"\").replace(/$/,\"\"))+\"\"})}var translateTemplate=function(e,t,o,a){var i={},r=conditional_replace(t.replace(/(<[^>]+\\s)(style|http-equiv)(=\"[^\"]*\"[^>]*>)/gi,function(e,t,o,a){return t+\"replaced\"+o+a})),l=\"function\"==typeof $.parseHTML?$($.parseHTML(r,!1)):$(r),d=l[0],s=[],c=function(e,t,o,a){s.push({root:e,block:t,context:o,container:a})},n=function(e,t,o){if(void 0===i.themes&&(i.themes={}),void 0===i.themes[e]&&(i.themes[e]={}),void 0===i.themes[e][t]||null===i.themes[e][t])i.themes[e][t]=o;else if(null!=o){var a=i.themes[e][t];a!=o&&console.log(\"Error setting a new default for property \"+t+\" in theme \"+e+\". old:\"+a+\" new:\"+o+\"!\")}},u=$(\"[data-ko-container]\",l),m={};u.each(function(e,t){var o=domutils.getAttribute(t,\"data-ko-container\")+\"Blocks\";domutils.removeAttribute(t,\"data-ko-container\"),domutils.setAttribute(t,\"data-bind\",\"block: \"+o);var a=$(\"> [data-ko-block]\",t);domutils.removeElements(a,!0),m[o]=a}),modelDef.createOrUpdateBlockDef(i,\"id\"),modelDef.createOrUpdateBlockDef(i,\"bodyTheme\"),modelDef.createOrUpdateBlockDef(i,\"blocks\",\"blocks[]\"),modelDef.createOrUpdateBlockDef(i,\"text\"),processBlock(d,i,n,c,o,\"template\",e,void 0,!1,a);var h=function(t,r,l){processBlock(l,i,n,c,o,\"block\",e,t,!0,a)};for(var p in m)if(m.hasOwnProperty(p)){var b=m[p],v=p;modelDef.ensurePathAndGetBindValue(i,n,e,e,\"\",v+\".blocks\",\"[]\"),b.each(h.bind(void 0,v))}var f={_defs:i,templateName:e,_blocks:s};return void 0!==i[e]._version&&(f.version=i[e]._version),f};module.exports=translateTemplate;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnNlci5qcyJdLCJuYW1lcyI6WyIkIiwid2luZG93IiwialF1ZXJ5IiwiZ2xvYmFsIiwiY29uc29sZSIsInJlcXVpcmUiLCJjb252ZXJ0ZXJVdGlscyIsImVsYWJvcmF0ZURlY2xhcmF0aW9ucyIsInByb2Nlc3NTdHlsZXNoZWV0UnVsZXMiLCJtb2RlbERlZiIsImRvbXV0aWxzIiwid3JhcEVsZW1lbnRXaXRoQ29uZGl0aW9uIiwiYXR0cmlidXRlIiwiZWxlbWVudCIsImJpbmRpbmdQcm92aWRlciIsImNvbmQiLCJnZXRBdHRyaWJ1dGUiLCJiaW5kaW5nIiwiY29uZGl0aW9uQmluZGluZyIsImJlZm9yZSIsImFmdGVyIiwicmVtb3ZlQXR0cmlidXRlIiwiZSIsIndhcm4iLCJyZXBsYWNlZEF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVOYW1lIiwic2V0QXR0cmlidXRlIiwicHJvY2Vzc1N0eWxlIiwidGVtcGxhdGVVcmxDb252ZXJ0ZXIiLCJhZGRVbmlxdWVJZCIsIm5ld0JpbmRpbmdzIiwic3R5bGUiLCJuZXdTdHlsZSIsInVuaXF1ZUlkIiwiYXR0ciIsImlkIiwicmVtb3ZlRGlzcGxheU5vbmUiLCJ0cmltIiwibGVuZ3RoIiwiX2ZpeFJlbGF0aXZlUGF0aCIsImluZGV4IiwibmV3VXJsIiwicHJvY2Vzc0Jsb2NrIiwiZGVmcyIsInRoZW1lVXBkYXRlciIsImJsb2NrUHVzaGVyIiwiY29udGV4dE5hbWUiLCJyb290TW9kZWxOYW1lIiwiY29udGFpbmVyTmFtZSIsImdlbmVyYXRlVW5pcXVlSWQiLCJ0ZW1wbGF0ZUNyZWF0b3IiLCJ0ZW1wbGF0ZU5hbWUiLCJyZW1vdmUiLCJmaXhlZEJsb2NrcyIsInJlcGxhY2VXaXRoIiwidXJsYXR0cnMiLCJpIiwiZnVuYyIsImJpbmQiLCJlYWNoIiwiZGF0YURlZnMiLCJjcmVhdGVPclVwZGF0ZUJsb2NrRGVmIiwiZW5zdXJlUGF0aEFuZEdldEJpbmRWYWx1ZSIsImdldElubmVySHRtbCIsImJsb2NrRGVmc1VwZGF0ZXIiLCJsb2NhbFdpdGhCaW5kaW5nUHJvdmlkZXIiLCJ0bXBOYW1lIiwic2V0Q29udGVudCIsInJlbW92ZUVsZW1lbnRzIiwibm90c3VwcG9ydGVkIiwiaiIsInVybFZhciIsInJlcFN0eWxlIiwibmV3QmluZGluZyIsImRlZmF1bHRWYWx1ZSIsImN1cnJlbnRCaW5kaW5ncyIsImRhdGFCaW5kIiwiaXRlbUJpbmRWYWx1ZSIsInNlbGVjdEJpbmRpbmciLCJkYXRhRWRpdGFibGUiLCJsYXN0SW5kZXhPZiIsInN1YnMiLCJzdWJzdHIiLCJnZXRMb3dlclRhZ05hbWUiLCJtb2RlbEJpbmRWYWx1ZSIsInJlcGxhY2UiLCJ3cmFwcGluZ0RpdiIsIm5ld0NvbnRlbnQiLCJhcHBlbmQiLCJ3aWR0aCIsImVycm9yIiwiaGVpZ2h0IiwiYWxpZ24iLCJkeW5IZWlnaHQiLCJtYXRjaCIsImR5bldpZHRoIiwic2l6ZSIsInBsYWNlaG9sZGVyc3JjIiwidmFsdWUiLCJwbGhlaWdodCIsInBsd2lkdGgiLCJiaW5kaW5nVmFsdWUiLCJ0bXBsTmFtZSIsImNvbnRhaW5lckJpbmQiLCJkZWJ1ZyIsImF0dHJWYWx1ZSIsImFkZFNsYXNoZXMiLCJibG9ja0VsZW1lbnQiLCJibG9ja05hbWUiLCJnZXQiLCJyZXZlcnNlIiwiaW5uZXJUbXBsTmFtZSIsIm91dGVyVG1wbE5hbWUiLCJjb25kQmluZGluZyIsImlubmVyVG1wbENvbnRlbnQiLCJyZXBsYWNlSHRtbCIsImNvbmRpdGlvbmFsX3JlcGxhY2UiLCJodG1sIiwiY29uZGl0aW9uIiwiYm9keSIsImRkIiwib3V0cHV0IiwidHJhbnNsYXRlVGVtcGxhdGUiLCJyZXBsYWNlZEh0bWwiLCJwMSIsInAyIiwicDMiLCJjb250ZW50IiwicGFyc2VIVE1MIiwiYmxvY2tzIiwiX2Jsb2NrUHVzaGVyIiwicm9vdE5hbWUiLCJwdXNoIiwicm9vdCIsImJsb2NrIiwiY29udGV4dCIsImNvbnRhaW5lciIsIm5hbWUiLCJrZXkiLCJ2YWwiLCJ0aGVtZXMiLCJwcmVjVmFsIiwibG9nIiwiY29udGFpbmVycyIsImNvbnRhaW5lcnNEb20iLCJjb250YWluZXJCbG9ja3MiLCJ1bmRlZmluZWQiLCJibG9ja1Byb2Nlc3MiLCJwcm9wIiwiaGFzT3duUHJvcGVydHkiLCJ0ZW1wbGF0ZURlZiIsIl9kZWZzIiwiX2Jsb2NrcyIsIl92ZXJzaW9uIiwidmVyc2lvbiIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBLGFBR0EsSUFBSUEsRUFBdUIsb0JBQVhDLE9BQXlCQSxPQUFlQyxPQUFzQixvQkFBWEMsT0FBeUJBLE9BQWVELE9BQUksS0FDM0dFLFFBQVVDLFFBQVEsc0JBQ2xCQyxlQUFpQkQsUUFBUSxjQUN6QkUsc0JBQXdCRixRQUFRLHFCQUNoQ0csdUJBQXlCSCxRQUFRLG1CQUNqQ0ksU0FBV0osUUFBUSxjQUNuQkssU0FBV0wsUUFBUSxpQkFFbkJNLHlCQUEyQixTQUFTQyxFQUFXQyxFQUFTQyxHQUMxRCxJQUFJQyxFQUFPTCxTQUFTTSxhQUFhSCxFQUFTRCxHQUUxQyxJQUNFLElBQUlLLEVBQVVYLGVBQWVZLGlCQUFpQkgsRUFBTUQsR0FDcERkLEVBQUVhLEdBQVNNLE9BQU8sa0JBQWlCRixFQUFVLFdBQzdDakIsRUFBRWEsR0FBU08sTUFBTSxzQkFDakJWLFNBQVNXLGdCQUFnQlIsRUFBU0QsR0FDbEMsTUFBT1UsR0FFUCxNQURBbEIsUUFBUW1CLEtBQUsseUNBQTBDVixFQUFTRSxFQUFNSCxHQUNoRVUsSUFLTkUsbUJBQXFCLFNBQVNYLEVBQVNZLEdBQ3pDZixTQUFTZ0IsYUFBYWIsRUFBU1ksRUFBZWYsU0FBU00sYUFBYUgsRUFBUyxXQUFhWSxLQUd4RkUsYUFBZSxTQUFTZCxFQUFTZSxFQUFzQmQsRUFBaUJlLEdBQzFFLElBRUlDLEVBRkFDLEVBQVFyQixTQUFTTSxhQUFhSCxFQUFTLGlCQUN2Q21CLEVBQVcsS0FFWEgsSUFBYUMsRUFBYyxDQUM3QkcsU0FBVSxRQUNWQyxLQUFNLENBQ0pDLEdBQUksUUFJUixJQUFJQyxFQUEwRSxPQUF0RDFCLFNBQVNNLGFBQWFILEVBQVMsbUJB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", + "\"use strict\";var cssParse=require(\"mensch/lib/parser.js\"),console=require(\"console-browserify\"),converterUtils=require(\"./utils.js\"),elaborateDeclarations=require(\"./declarations.js\"),_removeOptionalQuotes=function(e){return\"'\"!=e[0]&&'\"'!=e[0]||e[e.length-1]!=e[0]?e:e.substr(1,e.length-2).replace(/\\\\([\\s\\S])/gm,\"$1\")},_processStyleSheetRules_processBlockDef=function(e,t){for(var o,s,r,l=0;l=0;d--){if(\"supports\"==t[d].type&&\"-ko-blockdefs\"==t[d].name)_processStyleSheetRules_processBlockDef(s,t[d].rules),c=converterUtils.removeStyle(c,t[d].position.start,p,0,0,0,\"\");else if(\"media\"==t[d].type||\"supports\"==t[d].type)c=processStylesheetRules(c,t[d].rules,o,s,r,l,n,i);else if(\"comment\"==t[d].type);else if(\"rule\"==t[d].type){for(var f=t[d].selectors,h=\"\",m=null,v=0;v0&&(h+=\", \");var y=f[v].match(/\\[data-ko-block=([^ ]*)\\]/);if(null!==y){if(null!==m&&m!=y[1])throw\"Found multiple block-match attribute selectors: cannot translate it (\"+m+\" vs \"+y[1]+\")\";m=y[1]}h+=\"\\x3c!-- ko text: templateMode =='wysiwyg' ? '#main-wysiwyg-area ' : '' --\\x3e\\x3c!-- /ko --\\x3e\"+f[v]}if(m){var k=\"\\x3c!-- ko foreach: $root.findObjectsOfType($data, '\"+m+\"') --\\x3e\",x=p,g=\" \";t[d].declarations.length>0&&(t[d].declarations[0].position.start.line!=t[d].position.end.line&&(g=\"\\n\"+new Array(t[d].position.start.col).join(\" \")),x=t[d].declarations[t[d].declarations.length-1].position.end),null===x?c+=g+\"\\x3c!-- /ko --\\x3e\":c=x==p?converterUtils.removeStyle(c,x,p,0,0,0,g+\"\\x3c!-- /ko --\\x3e\"):converterUtils.removeStyle(c,x,p,0,0,0,g+\"}\"+g+\"\\x3c!-- /ko --\\x3e\"),h=k+g+h.replace(new RegExp(\"\\\\[data-ko-block=\"+m+\"\\\\]\",\"g\"),\"\\x3c!-- ko text: '#'+id() --\\x3e\"+m+\"\\x3c!-- /ko --\\x3e\"),s(m,\"\",{contextName:\"block\"})}var b=m||i;a=o.bind(this,b,\"\");var w=elaborateDeclarations(c,t[d].declarations,l,a);null!==w&&(c=w),c=converterUtils.removeStyle(c,t[d].position.start,t[d].position.end,0,0,0,h)}else console.log(\"Unknown rule type\",t[d].type,\"while parsing + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
\ No newline at end of file diff --git a/protected/reports/.gitignore b/client/static/mosaico/uploads/.gitignore similarity index 53% rename from protected/reports/.gitignore rename to client/static/mosaico/uploads/.gitignore index d5b76284..e5af87e9 100644 --- a/protected/reports/.gitignore +++ b/client/static/mosaico/uploads/.gitignore @@ -1,3 +1,3 @@ -* -!.gitignore +* +!.gitignore !README.md \ No newline at end of file diff --git a/client/static/mosaico/uploads/README.md b/client/static/mosaico/uploads/README.md new file mode 100644 index 00000000..97dd7a7d --- /dev/null +++ b/client/static/mosaico/uploads/README.md @@ -0,0 +1,2 @@ +This is a directory for images uploaded to Mosaico in Mailtrain ver. 1. +Move the content from /public/mosaico/uploads to here (/client/static/mosaico/uploads). diff --git a/public/subscription/form-input-style.css b/client/static/subscription/form-input-style.css similarity index 93% rename from public/subscription/form-input-style.css rename to client/static/subscription/form-input-style.css index a44d33df..0e302dc7 100644 --- a/public/subscription/form-input-style.css +++ b/client/static/subscription/form-input-style.css @@ -44,6 +44,16 @@ label { margin-left: .3em; } +form button { + background: #2D3E4F; + color: white; + font-size: 16px; + font-weight: normal; + padding: 16px 24px; + border: none; + border-radius: 6px; + cursor: pointer; +} /* --- Inputs ------------- */ @@ -199,11 +209,10 @@ textarea { /* --- Other ------------- */ -.help-block { +.option-help-block { display: block; - font-size: .9em; - line-height: 1; - color: #999999; + margin-left: 3px; + margin-bottom: 4px; } form a { diff --git a/public/subscription/widget.js b/client/static/subscription/widget.js similarity index 100% rename from public/subscription/widget.js rename to client/static/subscription/widget.js diff --git a/client/webpack.config.js b/client/webpack.config.js new file mode 100644 index 00000000..f6fef9ab --- /dev/null +++ b/client/webpack.config.js @@ -0,0 +1,113 @@ +const webpack = require('webpack'); +const CopyPlugin = require('copy-webpack-plugin'); +const path = require('path'); + +module.exports = { + mode: 'development', + plugins: [ + ], + entry: { + "root": ['./src/root.js'], + "mosaico-root": ['./src/lib/sandboxed-mosaico-root.js'], + "ckeditor-root": ['./src/lib/sandboxed-ckeditor-root.js'], + "grapesjs-root": ['./src/lib/sandboxed-grapesjs-root.js'], + "codeeditor-root": ['./src/lib/sandboxed-codeeditor-root.js'], + }, + output: { + library: 'MailtrainReactBody', + filename: '[name].js', + path: path.resolve(__dirname, 'dist') + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: path.join(__dirname, 'node_modules'), + use: [ + { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { + targets: { + "chrome": "58", + "edge": "15", + "firefox": "55", + "ios": "10" + } + }], + '@babel/preset-react' + ], + plugins: [ + ["@babel/plugin-proposal-decorators", { "legacy": true }], + ["@babel/plugin-proposal-class-properties", { "loose" : true }], + "@babel/plugin-proposal-function-bind" + ] + } + } + ] + }, + { + test: /\.css$/, + use: [ + { + loader: 'style-loader' + }, + { + loader: 'css-loader' + } + ] + }, + { + test: /\.(png|jpg|gif)$/, + use: [ + { + loader: 'url-loader', + options: { + limit: 8192 // inline base64 URLs for <=8k images, direct URLs for the rest + } + } + ] + }, + { + test: /\.scss$/, + exclude: path.join(__dirname, 'node_modules'), + use: [ + 'style-loader', + { + loader: 'css-loader', + options: { + modules: true, + localIdentName: '[path][name]__[local]--[hash:base64:5]' + } + }, + 'sass-loader' + ] + }, + { + test: /\.(svg|otf|woff2|woff|ttf|eot)$/, + use: [ + 'url-loader' + ] + } + ] + }, + externals: { + jquery: 'jQuery', + csrfToken: 'csrfToken', + mailtrainConfig: 'mailtrainConfig' + }, + plugins: [ + new CopyPlugin([ + { from: './node_modules/jquery/dist/jquery.min.js', to: path.resolve(__dirname, 'dist') }, + { from: './node_modules/popper.js/dist/umd/popper.min.js', to: path.resolve(__dirname, 'dist') }, + { from: './node_modules/bootstrap/dist/js/bootstrap.min.js', to: path.resolve(__dirname, 'dist') }, + { from: './node_modules/@coreui/coreui/dist/js/coreui.min.js', to: path.resolve(__dirname, 'dist') }, + { from: './node_modules/@fortawesome/fontawesome-free/webfonts/', to: path.resolve(__dirname, 'dist', 'webfonts'), toType: 'dir'} + ]), + ], + watchOptions: { + ignored: 'node_modules/', + poll: 2000 + } +}; diff --git a/config/default.toml b/config/default.toml deleted file mode 100644 index 17905ecd..00000000 --- a/config/default.toml +++ /dev/null @@ -1,216 +0,0 @@ -# This file is the default config file for Mailtrain. To use a environment specific -# configuration add new file {ENV}.{ext} (eg. "production.toml") to the same folder. -# {ENV} is defined by NODE_ENV environment variable. -# -# Do not modify this file directly, otherwise you might lose your modifications when upgrading -# -# You should only define the options you want to change in your additional config file. -# For example if the only thing you want to change is the port number for the www server -# then your additional config file should look like this: -# # production.toml -# [www] -# port=80 -# or if you want to use Javascript instead of TOML then the same file could look like this: -# // production.js -# module.exports = { -# www: { -# port: 80 -# } -# }; - -# Process title visible in monitoring logs and process listing -title="mailtrain" - -# Enabled HTML editors -editors=[ - ["summernote", "Summernote"], - ["grapejs", "GrapeJS"], - ["mosaico", "Mosaico"], - ["codeeditor", "Code Editor"] -] - -# Default language to use -language="en" - -# Inject custom styles in layout.hbs -# customstyles=["/custom/hello-world.css"] - -# Inject custom scripts in layout.hbs -# customscripts=["/custom/hello-world.js"] - -# Inject custom scripts in subscription/layout.mjml.hbs -# customsubscriptionscripts=["/custom/hello-world.js"] - -# If you start out as a root user (eg. if you want to use ports lower than 1000) -# then you can downgrade the user once all services are up and running -#user="mailtrain" -#group="mailtrain" - -# If Mailtrain is started as root, "Reports" feature drops the privileges of script generating the report to disallow -# any modifications of Mailtrain code and even prohibits reading the production configuration (which contains the MySQL -# password for read/write operations). The rouser/rogroup determines the user to be used -#rouser="nobody" -#rogroup="nogroup" - -[log] -# silly|verbose|info|http|warn|error|silent -level="verbose" - -[www] -# HTTP port to listen on -port=3000 -# HTTP interface to listen on -host="0.0.0.0" -# Enable HTTPS -https=false -# HTTPS certificate file name -cert="cert.pem" -# HTTPS certificate private key file name -key="key.pem" -# HTTPS ca certificate file name -#ca="ca-certificate.pem" -# HTTPS Diffie Hellman parameters (generate with openssl dhparam) -#dhparams="dhparams.pem" -# Secret for signing the session ID cookie -secret="a cat" -# Session length in seconds when "remember me" is checked -remember=2592000 # 30 days -# logger interface for expressjs morgan -log="dev" -# Is the server behind a proxy? true/false -# Set this to true if you are serving Mailtrain as a virtual domain through Nginx or Apache -proxy=false -# maximum POST body size -postsize="2MB" -# Uncomment to set uploads folder location for temporary data. Defaults to os.tmpdir() -# If the service is started by `npm start` then os.tmpdir() points to CWD -#tmpdir="/tmp" - -[mysql] -host="localhost" -user="mailtrain" -password="mailtrain" -database="mailtrain" -# Some installations, eg. MAMP can use a different port (8889) -# MAMP users should also turn on "Allow network access to MySQL" otherwise MySQL might not be accessible -port=3306 -charset="utf8mb4" -# The timezone configured on the MySQL server. This can be 'local', 'Z', or an offset in the form +HH:MM or -HH:MM -timezone="local" - -[redis] -# enable to use Redis session cache or disable if Redis is not installed -enabled=false -host="localhost" -port=6379 -db=5 -# Uncomment if your Redis installation requires a password -#password="" - -[verp] -# Enable to start an MX server that detects bounced messages using VERP -# In most cases you do not want to use it -# Requires root privileges -enabled=false -port=2525 -host="0.0.0.0" -# With DMARC, the Return-Path and From address must match the same domain. -# By default we get around this by using the VERP address in the Sender header, -# with the side effect that some email clients diplay an ugly "on behalf of" message. -# You can safely disable this Sender header if you're not using DMARC or your -# VERP hostname is in the same domain as the From address. -# disablesenderheader=true - -[ldap] -# enable to use ldap user backend -enabled=false -url="ldap://localhost:3002" -baseDN="ou=users,dc=company" -filter="(|(username={{username}})(mail={{username}}))" -#Username field in LDAP (uid/cn/username) -uidTag="username" -passwordresetlink="" -# Use a different user to bind LDAP (final bind DN will be: {{uidTag}}={{bindUser}},{{baseDN}}) -bindUser="" -bindPassword="" -#ca="self-signed-ca.pem" - -[ldapauth] -# Alternative LDAP implementation using the more popular passport-ldapauth library. -enabled=false -url="ldap://localhost:389" -# Subtree in which the searchrequest for the user is done -baseDN="ou=users,dc=company" -# What whe are searching for. This should return a single user. -filter="(|(sAMAccountName={{username}})(mail={{username}}))" -# Username field in LDAP, used to identify the user in Mailtrain (uid/cn/username/sAMAccountName) -uidTag="sAMAccountName" -passwordresetlink="" -# Credentials for the initial search operation (final bind DN will be exactly as specified) -bindUser="name@company.net" -bindPassword="mySecretPassword" -#ca="self-signed-ca.pem" - -[postfixbounce] -# Enable to allow writing Postfix bounce log to Mailtrain listener -# If enabled, tail mail.log to Mailtrain with the following command: -# tail -f -n +0 /var/log/mail.log | nc localhost 5699 - -enabled=false -port=5699 -# allow connections from localhost only -host="127.0.0.1" - -# extra options for nodemailer -[nodemailer] -#textEncoding="base64" - -[queue] -# How many parallel sender processes to spawn -# You can use more than 1 process only if you have Redis enabled -processes=1 - -[cors] -# Allow subscription widgets to be embedded -# origins=['https://www.example.com'] - -[mosaico] -# Installed templates -templates=[["versafix-1", "Versafix One"]] -# Inject custom scripts -# customscripts=["/mosaico/custom/my-mosaico-plugin.js"] - -[grapejs] -# Installed templates -templates=[ - ["demo", "HTML Template"], - ["aves", "MJML Template"] -] - -[reports] -# The whole reporting functionality can be disabled below if the they are not needed and the DB cannot be -# properly protected. -# Reports rely on custom user defined Javascript snippets defined in the report template. The snippets are run on the -# server when generating a report. As these snippets are stored in the DB, they pose a security risk because they can -# help gaining access to the server if the DB cannot -# be properly protected (e.g. if it is shared with another application with security weaknesses). -# Mailtrain mitigates this problem by running the custom Javascript snippets in a chrooted environment and under a -# DB user that cannot modify the database (see userRO in [mysql] above). However the chrooted environment is available -# only if Mailtrain is started as root. The chrooted environment still does not prevent the custom JS script in -# performing network operations and in generating XSS attacks as part of the report. -# The bottom line is that if people who are creating report templates or have write access to the DB cannot be trusted, -# then it's safer to switch off the reporting functionality below. -enabled=false - -[testserver] -# Starts a vanity server that redirects all mail to /dev/null -# Mostly needed for local development -enabled=false -port=5587 -mailboxserverport=3001 -host="0.0.0.0" -username="testuser" -password="testpass" -logger=false - -[seleniumwebdriver] -browser="phantomjs" diff --git a/config/docker-production.toml.tmpl b/config/docker-production.toml.tmpl deleted file mode 100644 index ca832181..00000000 --- a/config/docker-production.toml.tmpl +++ /dev/null @@ -1,9 +0,0 @@ -[mysql] -host="mysql" - -[redis] -enabled=true -host="redis" - -[reports] -enabled=true \ No newline at end of file diff --git a/docker-compose-develop.yml b/docker-compose-develop.yml new file mode 100644 index 00000000..dcd0dcfd --- /dev/null +++ b/docker-compose-develop.yml @@ -0,0 +1,38 @@ +version: '3' + +services: + mysql: + image: mariadb:10.4 + environment: + - MYSQL_ROOT_PASSWORD=mailtrain + - MYSQL_DATABASE=mailtrain + - MYSQL_USER=mailtrain + - MYSQL_PASSWORD=mailtrain + volumes: + - mysql-data:/var/lib/mysql + + redis: + image: redis:5 + volumes: + - redis-data:/data + + mongo: + image: mongo:4-xenial + volumes: + - mongo-data:/data/db + + mailtrain: + build: + context: . + dockerfile: Dockerfile-Develop + ports: + - "3000:3000" + - "3003:3003" + - "3004:3004" + volumes: + - ./:/app + +volumes: + mysql-data: + redis-data: + mongo-data: \ No newline at end of file diff --git a/docker-compose.override.yml.tmpl b/docker-compose.override.yml.tmpl deleted file mode 100644 index 24b48ec6..00000000 --- a/docker-compose.override.yml.tmpl +++ /dev/null @@ -1,14 +0,0 @@ -version: '2' -services: - mysql: - restart: always - redis: - restart: always - mailtrain: - build: ./ - # volumes: - # - ./:/app - ports: - - "3000:3000" - restart: always - \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ba00757e..033f13a6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,31 +1,43 @@ -version: '2' +version: '3' + services: mysql: - image: mysql:5.7 + image: mariadb:10 environment: - - MYSQL_ROOT_PASSWORD=mailtrain - - MYSQL_DATABASE=mailtrain - - MYSQL_USER=mailtrain - - MYSQL_PASSWORD=mailtrain + - MYSQL_ROOT_PASSWORD=mailtrain + - MYSQL_DATABASE=mailtrain + - MYSQL_USER=mailtrain + - MYSQL_PASSWORD=mailtrain volumes: - - mailtrain-mysq-data:/var/lib/mysql + - mysql-data:/var/lib/mysql + redis: - image: redis:3.0 + image: redis:5-alpine volumes: - - mailtrain-redis-data:/data + - redis-data:/data + + mongo: + image: mongo:4-xenial + volumes: + - mongo-data:/data/db + mailtrain: - image: mailtrain:latest - depends_on: - - mysql - - redis + build: . + environment: + - URL_BASE_TRUSTED=http://ed.x5summit.ru:8080 + - URL_BASE_SANDBOX=http://ed.x5summit.ru:8888 + - URL_BASE_PUBLIC=https://edlink.x5summit.ru + - WWW_PROXY=true + ports: + - "8080:3000" + - "8888:3003" + - "80:3004" volumes: - - mailtrain-node-config:/app/config - - mailtrain-node-data:/app/public/grapejs/uploads - - mailtrain-node-data:/app/public/mosaico/uploads - - mailtrain-node-reports:/app/protected/reports + - mailtrain-files:/app/server/files + volumes: - mailtrain-mysq-data: {} - mailtrain-redis-data: {} - mailtrain-node-data: {} - mailtrain-node-config: {} - mailtrain-node-reports: {} + mysql-data: + redis-data: + mongo-data: + mailtrain-files: + diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 00101596..0298c569 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,18 +1,146 @@ #!/bin/bash +# Entrypoint for Docker Container + set -e -if [ ! -f "/app/config/production.toml" ] ; then - echo "No production.toml, copying from docker-production.toml.tmpl" - cp /app/config/docker-production.toml.tmpl /app/config/production.toml +default_filter="(|(username={{username}})(mail={{username}}))" + +PORT_TRUSTED=${PORT_TRUSTED:-'3000'} +PORT_SANDBOX=${PORT_SANDBOX:-'3003'} +PORT_PUBLIC=${PORT_PUBLIC:-'3004'} +URL_BASE_TRUSTED=${URL_BASE_TRUSTED:-"http://localhost:${PORT_TRUSTED}"} +URL_BASE_SANDBOX=${URL_BASE_SANDBOX:-"http://localhost:${PORT_SANDBOX}"} +URL_BASE_PUBLIC=${URL_BASE_PUBLIC:-"http://localhost:${PORT_PUBLIC}"} +WWW_HOST=${WWW_HOST:-'0.0.0.0'} +WWW_PROXY=${WWW_PROXY:-'false'} +WWW_SECRET=${WWW_SECRET:-$(pwgen -1)} +WITH_LDAP=${WITH_LDAP:-'false'} +LDAP_HOST=${LDAP_HOST:-'ldap'} +LDAP_PORT=${LDAP_PORT:-'389'} +LDAP_SECURE=${LDAP_SECURE:-'false'} +LDAP_BIND_USER=${LDAP_BIND_USER:-'name@company.net'} +LDAP_BIND_PASS=${LDAP_BIND_PASS:-'mySecretPassword'} +LDAP_FILTER=${LDAP_FILTER:-${default_filter}} +LDAP_BASEDN=${LDAP_BASEDN:-ou=users,dc=company} +LDAP_UIDTAG=${LDAP_UIDTAG:-'username'} +LDAP_MAILTAG=${LDAP_MAILTAG:-'mail'} +LDAP_NAMETAG=${LDAP_NAMETAG:-'username'} +LDAP_METHOD=${LDAP_METHOD:-'ldapjs'} +MONGO_HOST=${MONGO_HOST:-'mongo'} +WITH_REDIS=${WITH_REDIS:-'true'} +REDIS_HOST=${REDIS_HOST:-'redis'} +MYSQL_HOST=${MYSQL_HOST:-'mysql'} +MYSQL_DATABASE=${MYSQL_DATABASE:-'mailtrain'} +MYSQL_USER=${MYSQL_USER:-'mailtrain'} +MYSQL_PASSWORD=${MYSQL_PASSWORD:-'mailtrain'} +WITH_ZONE_MTA=${WITH_ZONE_MTA:-'true'} +POOL_NAME=${POOL_NAME:-$(hostname)} +LOG_LEVEL=${LOG_LEVEL:-'info'} + +# Warning for users that already rely on the MAILTRAIN_SETTING variable +# Can probably be removed in the future. +MAILTRAIN_SETTING=${MAILTRAIN_SETTINGS:-} +if [ ! -z "$MAILTRAIN_SETTING" ]; then + echo 'Error: MAILTRAIN_SETTINGS is no longer supported. See README.md' + exit 1 fi -if [ ! -f "/app/workers/reports/config/production.toml" ] ; then - echo "No production.toml for reports" - if [ -f "/app/config/production.toml" ] ; then - echo "copying config/production.toml to reports config directory" - cp /app/config/production.toml /app/workers/reports/config/production.toml + +if [ -f server/config/production.yaml ]; then + echo 'Info: application/production.yaml already provisioned' +else + echo 'Info: Generating application/production.yaml' + + # Basic configuration + cat >> server/config/production.yaml <> server/config/production.yaml <> server/config/production.yaml < server/services/workers/reports/config/production.yaml < Mailtrain requires at least **Node.js v7**. If you want to use an older version of Node.js then you should use version v1.24 of Mailtrain. You can either download it [here](https://github.com/Mailtrain-org/mailtrain/archive/v1.24.0.zip) or if using git then run `git checkout v1.24.0` before starting it +# FIXME: The info below needs to be updated to v2 !!! + ## Features @@ -42,7 +43,7 @@ Check out [ZoneMTA](https://github.com/zone-eu/zone-mta) as an alternative self ## Cons - * Beta-grade software. Several users reported success with lists of various sizes (from 100k to 1M) however there is no absolute guarantee it will always work as expected. + * Beta-grade software. Might or might not work as expected. There are several users with list sizes between 100k and 1M and Mailtrain seems to work for them but YMMV * Almost no documentation (there are some guides in the [Wiki](https://github.com/Mailtrain-org/mailtrain/wiki)) ## Requirements @@ -76,13 +77,13 @@ Install script installs and sets up the following: * **logrotate** to rotate Mailtrain log files * **upstart** or **systemd** init script to automatically start and manage Mailtrain process -After the install script has finished and you have received "successfully installed" message, you should have a Mailtrain instance running at http://yourdomain.com +After the install script has finished and you see a success message then you should have a Mailtrain instance running at http://yourdomain.com #### Next steps after installation ##### 1. Change admin password -Navigate to http://yourdomain.com where yourdomain.com is the address of your server. Click on the **Sign In** link in the right top corner of the page. Authenticate with the following credentials: +Navigate to http://yourdomain.com where yourdomain.com is the address of your server. Click on the Sign In link in the right top corner of the page. Authenticate with the following credentials: * Username: **admin** * Password: **test** @@ -91,7 +92,7 @@ Once authenticated, click on your username in the right top corner of the page a ##### 2. Update page configuration -If signed in, navigate to http://yourdomain.com/settings and check that all email addresses and domain names are correct. Mailtrain default installation comes bundled with [ZoneMTA](https://github.com/zone-eu/zone-mta), so you should be able to send out messages right away. ZoneMTA even handles a lot of bounces (not all kind of bounces though) automatically so you do not have to change anything in the SMTP settings to get going. +If signed in navigate to http://yourdomain.com/settings and check that all email addresses and domain names are correct. Mailtrain default installation comes bundled with [ZoneMTA](https://github.com/zone-eu/zone-mta), so you should be able to send out messages right away. ZoneMTA even handles a lot of bounces (not all kind of bounces though) automatically so you do not have to change anything in the SMTP settings to get going. ##### 3. Set up SPF @@ -103,9 +104,9 @@ If you are using the bundled ZoneMTA then you can provide a DKIM key to sign all ##### 5. Set up VERP -The bundled ZoneMTA can already handle a large amount of bounces if you use it to deliver messages but not all: namely, such bounces that happen *after* the recipient MX accepts the message for local delivery. This might happen for example when a user exists, so the MX accepts the message but the quota for that user is checked only when actually storing the message to users' mailbox. Then a bounce message is generated and sent to the original sender which in your case is the mail address you are sending your list messages from. You can catch these messages and mark such recipients manually as bounced but alternatively you can set up a VERP based bounce handler that does this automatically. In this case the sender on the message envelope would not be your actual address but a rewritten bounce address that points to your Mailtrain installation. +The bundled ZoneMTA can already handle a large amount of bounces if you use it to deliver messages but not all - namely such bounces that happen *after* the recipient MX accepts the message for local delivery. This might happen for example when a user exists, so the MX accepts the message but the quota for that user is checked only when actually storing the message to users' mailbox. Then a bounce message is generated and sent to the original sender which in your case is the mail address you are sending your list messages from. You can catch these messages and mark such recipients manually as bounced but alternatively you can set up a VERP based bounce handler that does this automatically. In this case the sender on the message envelope would not be your actual address but a rewritten bounce address that points to your Mailtrain installation. -To set it up you need to create an additonal DNS MX entry for a bounce domain, eg "bounces.example.com",if you are sending from "example.com". This entry should point to your Mailtrain server IP address. Next you should enable the VERP handling in Mailtrain Settings page. +To set it up you need to create an additonal DNS MX entry for a bounce domain, eg "bounces.example.com" if you are sending from "example.com". This entry should point to your Mailtrain server IP address. Next you should enable the VERP handling in Mailtrain Settings page. > As ZoneMTA uses envelope sender as the default for DKIM addresses, then if using VERP you need to set up DKIM to your bounce domain instead of sender domain and also store the DKIM key as "bouncedomain.selector.pem" in the ZoneMTA key folder. @@ -115,6 +116,8 @@ If you do not use VERP with ZoneMTA then you should get notified most of the bou If you are using the bundled ZoneMTA then you should make sure you are using a proper PTR record for your server. For example if you use DigitalOcean then PTR is set automatically (it's the droplet name, so make sure your droplet name is the same as the domain name you are running Mailtrain from). If you use AWS then you can request setting up PTR records using [this form](https://portal.aws.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request) (requires authentication). Otherwise you would have to check from your service provider, hot to get the PTR record changed. Everything should work without the PTR record but setting it up correctly improves the deliverability a lot. +If you are using the builtin Zone-MTA, make sure the configured pool name matches the PTR record. + ##### 7. Ready to send! With proper SPF, DKIM and PTR records (DMARC wouldn't hurt either) I got perfect 10/10 score out from [MailTester](https://www.mail-tester.com/) when sending a campaign message to a MailTester test address. I did not have VERP turned on, so the sender address matched return path address. @@ -123,7 +126,7 @@ With proper SPF, DKIM and PTR records (DMARC wouldn't hurt either) I got perfect DKIM, DMARK, SPF and PTR are DNS records which spam filters use to figure out if e-mails were really sent by you (and not by a spammer who tries to conceal his identity to be able to continue send bulks of e-mails people never subscribed for). Assuming that you use zone-mta and your e-mails are to originate from a Mailtrain installation at `mailtrain.example.com` and optionally from `mail.example.net`, to practically set all these records up you will need to: -**1.generate a private and public DKIM key** +1. generate genrate a private and public DKIM key ```sh mkdir /opt/dkim-keys @@ -133,7 +136,7 @@ openssl genrsa -out mailtrain.example.com.key 2048 # private key mailtrain.examp openssl rsa -in mailtrain.example.com.key -out mailtrain.example.com.pub -pubout -outform PEM # public key mailtrain.example.com.pub ``` -**2.add the three new txt records for the mailtrain.example.com that will most likely look similar to the example below** +2. add 3 new txt records for the mailtrain.example.com that will most likely similar to the example below: ``` default._domainkey.mailtrain.example.com TXT "k=rsa; p=[public key in one line];" @@ -151,10 +154,10 @@ The above steps will have the following effect: - all messages sent by Mailtrain / Zone-mta will be signed by the DKIM Private Key (the signature becomes a part of the e-mail) - when a spamfilter encounters this signature, it will look for the ****._domainkey.**** TXT record, and use the public key stored there to verify that the signature is valid -- additionally, the spamfilter will look for a TXT SPF record and will look if the e-mail was sent from the IP address of mailtrain.example.com or mail.example.net. If the sender IP or domain is different, it will discard the e-mail as spam. +- additionally, the spamfilter will look for a TXT SPF record and will look a if the e-mail was sent from the IP address of mailtrain.example.com or mail.example.net. If the sender IP or domain is different, it will discard the e-mail as spam. - furthermore, the spamfilter looks for the DMARC record, which tells it what to do with mails that aren't signed with DKIM or which don't have a valid signature. The example above will tell the spamfilter to reject such a mail as well. -You are now almost set. To further confirm that you have full control over your network, the last step is to set up a PTR record, which will give the right answer for a reverse DNS lookup (answer to "what domain name is bound to IP address xxx.xxx.xxx.xxx). If you run your own DNS, you probably know it will look similar to this: +3. You are now almost set. To further confirm that you have full control over your network, the last step is to set up a PTR record, which will give the right answer for a reverse DNS lookup (answer to "what domain name is bound to IP address xxx.xxx.xxx.xxx). If you run your own DNS, you probably know it will look similar to this: ``` 10.27/1.110.220.in-addr.arpa. 1800 PTR mailtrain.example.com. @@ -172,7 +175,7 @@ If you run Mailtrain on a VPS, you will have to find the PTR configuration somew #### Install: * Download Mailtrain files using git: `git clone git://github.com/Mailtrain-org/mailtrain.git` (or download [zipped repo](https://github.com/Mailtrain-org/mailtrain/archive/master.zip)) and open Mailtrain folder `cd mailtrain` -* **Note**: depending on how you have configured your system and Docker, you may need to prepend the commands below with `sudo`. +* **Note**: depending on how you have configured your system and Docker you may need to prepend the commands below with `sudo`. * Copy the file `docker-compose.override.yml.tmpl` to `docker-compose.override.yml` and modify it if you need to. * Bring up the stack with: `docker-compose up -d`, by default it will use the included `docker-compose.yml` file and override some configurations taken from the `docker-compose.override.yml` file. * If you want to use only / copy the `docker-compose.yml` file (for example, if you were deploying with Rancher), you may need to first run `docker-compose build` to make sure your system has a Docker image `mailtrain:latest`. @@ -197,7 +200,7 @@ If you run Mailtrain on a VPS, you will have to find the PTR configuration somew ## Upgrade - * Replace old files with new ones by running in the Mailtrain folder `git pull origin master` if you used Git to set Mailtrain up or just download [new files](https://github.com/Mailtrain-org/mailtrain/archive/master.zip) and replace old ones with these + * Replace old files with new ones by running in the Mailtrain folder `git pull origin master` if you used Git to set Mailtrain up or just download [new files](https://github.com/Mailtrain-org/mailtrain/archive/master.zip) and replace old ones with these * Run `npm install --production` in the Mailtrain folder ## Using Environment Variables @@ -221,31 +224,31 @@ Mailtrain uses [node-config](https://github.com/lorenwest/node-config) for confi ### Running Behind Nginx Proxy -Edit [mailtrain.nginx](../setup/mailtrain-nginx.conf) (update `server_name` directive) and copy it to `/etc/nginx/sites-enabled` +Edit [mailtrain.nginx](setup/mailtrain-nginx.conf) (update `server_name` directive) and copy it to `/etc/nginx/sites-enabled` ### Running as an Upstart Service in Ubuntu 14.04 -Edit [mailtrain.conf](../setup/mailtrain.conf) (update application folder) and copy it to `/etc/init` +Edit [mailtrain.conf](setup/mailtrain.conf) (update application folder) and copy it to `/etc/init` ## Subscription Widget The (experimental) Mailtrain Subscription Widget allows you to embed your sign-up forms on your website. To embed a Widget, you need to: -Enable cross-origin resource sharing in your `config` file and whitelist your site: +Enable cross-origin resource sharing in your `server/config/local.yaml` file (you may need to create it if it doesn't exist) and whitelist your site: ``` -[cors] -# Allow subscription widgets to be embedded -origins=['https://www.example.com'] +cors: + # Allow subscription widgets to be embedded + origins=['https://www.example.com'] ``` -Embed the widget code on your website: +Embed the widget code on your website using the untrusted endpoint: ``` -
- Subscribe to our list + - + ``` ## Cloudron @@ -265,7 +268,7 @@ Mailtrain uses webhooks integration to detect bounces and spam complaints. Curre * **SendGrid** – use `http://domain/webhooks/sendgrid` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-SendGrid)) * **Mailgun** – use `http://domain/webhooks/mailgun` as the webhook URL for bounces and complaints ([instructions](https://github.com/Mailtrain-org/mailtrain/wiki/Setting-up-Webhooks-for-Mailgun)) * **ZoneMTA** – use `http://domain/webhooks/zone-mta` as the webhook URL for bounces. If you install Mailtrain with the included installation script then this route gets set up automatically during the installation process - * **Postfix** – This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixbounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`. + * **Postfix** – This is not a webhook but a TCP server on port 5699 to listen for piped Postfix logs. Enable it with the `[postfixBounce]` config option. To use it, pipe the log to that port using *tail*: `tail -F /var/log/mail.log | nc localhost 5699 -` (if Mailtrain restarts then you need to re-establish the *tail* pipe), alternatively you could send the log with a cron job periodically `tail -n 100 | nc localhost 5699 -`. Additionally Mailtrain (v1.1+) is able to use VERP-based bounce handling. This would require to have a compatible SMTP relay (the services mentioned above strip out or block VERP addresses in the SMTP envelope) and you also need to set up special MX DNS name that points to your Mailtrain installation server. @@ -273,7 +276,7 @@ If using VERP with iRedMail, see [this post](http://www.iredmail.org/forum/post4 ## Testing -There is a built in /dev/null server in Mailtrain that you can use to load-test your installation. Check the `[testserver]` section in the configuration file for details. By default, the test server is disabled. The server uses only cleartext connections, so select: "Do not use encryption" in the encryption settings when setting up the server data in Mailtrain. +There is a built in /dev/null server in Mailtrain that you can use to load test your installation. Check the `[testServer]` section in the configuration file for details. By default the test server is disabled. The server uses only cleartext connections, so select "Do not use encryption" in the encryption settings when setting up the server data in Mailtrain. Additionally you can generate CSV import files with fake subscriber data: @@ -285,7 +288,7 @@ This command generates a CSV file with 100 000 subscriber accounts ## Translations -Mailtrain is currently not translated but it supports translations. To add translations you first need to add translation support for the translatable strings. To test if strings are translatable or not, use a fake language with the code "zz". +Mailtrain is currently not translated but it supports translations. To add translations you first need to add translation support for the translatable strings. To test if strings are translatable or not, use a fake language with code "zz" ```toml language="zz" @@ -313,11 +316,11 @@ let str2 = util.format( _('My name is "%s"'), 'Mailtrain'); ### Translating Handlebars Files -Enclose translatable strings to `{{#translate}}` tags +Enclose translatable strings to `` tags ```handlebars

- Mailtrain – {{#translate}}the best newsletter app{{/translate}} + Mailtrain – the best newsletter app

``` @@ -327,11 +330,10 @@ Enclose translatable strings to `{{#translate}}` tags * To create the translation catalog run `grunt` from command line. This fetches all translatable strings from JavaScript and Handlebars files and merges these into the translation catalog located at */languages/mailtrain.pot* -* To add a new language use this catalog file as a source. Once you want to update your translation file from the updated catalog, select "Catalogue" -> "Update from POT file..." in POEdit and select mailtrain.pot. This will merge all the new translations from the POT file to your PO file. - +* To add a new language use this catalog file as source. Once you want to update your translation file from the updated catalog, then select "Catalogue" -> "Update from POT file..." in POEdit and select mailtrain.pot. This would merge all new translations from the POT file to your PO file. *If you have saved the PO file in [./languages](./languages) then POEdit should auto generate required MO file whenever you hit save for the PO file. -* Once you have a correct MO file in the languages folder, edit Mailtrain config and set ["language" option](https://github.com/Mailtrain-org/mailtrain/blob/ba8bd1212335cb9bd7ba094beb7b5400f35cae6c/config/default.toml#L30-L31) to your language name. If the value is "et" then Mailtrain loads translations from ./languages/et.mo +* Once you have a correct MO file in the languages folder, then edit Mailtrain config and set ["language" option](https://github.com/Mailtrain-org/mailtrain/blob/ba8bd1212335cb9bd7ba094beb7b5400f35cae6c/config/default.toml#L30-L31) to your language name. If the value is "et" then Mailtrain loads translations from ./languages/et.mo > **NB!** For now translation settings are global, so if you have set a translation in config then this applies to all users. An user can't select another translation than the default even if there is a translation file. This is because current Mailtrain code does not provide request context to functions and the functions generating strings do not know which language to use. diff --git a/docs/access-control.md b/docs/access-control.md new file mode 100644 index 00000000..053b88f1 --- /dev/null +++ b/docs/access-control.md @@ -0,0 +1,141 @@ +## Access Control + +This document describes the key features and concepts of the current state of +access control in Mailtrain. + +The current state provides user management and granular access control to reports +and report templates. The user management supports both local authentication and +LDAP-based authentication. + +The access control has two abstractions levels: a high-level intended to be used through web UI, +and low-level, intended to be configured once through the Mailtrain config file. The high-level +layer serves for providing access to variuous resources, while the low-level layer is meant +to define the access roles in Mailtrain to reflect an organisational or process hierarchy. + +### High-level access management (through web UI) + +On the high abstraction level, which is accessible to users via the web-based UI, Mailtrain +recognizes different entities (reports, report templates, etc.) and user roles that regulate +access to these entities (e.g. role "reporter" that allows viewing a report but prevents editing +or deleting it). Access to entities is provided through so called "shares". A share is essentially +a triple: entity - role - user. + +Mailtrain further features hierarchical namespaces. Every entity has to reside in a namespace +(in reality, the namespace itself is an entity to which access can be given). + +While sharing an entity with a user gives the user access to the particular entity (in the +scope of the role), sharing a namespace amounts to giving access to all entities within +the namespace and transitively in all child namespaces. The role that regulates the access to the +particular namespaces further determines the access to all different entity types that can +reside in the namespace. + +To simplify the management of permissions, every user is associated with one global role and +a namespace. The global role regulates access to global resources and operations (i.e. those +things that are not associated with any namespace). An example of such a global operation is +rebuilding the permission cache. Further, the global role determines a default share of the +root namespace and the namespace of the user. For example, an administrator's global role may +specify that a user get administrator's role in the root namespace, which effectively gives +him/her access to everything. + +Mailtrain resets these default shares at start and also whenever permission cache is rebuilt +(essentially every time user, namespace or some entity is created or when share or user's + role is assigned). This effectively prevents deleting or overriding the default shares that + the user has through the global role. + + +### Low-level access management (through config file) + +Internally, Mailtrain relies on fine-grained permissions, which are triplets: +user - operation - entity (e.g. user id 1 - view - report id 2). These permissions are stored +in a permission cache (in DB) and automatically generated at startup and whenever the permissions + could have changed. + +Mailtrain's config file defines the roles (available in the high-level access management) and +specifies the mapping of roles to operations. + +The roles are potentially different for each entity type/scope (currently global, namespace, report, +report template). Each role defines the permitted operations for the given entity type/scope. +A namespace role further defines allowed operations for entity types within and under the + namespace. + +The following defines the role master for scope "global". This effectively means that in +"Create/Edit User" form, the user can be given role "Master". +The role gives the permission to rebuild the permission cache. + +Further, it specifies that the +holder of the role will automatically be given access (share) to the root namespace in the +namespace role "master" (specified by ```rootNamespaceRole="master"```). This access to the root namespace is given irrespective of the namespace +in which the user is created. This highlight the dual purpose of namespaces: a) they group +entities w.r.t. access management, b) they allow categorizing entities and users in a hierarchy +to potentially reflect the organisational or process hierarchy. The latter is especially useful for +more enterprise applications where a single installation of Mailtrain serves a number of rather +independent groups. + +The global role defined below is also an admin role (denoted by the ```admin=true```), which means that user id 1 will always be reset to this role. +This serves as a kind of bootstrap that makes sure that there is always a user that can be +used to give access to other users. +``` +[roles.global.master] +name="Master" +admin=true +description="All permissions" +permissions=["rebuildPermissions"] +rootNamespaceRole="master" +``` + +Another example for a global role is the following. This one is intended for regular users. +As such, it does not automatically give access to everything. Rather, it gives limited access +to entities under the namespace in which the user has been created. This is specified by the +```ownNamespaceRole="editor"``` +``` +[roles.global.editor] +name="Editor" +description="Anything under own namespace except operations related to sending and doing reports" +permissions=[] +ownNamespaceRole="editor" +``` + +The roles for entities are defined in a similar fashion. The example below shows the definition +of the role "master" for "report" entities. It lists the operations that a user +that has "master" access to a particular report can do with the report. Note that to get the +"master" access to a particular report through this role, the report would either have to be shared with the user +with role "master". +``` +[roles.report.master] +name="Master" +description="All permissions" +permissions=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"] +``` + +The same for the restricted role "editor" can look as follows. +``` +[roles.report.editor] +name="Editor" +description="Anything under own namespace except operations related to sending and doing reports" +permissions=["view", "viewContent", "viewOutput"] +``` + +The following defines the role "master" for "namespace" entities. Similarly to the example above, +it lists operations that relate to a namespace. In particular all "create" operations pertain +to a namespace rathen than to an entity, which at the time of creation does not exist yet. +Additionally, the namespace roles define permissions to all entity types under the namespace +(including child namespaces). +``` +[roles.namespace.master] +name="Master" +description="All permissions" +permissions=["view", "edit", "delete", "share", "createNamespace", "createReportTemplate", "createReport", "manageUsers"] + +[roles.namespace.master.children] +reportTemplate=["view", "edit", "delete", "share", "execute"] +report=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"] +namespace=["view", "edit", "delete", "share", "createNamespace", "createReportTemplate", "createReport", "manageUsers"] +``` + +And the same for the more restricted role "editor". +``` +[roles.namespace.editor.children] +reportTemplate=[] +report=["view", "viewContent", "viewOutput"] +namespace=["view", "edit", "delete"] +``` \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 9428aaf4..00000000 --- a/index.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict'; - -/** - * Module dependencies. - */ - -const config = require('config'); -const log = require('npmlog'); -const app = require('./app'); -const http = require('http'); -const https = require('https'); -const fs = require('fs'); -const fork = require('child_process').fork; -const triggers = require('./services/triggers'); -const importer = require('./services/importer'); -const verpServer = require('./services/verp-server'); -const testServer = require('./services/test-server'); -const postfixBounceServer = require('./services/postfix-bounce-server'); -const tzupdate = require('./services/tzupdate'); -const feedcheck = require('./services/feedcheck'); -const dbcheck = require('./lib/dbcheck'); -const tools = require('./lib/tools'); -const reportProcessor = require('./lib/report-processor'); -const executor = require('./lib/executor'); -const privilegeHelpers = require('./lib/privilege-helpers'); - -let port = config.www.port; -let host = config.www.host; - -if (config.title) { - process.title = config.title; -} - -log.level = config.log.level; -app.set('port', port); - -/** - * Create HTTP/HTTPS server. - */ - -let server = (!config.www.https) ? http.createServer(app) : https.createServer({ - cert: fs.readFileSync(config.www.cert), - key: fs.readFileSync(config.www.key), - ca: config.www.ca ? fs.readFileSync(config.www.ca) : undefined, - dhparams: config.www.dhparams ? fs.readFileSync(config.www.dhparams) : undefined -}, app); - -// Check if database needs upgrading before starting the server -dbcheck(err => { - if (err) { - log.error('DB', err.message || err); - return process.exit(1); - } - /** - * Listen on provided port, on all network interfaces. - */ - server.listen(port, host); -}); - - -server.on('error', err => { - if (err.syscall !== 'listen') { - throw err; - } - - let bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; - - // handle specific listen errors with friendly messages - switch (err.code) { - case 'EACCES': - log.error('Express', '%s requires elevated privileges', bind); - return process.exit(1); - case 'EADDRINUSE': - log.error('Express', '%s is already in use', bind); - return process.exit(1); - default: - throw err; - } -}); - -function spawnSenders(callback) { - let processes = Math.max(Number(config.queue.processes) || 1, 1); - let spawned = 0; - let returned = false; - - if (processes > 1 && !config.redis.enabled) { - log.error('Queue', '%s processes requested but Redis is not enabled, spawning 1 process', processes); - processes = 1; - } - - let spawnSender = function () { - if (spawned >= processes) { - if (!returned) { - returned = true; - return callback(); - } - return false; - } - - let child = fork(__dirname + '/services/sender.js', []); - let pid = child.pid; - tools.workers.add(child); - - child.on('close', (code, signal) => { - spawned--; - tools.workers.delete(child); - log.error('Child', 'Sender process %s exited with %s', pid, code || signal); - // Respawn after 5 seconds - setTimeout(() => spawnSender(), 5 * 1000).unref(); - }); - - spawned++; - setImmediate(spawnSender); - }; - - spawnSender(); -} - -server.on('listening', () => { - let addr = server.address(); - let bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; - log.info('Express', 'WWW server listening on %s', bind); - - // start additional services - function startNextServices() { - testServer(() => { - verpServer(() => { - - privilegeHelpers.dropRootPrivileges(); - - tzupdate(() => { - importer(() => { - triggers(() => { - spawnSenders(() => { - feedcheck(() => { - postfixBounceServer(() => { - reportProcessor.init(() => { - log.info('Service', 'All services started'); - }); - }); - }); - }); - }); - }); - }); - }); - }); - } - - if (config.reports && config.reports.enabled === true) { - executor.spawn(startNextServices); - } else { - startNextServices(); - } -}); diff --git a/languages/de_DE.mo b/languages/de_DE.mo deleted file mode 100644 index 419808d4..00000000 Binary files a/languages/de_DE.mo and /dev/null differ diff --git a/languages/de_DE.po b/languages/de_DE.po deleted file mode 100644 index b5f10985..00000000 --- a/languages/de_DE.po +++ /dev/null @@ -1,4700 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-04 00:45+0200\n" -"PO-Revision-Date: 2018-03-07 14:12+0100\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: de_DE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Selbst gehostete Newsletter-App" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Home" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Blacklist" - -#: views/blacklist.hbs:4 views/users/api.hbs:55 -msgid "Add email to blacklist" -msgstr "E-Mail Adresse zur Blacklist hinzufügen" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Hinzufügen" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "E-Mail" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:126 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampagnen" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Blacklisted info" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Kampagne ansehen" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Abonnenten, die von der globalen Blacklist aufgelistet wurden:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Adresse" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Vorname" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Nachname" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Grund" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Zeit" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Bounced Info" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Abonnenten, die bounced und abgemeldet wurden:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "SMTP Antwort" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Bounce Zeitpunkt" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:27 -msgid "Create Campaign" -msgstr "Kampagne erstellen" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Normale Kampagne" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "RSS-Kampagne" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Trigger-Kampagne" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Name" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Beschreibung" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Status" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Erstellt" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Link Info" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Klicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% der Klicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% der Nachrichten" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Aggregierte Klicks" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Abonnenten welche einen Link geklickt haben:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Abonnenten welche diesen Link geklickt haben:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Statistik: Land" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Statistik: Gerätetyp" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Erste Klickzeit" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Anzahl Klicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Beschwerde Info" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Abonnenten welche sich beschwert haben und deabonniert wurden:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Zeitpunkt der Beschwerde" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:20 -msgid "Create RSS Campaign" -msgstr "RSS-Kampagne erstellen" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Eine RSS-Kampagne setzt einen Tracker auf den gewählten RSS-Feed. Wenn ein " -"neuer Eintrag in diesem Feed gefunden wird, wird er als E-Mail an die " -"ausgewählte Liste gesendet." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Kampagnen Name" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML ist erlaubt" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Liste" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Bitte wählen" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "Abonnenten" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS Feed URL" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Neue Beiträge dieser RSS URL werden den Abonnenten als E-Mail-Nachrichten " -"zugestellt" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "E-Mail \"von Name\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Dies ist der Absendername Ihrer E-Mails" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "E-Mail \"von Adresse\"" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Dies ist die Reply-To Adresse" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:28 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:27 -msgid "Disable opened tracking" -msgstr "Deaktiviere das Tracking beim Öffnen der E-Mail (Zählpixel)" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:29 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:28 -msgid "Disable clicked tracking" -msgstr "Deaktiviere das Tracking beim Klicken von Links" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Trigger-Kampagne erstellen" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Vorlage" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Vorlage auswählen:" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "" -"Wenn Sie eine Vorlage auswählen, wird eine Kopie nur für diese Kampagne erstellt" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" -"Oder alternativ können Sie eine URL als Quelle für den E-Mail Inhalt verwenden:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Wenn eine Nachricht gesendet wird, wird diese URL per POST Request " -"aufgerufen mit den Merge-Tags als POST-Body. Verwenden Sie diese Funktion, " -"wenn Sie die HTML-Nachricht selbst generieren möchten" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "E-Mail Betreffzeile" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Halten Sie den Inhalt relevant und frei von Spam" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Dies ist die Adresse, an welche Antworten gesendet werden, ausser die " -"Kampagnenspezifische \"reply-to\" Adresse ist definiert" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "E-Mail \"reply-to\" Adresse" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"Falls gesetzt, ist dies die Adresse an welche E-Mail-Antworten gesendet " -"werden" - -#: views/campaigns/create.hbs:26 views/campaigns/edit.hbs:25 -msgid "Custom unsubscribe (URL)" -msgstr "Benutzerdefiniertes Deabonnement (URL)" - -#: views/campaigns/create.hbs:27 views/campaigns/edit.hbs:26 -msgid "Set a custom unsubscribe url" -msgstr "Geben Sie eine eigene URL an, die den Abonnenten zum Abmelden angezeigt wird" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Zustellungs Info" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Abonnenten, welche die Nachricht erfolgreich erhalten (kein \"bounce\") und " -"nicht deabonniert haben:" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Zugestellt am" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "RSS-Kampagne bearbeiten" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Allgemeine Einstellungen" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Verwenden Sie den speziellen Merge-Tag [RSS ENTRY], um die Position für den " -"RSS-Beitrag zu markieren. Zusätzlich können Sie auch alle gültigen Merge-" -"Tags verwenden." - -#: views/campaigns/edit-rss.hbs:23 views/campaigns/edit-triggered.hbs:26 -#: views/campaigns/edit.hbs:34 -msgid "Delete Campaign" -msgstr "Kampagne löschen" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 views/lists/edit.hbs:17 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:29 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:99 views/templates/edit.hbs:12 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Aktualisieren" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Trigger-Kampagne bearbeiten" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "Generell" - -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Template Settings" -msgstr "Vorlagen Einstellungen" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template URL" -msgstr "Vorlagen URL" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Kampagne bearbeiten" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:29 -msgid "Attachments" -msgstr "Anhänge" - -#: views/campaigns/edit.hbs:30 -msgid "File" -msgstr "Datei" - -#: views/campaigns/edit.hbs:31 -msgid "Size" -msgstr "Grösse" - -#: views/campaigns/edit.hbs:32 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Keine Daten verfügbar in dieser Tabelle" - -#: views/campaigns/edit.hbs:33 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Datei hinzufügen" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Öffnungs Info" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Abonnenten, die diese Nachricht geöffnet haben:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Erstmals geöffnet" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Anzahl Öffnungen" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Deabonnement Info" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Abonnenten welche deabonnierten:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:10 routes/lists.js:202 -msgid "Unsubscribed" -msgstr "Deabonniert" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Hochladen" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Übersicht" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "Feed URL" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Letzter check" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Noch nicht geprüft" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"Aktivieren Sie die Kampagne, um die Überprüfung des Feeds auf neue " -"Nachrichten zu starten" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "RSS Status" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Kampagnen Vorschau als" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Neuen Testbenutzer hinzufügen" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Noch keine Testbenutzer vorhanden, erstellen Sie einen hier" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Los" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Zugestellt" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Abonnenten dieser Liste, die diese Nachricht erhalten haben" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Blacklisted" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Abonnenten, die von der globalen Blacklist aufgelistet wurden" - -#: views/campaigns/view.hbs:24 routes/lists.js:202 -msgid "Bounced" -msgstr "Bounced" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Bounced Listen Abonnenten" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Beschwerden" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Abonnenten, die sich über diese Nachricht beschwert haben" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "Abonnenten, die sich nach dieser Nachricht abgemeldet haben" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Geöffnet" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Abonnenten, die diese Nachricht geöffnet haben" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Geklickt" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Abonnenten, die auf einen Link geklickt haben" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion wird mit dem Senden von Nachrichten an die " -"ausgewählte Liste beginnen" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Senden verzögern" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "Stunden" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "Minuten" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "An Abonnenten senden:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "Sind Sie sicher? Diese Aktion wird die Terminierung zurücksetzen" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Abbrechen" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Senden geplant" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pause" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Am senden" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion wird das Senden von E-Mails an die " -"ausgewählte Liste fortsetzen" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"Sind Sie sicher? Diese Aktion würde alle Statistiken über den aktuellen " -"Fortschritt zurücksetzen" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Fortsetzen" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Zurücksetzen" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Weiter" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Alle E-Mails gesendet! Klicken Sie auf \"Weiter\", wenn Sie diese Kampagne " -"an neue Abonnenten senden möchten" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion wird das Senden neuer Einträge des RSS-Feed " -"als E-Mail-Nachrichten an die ausgewählte Liste pausieren" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Kampagnen Status:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "AKTIV" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sind Sie sicher? Diese Aktion würde neue RSS Feed Einträge als E-Mail-" -"Nachrichten der ausgewählten Liste zustellen" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Aktivieren" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INAKTIV" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Dies ist eine Trigger-Kampagne. Nachrichten werden nur an Abonnenten " -"gesendet, die einen Trigger auslösen, der diese Kampagne aufruft" - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "mehr anzeigen" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Abonnenten dieser Liste, die diesen Link geklickt haben" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"Klicks werden als eindeutige Abonnenten gezählt, die auf einen bestimmten " -"Link oder auf irgendeinen Link geklickt haben (in der aggregierter Ansicht)" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Wenn ein neuer Eintrag aus dem Kampagnen-Feed gefunden wird, wird eine neue " -"Unterkampagne von diesem Eintrag erstellt und hier aufgelistet" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Ändern Sie Ihr Passwort" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Wir haben eine Anforderung zur Passwortänderungs für Ihr Mailtrain-Konto erhalten:" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Passwort zurücksetzen" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Wenn Sie Ihr Passwort nicht ändern wollen, können Sie diese E-" -"Mail einfach ignorieren." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Persönliche Einstellungen" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:3 routes/forms.js:213 -#: routes/lists.js:284 -msgid "Unsubscribe" -msgstr "Newsletter abbestellen" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "E-Mail im Browser ansehen" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Hallo [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Viele Grüße," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Listen Management" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain ermöglicht es Ihnen, auch sehr große Listen zu verwalten. Millionen von " -"Abonnenten? Kein Problem. Sie können Abonnenten manuell über die API " -"hinzufügen oder aus einer CSV-Datei importieren. Für alle Listen können " -"zusätzliche Datenfelder und Merge Tags genutzt werden." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Zeige mehr" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Zusätzliche Datenfelder" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Textfelder, Nummern, Dropdowns oder Checkboxen, Mailtrain bietet all das. " -"Jedes zusätzliche Feld kann in den generierten Newslettern über " -"Merge-Tags eingebunden werden." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain bietet auch benutzerdefinierte Formulare." - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Listen Segmentierung" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Senden Sie nur Nachrichten an Abonnenten, welche die vordefinierten " -"Segmentierungsregeln erfüllen. Es besteht keine Notwendigkeit, separate " -"Listen mit kleinen Unterschieden zu erstellen." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "RSS-Kampagnen" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Mailtrain kann RSS-Feeds verfolgen und bei neuen Einträgen automatisch " -"eine neue Kampagne mit dem RSS-Beitrag als Nachrichteninhalt an die " -"ausgewählte Liste senden." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "GPG Verschlüsselung" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Wenn für eine Liste ein benutzerdefiniertes Feld für den GPG-Public-Key " -"vorhanden ist, können Abonnenten ihren GPG-Public-Key hochladen, um " -"alle E-Mails verschlüsselt zu erhalten." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Klick Statistik" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Nachdem eine Kampagne gesendet wurde, sind Klick-Statistiken für jeden in " -"der E-Mail-Nachricht enthaltener Link verfügbar." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Vorlagen Editoren" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain beinhaltet GrapeJS und Mosaico, zwei Programme zum Bearbeiten der " -"E-Mail-Vorlagen. Natürlich bietet Mailtrain auch einen Code-Editor, sofern " -"Sie den HTML Code selber erstellen möchten." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Sende mit beliebigen Anbietern" - -#: views/index.hbs:24 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Mailtrain empfiehlt SendPulse, obwohl Sie " -"jeden Provider verwenden können, der das SMTP-Protokoll unterstützt, um Ihre " -"Newsletter zu versenden. Bounce- und Reklamationsabwicklung werden über " -"Webhooks für SES, SparkPost, SendGrid und Mailgun unterstützt, auch für " -"Postfix und ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:130 -msgid "Automation" -msgstr "Automatisierung" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definieren Sie Automatisierungs-Trigger, um bestimmte Nachrichten zu senden, " -"wenn ein Benutzer den Trigger aktiviert." - -#: views/index.hbs:29 -msgid "Donate to Author" -msgstr "Dem Autor spenden" - -#: views/index.hbs:30 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "Mailtrain ist unter GPLv3 Lizenz verfügbar und komplett offen." - -#: views/index.hbs:31 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is" -msgstr "" -"Wenn Sie Mailtrain wirklich mögen oder Ihr Geschäft davon finanziell " -"profitiert, würde ich eine kleine Spende sehr schätzen, um die Mailtrain-" -"Entwicklung am laufen zu halten. Sie können entweder per Bitcoin oder PayPal " -"spenden. Meine Bitcoin Adresse ist" - -#: views/index.hbs:32 -msgid "Or Donate Using Paypal" -msgstr "Oder spenden Sie mit PayPal" - -#: views/index.hbs:33 -msgid "Official Mailtrain Partners" -msgstr "Offizielle Mailtrain Partner" - -#: views/index.hbs:34 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" -"Ein zuverlässiger SMTP-Server, einfache Integration und 12.000 Nachrichten " -"pro Monat kostenlos" - -#: views/index.hbs:35 -msgid "Free, open source mail server solution" -msgstr "Kostenlose, Open Source Mail Server Lösung" - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Navigation umschalten" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Account" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Einstellungen" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Abmelden" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Anmelden" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "Selbst gehostete Newsletter-App basierend auf Nodemailer" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Quellcode auf Github" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Abonnieren Sie unseren Newsletter" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:118 routes/lists.js:59 -msgid "Lists" -msgstr "Listen" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:10 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Liste erstellen" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Name der Liste" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -msgid "Allow public users to subscribe themselves" -msgstr "Allen erlauben, diese Liste selbst zu abonnieren" - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Deabonnement" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "" -"Wählen Sie, welche Schritte zum Abmelden von der Liste notwendig sein sollen." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Liste bearbeiten" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Liste ansehen" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "Listen ID" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Diese Listen ID wird den Abonnenten dargestellt" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Benutzerdefiniertes Formular" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Standard Mailtrain Formular" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Das Standard-Formular dieser Liste. Wenn Sie ein benutzerdefiniertes Formular " -"erstellen möchten, klicken Sie hier." - -#: views/lists/edit.hbs:19 -msgid "Unsubscribe Header" -msgstr "Deabonnement Header" - -#: views/lists/edit.hbs:20 -msgid "Do not send List-Unsubscribe headers" -msgstr "Sende keine Header zum Abmelden von der Liste" - -#: views/lists/edit.hbs:16 -msgid "Delete List" -msgstr "Liste löschen" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Feld erstellen" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "zusäzliches Feld erstellen" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Feldnamen" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Feldtyp" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Text" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Nummer" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Webseite" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "GPG Public Key" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Mehrzeiliger Text" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Datum" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Datum (MM/DD/YYYY)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Datum (DD/MM/YYYY)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Geburtstag" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Geburtstag (MM/DD)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Geburtstag (DD/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Gruppiert" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Dropdown" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Radio Buttons" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxen" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Option für einen Gruppenwert" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Gruppe" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Erforderlich für Gruppenoptionen" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Standard Wert für Merge-Tag" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Für Gruppenelemente wie Checkboxen können Sie das Aussehen des Merge-Tags " -"mit einer optionalen Vorlage steuern. Die Vorlage verwendet die Handlebars-" -"Syntax und Sie können alle Werte des {{values}} Array finden, " -"zB {{#each}} {{this}} {{/each}}. Wenn die Vorlage nicht " -"definiert ist, werden mehrere Werte mit Kommas verbunden. Sie können diese " -"Vorlage auch verwenden, um JSON-Werte zu rendern (wenn das JSON ein Array " -"ist, dann ist das Array als values verfügbar, ansonsten können " -"Sie direkt auf die JSON-Keys zugreifen)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Sichtbar" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Feld hinzufügen" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Feld bearbeiten" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Zusätzliches Feld bearbeiten" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Zurück zu den Feldern" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/mosaico/editor.hbs:2 views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "Merge-Tag" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Merge-Tag" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Fügen Sie diesen Tag Ihrem Inhalt hinzu:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Feld löschen" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Typ" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:22 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:166 routes/lists.js:253 routes/report-templates.js:51 -#: routes/templates.js:170 routes/triggers.js:297 -msgid "Edit" -msgstr "Bearbeiten" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Benutzerdefinierte Formulare" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Formular erstellen" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Benutzerdefiniertes Formular erstellen" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Formular-Name" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Formular hinzufügen" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Formular bearbeiten" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Formular bearbeiten" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Zurück zu Formulare" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Optionale Kommentare zu diesem Formular" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Formular Vorschau" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Hinweis: Diese Links dienen ausschließlich der Vorschau. Wenn Sie ein " -"Vorschau-Formlar absenden, werden Sie auf das Standardformular der Liste " -"umgeleitet." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:4 routes/forms.js:157 -#: routes/lists.js:284 -msgid "Subscribe" -msgstr "Abonnieren" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Notice" -msgstr "Bestätigung erforderlich" - -#: views/lists/forms/edit.hbs:15 -msgid "Updated Notice" -msgstr "Profil aktualisiert" - -#: views/lists/forms/edit.hbs:16 -msgid "Unsubscribed Notice" -msgstr "Abmeldungshinweis" - -#: views/lists/forms/edit.hbs:17 routes/forms.js:195 -msgid "Manage" -msgstr "Verwalten" - -#: views/lists/forms/edit.hbs:18 -msgid "Manage Address" -msgstr "Adresse Verwalten" - -#: views/lists/forms/edit.hbs:19 -msgid "Create a test user for additional options" -msgstr "Erstellen Sie einen Testbenutzer für zusätzliche Optionen" - -#: views/lists/forms/edit.hbs:20 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:122 routes/templates.js:27 -msgid "Templates" -msgstr "Vorlagen" - -#: views/lists/forms/edit.hbs:21 -msgid "Fields" -msgstr "Felder" - -#: views/lists/forms/edit.hbs:23 -msgid "Form Fields" -msgstr "Formular Felder" - -#: views/lists/forms/edit.hbs:24 -msgid "Fields hidden on subscription page:" -msgstr "Unsichtbare Felder auf der Anmeldung-Seite:" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields shown on subscription page:" -msgstr "Sichtbare Felder auf der Anmeldung-Seite:" - -#: views/lists/forms/edit.hbs:26 -msgid "Fields hidden on preferences page:" -msgstr "Unsichtbare Felder auf der Profil-Seite:" - -#: views/lists/forms/edit.hbs:27 -msgid "Fields shown on preferences page:" -msgstr "Sichtbare Felder auf der Profil-Seite:" - -#: views/lists/forms/edit.hbs:28 -msgid "Delete Form" -msgstr "Formular löschen" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "Das Standard-Formular für diese Liste ist:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Abonnenten" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmente" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Segment erstellen" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Segmentnamen" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Regel match" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Alle Regeln müssen zutreffen" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Irgendeine Regel kann zutreffen" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Segment hinzufügen" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Segment bearbeiten" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Zurück zu Segmente" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Segment löschen" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Regel erstellen" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regel" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Wert" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Verwenden Sie % für Platzhalterzeichen, z.B. \"%test“, um alle Werte zu " -"matchen, die mit \"test\" enden" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Exact match verwenden" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Range match verwenden" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Relative range match verwenden" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "Von" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "Tage" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "vor heute" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "nach heute" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "an" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Ausgewählt" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "Nicht ausgewählt" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Regel hinzufügen" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:15 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Weiter" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Regel löschen" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Match" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segment" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Regel match" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Passende Abonnenten" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "zeige" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Abonnent hinzufügen" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "E-Mail-Adresse" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Beginnt mit" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Falls Sie hier einen GPG Public Key einfügen, wird dieser verwendet um E-" -"Mails an diesen Abonnenten zu verschlüsseln" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Zeitzone" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Test-Benutzer?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Wenn diese Option aktiviert ist, kann dieser Abonnent für die Vorschau von " -"Kampagnen verwendet werden" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Diese Person wird keine Bestätigungs-E-Mail erhalten. Stellen Sie sicher, " -"dass Sie die Erlaubnis haben, dieser Person E-Mails zu senden." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Abonnent bearbeiten" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Zurück zur Liste" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:41 lib/models/segments.js:11 -msgid "Email address" -msgstr "E-Mail-Adresse" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Abonnement löschen" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Import status" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Fehlgeschlagene Adressen" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "" -"Role-based addresses like postmaster@example.com are blocked when importing. " -"Subscribers with role-based email addresses can join your list using the " -"subscription form" -msgstr "" -"Rollenbasierte Adressen wie postmaster@example.com sind beim Import " -"gesperrt. Abonnenten mit rollenbasierten E-Mail-Adressen können sich mit dem " -"Anmeldeformular Ihrer Liste abonnieren." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "sehen Sie hier" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Fehlerursache" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Abonnenten importieren" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:54 -#: views/users/api.hbs:62 views/users/api.hbs:70 -msgid "Example" -msgstr "Beispiel" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Import starten" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "CVS Datei" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "CSV-Trennzeichen" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "Kategorisiere die importierten Abonnenten als" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:202 -msgid "Subscribed" -msgstr "Abonniert" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "Normale Abonnenten-Adressen" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Unterdrückte E-Mail-Adressen, die von Ihrer Liste abgemeldet werden" - -#: views/lists/subscription/import.hbs:12 -msgid "Check imported emails" -msgstr "Überprüfe die importierten E-Mail-Adressen" - -#: views/lists/subscription/import.hbs:13 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Aktiviert" - -#: views/lists/subscription/import.hbs:14 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Deaktiviert" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Abonnement Formular" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Listen Aktionen" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Trigger erstellen" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Abonnent hinzufügen" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Abonnenten importieren" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Neues Segment erstellen" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filter" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Abonnements" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importe" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:296 -msgid "Finished" -msgstr "Fertig" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Hinzugefügt" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Aktualisiert" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Fehlgeschlagen" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"Sind Sie sicher? Diese Aktion sollte nur ausgeführt werden, um Probleme mit " -"hängenden Importen zu lösen" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Neustart" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Merge-Tag Referenz" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "MOSAICO Responsive E-Mail-Designer" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Erfolgreich gespeichert" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Beim Speichern des Dokuments ist ein Fehler aufgetreten" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Nicht gespeicherte Änderungen gehen verloren. Jetzt schließen?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Tags" - -#: views/partials/codeeditor.hbs:1 views/partials/grapejs.hbs:1 -#: views/partials/mosaico.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Vorlagen-Inhalt (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "SPEICHERN" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "AM SPEICHERN" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "SCHLIESSEN" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "GrapeJS öffnen" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "HTML Vorschau anzeigen" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Um den Klartext aus dem HTML Dokument zu extrahieren, klicken Sie hier." - -#: views/partials/html-to-text.hbs:2 -msgid "" -"Please note that your existing plaintext in the field above will be " -"overwritten. This feature uses the Premailer API, a third party " -"service. Their Terms of Service and Privacy Policy apply." -msgstr "" -"Hierbei wird Ihr bestehender Klartext im Feld oberhalb überschreiben. Diese " -"Funktion nutzt die Premailer API. Die Verwendung unterliegt " -"deren AGB und Datenschutzbestimmungen." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "Beim Datenverkehr mit dem Server ist ein Fehler aufgetreten" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge-Tags sind Tags, die vor dem Senden der Nachricht ersetzt werden. Das " -"Format des Merge-Tags lautet wie folgt: [TAG_NAME] oder " -"[TAG_NAME/fallback] wobei fallback ein optionaler " -"Textwert ist, der verwendet wird, falls TAG_NAME leer ist." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{title}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Mosaico öffnen" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Vorlagen-Inhalt (Klartext)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:137 routes/reports.js:31 -msgid "Reports" -msgstr "Reporte" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Vorlage erstellen" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Report-Vorlage erstellen" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Vorlage bearbeiten" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Report-Vorlage bearbeiten" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "Vorlage löschen" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Aktualisieren und bleiben" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Aktualisieren und verlassen" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Vorlagen-Name" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Vom Benutzer wählbare Felder" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Datenverarbeitungs-Code" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Render-Vorlage" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Leer" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Alle Abonnenten" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Gruppierte Abonnenten" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Liste als CSV exportieren" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Report-Vorlagen" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Report erstellen" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Report bearbeiten" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Report löschen" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Report-Name" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Wählen Sie eine Kampagne in der obigen Tabelle aus, indem Sie auf die " -"jeweilige Zeilennummer klicken." - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Report-Vorlage" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Service Adresse (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Geben Sie die URL ein, auf welcher dieser Service verfügbar ist" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Admin E-Mail" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Geben Sie hier die E-Mail-Adresse ein, die als \"von\" für Systemmeldungen " -"verwendet wird" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "WYSIWYG Editor deaktivieren" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "Wenn markiert zeigt der Editor HTML-Code ohne Vorschau an" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Bestätigungsmeldungen für Abonnements deaktivieren" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Wenn markiert wird keine Bestätigungsnachricht gesendet, die besagt, dass " -"der Teilnehmer jetzt abonniert oder abgemeldet ist. Dies deaktiviert die " -"Double-Opt-In-Nachrichten nicht." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "Tracking ID" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Google-Analytics Tracking-Code" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Meldung auf der Startseite" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "HTML-Code im Kopfbereich der Startseite" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Kampagnenvorgaben" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Absender Name" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Absender Name, z.B. Meine grossartige Firma" - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Standardadresse" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "Kontakt Adresse, z.B. 1234 Hauptstrasse, 01234 Irgendwo, Deutschland" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Standard \"von\" Namen" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Standard \"von\" E-Mail-Adresse" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "Standard \"Betreffzeile\"" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Standard-Homepage (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL, um die abonnierten Benutzer weiterzuleiten, z.B. http://example.com/" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Mailer-Einstellungen" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Diese Einstellungen sind erforderlich, um E-Mails zu senden" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "SMTP zum Senden der E-Mails verwenden" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "Hostname" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Port" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Port, z.B: 465. Automatisch erkannt wenn leer" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Verschlüsseleung" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "SMTP Authentifizierung deaktivieren" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Benutzername" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Benutzername, z.B: myaccount@example.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Passwort" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "SES API zum Versenden der E-Mails verwenden" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "Access Key" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "AWS Access Key Id" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "Secret Key" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "AWS Secret Access Key" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Region" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Am überprüfen" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Mailer-Konfiguration überprüfen" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" -"Haben Sie noch kein SMTP-Konto? Erstellen Sie einen kostenloses SendPulse-" -"Account" - -#: views/settings.hbs:53 -msgid "here" -msgstr "hier" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "Erweiterte Mailer-Einstellungen" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "SMTP-Transaktionen Loggen" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "Selbstsignierte Zertifikate zulassen" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "Max. Verbindungen" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "Die Anzahl maximaler Verbindungen, z.B. 10" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Anzahl der maximalen parallelen Verbindungen zum SMTP-Server (standardmäßig " -"auf 5). Diese Limite gilt per Sendungsprozess." - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "Max. Nachrichten" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "Die Anzahl maximaler Nachrichten, z.B. 100" - -#: views/settings.hbs:62 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"Die Anzahl der Nachrichten, die durch eine einzige Verbindung gesendet " -"werden sollen, bevor die Verbindung geschlossen und wieder geöffnet wird " -"(standardmäßig 100)" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "Throttling" - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "E-Mail-Nachrichten pro Stunde z.B. 1000" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Maximale Anzahl von E-Mails, die in einer Stunde gesendet werden sollen. " -"Leer oder 0 bedeutet keine Drosselung. Wenn Ihr Provider eine andere " -"Geschwindigkeitsbegrenzung (Nachrichten/Minute oder Nachrichten/Sekunde) " -"verwendet, dann konvertieren Sie diesen Wert in Nachrichten/Stunde (1m/s => " -"3600m/h). Diese Limite gilt pro Sendungsprozess." - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "VERP bounce Handhabung" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain ist in der Lage, VERP-basiertes Routing zu verwenden, um Bounces " -"zu erkennen. In diesem Fall wird die Nachricht an den Empfänger über eine " -"benutzerdefinierte VERP-Adresse als Return Path der Nachricht gesendet. Wenn " -"die Nachricht nicht akzeptiert wird, wird eine Bounce-E-Mail an diese " -"spezielle VERP-Adresse gesendet und damit ein Bounce erkannt." - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"Damit VERP funktioniert, müssen Sie einen DNS MX Record einrichten, der auf " -"Ihren Mailtrain Hostnamen verweist. Sie müssen auch sicherstellen, dass die " -"Mailtrain VERP-Schnittstelle von Port 25 Ihres Servers verfügbar ist (Port " -"25 benötigt normalerweise Root-Benutzerberechtigung). Folglich landen E-" -"Mails an someuser@verp-hostname auf diesem Server." - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"VERP funktioniert in der Regel nur, wenn Sie Ihren eigenen SMTP-Server " -"verwenden. Reguläre Relay Services (SES, SparkPost, Gmail etc.) neigen dazu, " -"die VERP-Adresse aus der Nachricht zu entfernen." - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "VERP verwenden um bounces zu erfassen" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "Hostname" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "VERP Server Hostname, z.B. bounces.example.com" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"VERP bounce handling Server Hostname. Dieser Hostname wird in der SMTP " -"envelope FROM Adresse verwendet. Die MX DNS Records sollten auf diesen " -"Server verweisen" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"VERP Bounce handling Server ist nicht aktiviert. Ändern Sie die Server-" -"Konfigurationsdatei und starten Sie den Server neu, um ihn zu aktivieren." - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "GPG Signierung" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Nur verschlüsselte Nachrichten können signiert werden. Abonnenten, die " -"keinen GPG Public Key in ihrem Profil hinterlegt haben, erhalten normale E-" -"Mails. Benutzer mit hinterlegtem GPG Key erhalten verschlüsselte Nachrichten " -"und wenn Sie den Signing Key auch gesetzt haben, werden die Nachrichten mit " -"diesem Schlüssel signiert." - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"Verwenden Sie hier keine sensiblen Keys. Der private Key und Passphrase " -"werden in der Datenbank nicht verschlüsselt." - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "Private Key Passphrase" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "Passwort für den Key falls gesetzt" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" -"Füllen Sie dies nur aus, wenn Ihr privater Schlüssel mit einer Passphrase " -"verschlüsselt ist" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "GPG Private Key" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Dieser Wert ist optional. Wenn Sie keinen private Key zur Verfügung stellen " -"werden GPG verschlüsselte Nachrichten ohne Signierung gesendet." - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "DKIM Signing durch ZoneMTA" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"Wenn Sie ZoneMTA verwenden, kann Mailtrain einen DKIM-Key zur Signierung " -"aller ausgehenden Nachrichten bereitstellen. Andere Dienste bieten in der " -"Regel ihre eigenen Mittel an um Ihre E-mails per DKIM zu signieren" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"Verwenden Sie hier keine sensiblen Keys. Der private Key wird in der " -"Datenbank nicht verschlüsselt." - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "ZoneMTA DKIM API Key" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "Ein geheimer Wert" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Geheimer Wert, der ZoneMTA für die Anforderung von DKIM-" -"Schlüsselinformationen bekannt ist. Wenn dieser Wert vom Mailtrain-" -"Installationsskript generiert wurde, können Sie diese Einstellung so " -"behalten, wie sie ist" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "DKIM Domain" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "Domain-Name für den DKIM-Key" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "Leer lassen, um die Domain der Sender-E-Mail-Adresse zu verwenden" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "DKIM Key Selector" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "Signierung ist ohne gültigen Wert deaktiviert" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "DKIM Private Key" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Dieser Wert ist optional. Wenn Sie keinen privaten Schlüssel bereitstellen, " -"werden Nachrichten nicht signiert." - -#: views/subscription/mail-confirm-html.mjml.hbs:1 -#: views/subscription/mail-confirm-text.hbs:1 routes/subscription.js:551 -msgid "Please Confirm Subscription" -msgstr "Bitte bestätigen Sie ihr Abonnement" - -#: views/subscription/mail-confirm-html.mjml.hbs:2 -#: views/subscription/mail-confirm-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Ja, tragen Sie mich in diese Liste ein" - -#: views/subscription/mail-confirm-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Sie werden nicht abonniert, wenn Sie nicht auf den Bestätigungslink oben " -"klicken." - -#: views/subscription/mail-confirm-html.mjml.hbs:4 -#: views/subscription/mail-confirm-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Bei Fragen zu dieser Liste wenden Sie sich bitte an:" - -#: views/subscription/mail-confirm-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Sie werden nicht abonniert, es sei denn, Sie klicken auf den " -"Bestätigungslink oben." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Abonnement bestätigt" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "Ihr Abonnement für unsere Liste wurde bestätigt" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Wenn Sie Ihr Abonnement ändern möchten, dann können Sie " - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "Ihre Einstellungen bearbeiten" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "oder" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "diesen Newsletter abbestellen" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-notice.mjml.hbs:3 -#: views/subscription/web-subscribed.mjml.hbs:4 -#: views/subscription/web-unsubscribe-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Zurück zu unserer Website" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Sie wurden erfolgreich in unsere Liste eingetragen." - -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Wenn Sie Ihr Abonnement ändern möchten, können Sie:" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Sie Sind Nun Abgemeldet" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Ihre E-Mail-Adresse wurde aus unserer Liste entfernt" - -#: views/subscription/mail-unsubscribe-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" -"Wenn Sie sich versehentlich ausgetragen haben, können Sie sich erneut " -"eintragen:" - -#: views/subscription/mail-unsubscribe-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Wir haben Ihre E-Mail-Adresse aus unserer Liste entfernt." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "Möchten Sie diese ändern?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Signature-Verification-Key herunterladen" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Fügen Sie hier Ihren GPG-Public Key ein, um Nachrichten zu verschlüsseln, " -"die an Ihre Adresse gesendet werden" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "optional" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Warnung!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Wenn JavaScript nicht aktiviert war, wurde keine Bestätigungs-E-Mail gesendet" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "JavaScript muss aktiviert sein, damit dieses Formular funktioniert" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Aktuelle E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Neue E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Ihre neue E-Mail-Adresse" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Sie erhalten eine Bestätigungsanforderung an Ihre neue E-Mail-Adresse, die " -"Sie akzeptieren müssen, bevor Ihre E-Mail tatsächlich geändert wird" - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "E-Mail-Adresse aktualisieren" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Einstellungen aktualisieren" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Newsletter abonnieren" - -#: views/subscription/web-confirm-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Fast Fertig" - -#: views/subscription/web-confirm-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Wir müssen Ihre E-Mail-Adresse bestätigen. Um den Abo-Prozess abzuschließen, " -"klicken Sie bitte auf den Link in der E-Mail, die wir Ihnen gerade geschickt " -"haben." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "E-Mail-Adresse aktualisieren" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Einstellungen aktualisieren" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Diese Liste abonnieren" - -#: views/subscription/web-subscribed.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Danke fürs Abonnieren!" - -#: views/subscription/web-unsubscribe-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Erfolgreich Deabonniert" - -#: views/subscription/web-unsubscribe-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Sie wurden entfernt von:" - -#: views/subscription/web-unsubscribe.mjml.hbs:2 -msgid "Enter your email address to unsubscribe from:" -msgstr "Geben Sie Ihre E-Mail-Adresse ein, um sich abzumelden von:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Einstellungen aktualisiert" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "Ihre Profilinformationen wurden aktualisiert." - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Am senden …" - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Es sieht so aus, als hätten Sie diese Liste bereits abonniert." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Vorlagen-Name" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Name für diese Vorlage, z.B. Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "HTML Editor" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Optionale Kommentare zu dieser Vorlage" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Zurück zu Vorlagen" - -#: views/templates/edit.hbs:11 -msgid "Duplicate" -msgstr "Duplizieren" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Automatisierungs-Trigger" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Wählen Sie eine Liste für diesen Trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Trigger-Name" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Name für diesen Trigger, z.B. Inaktive Abonnenten" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Optionale Kommentare zu diesem Trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Trigger-Regel" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Trigger löst aus" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "Tage nach:" - -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Abonnement" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Ereignis" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Kampagne" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Trigger-Aktion" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Kampagne senden" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Trigger bearbeiten" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Zurück zu Triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Trigger ist aktiviert" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Trigger löschen" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Ausgelöst" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Triggered Abonnenten" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Abonnenten, die diesen Trigger ausgelöst haben" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Auslösungszeit" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Trigger" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Ziel-Kampagne" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Anzahl Auslösungen" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Dieses Konto wird über LDAP verwaltet." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Zugehörige E-Mail-Adresse" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Ihre E-Mail-Adresse" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" -"Diese Adresse wird für die Wiederherstellung des Kontos verwendet, falls Sie " -"Ihr Passwort vergessen haben" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Passwortänderung" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Sie müssen dieses Formular nur ausfüllen, wenn Sie Ihr aktuelles Passwort " -"ändern möchten" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Aktuelles Passwort" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Neues Passwort" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Passwort bestätigen" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Neues Passwort bestätigen" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" -"Sind Sie sicher? Das Zurücksetzen würde das aktuell vorhandene Token " -"ungültig machen." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "Sind Sie sicher?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Access Token zurücksetzen" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Access Token erstellen" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Persönlicher Access Token:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Access Token noch nicht erstellt" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Notizen zur API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"API-Antwort ist eine JSON-Struktur mit error und data properties. Wenn die Antwort error einen Wert hat, ist " -"die Anfrage fehlgeschlagen." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Sie müssen bei der Anfrage einen korrekten Content-Type " -"definieren. Sie können entweder application/x-www-form-urlencoded für normale Formulardaten oder application/json für eine " -"JSON-Payload verwenden. Nicht unterstützt wird multipart/form-data." - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "Abonnement hinzufügen" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Dieser API-Aufruf fügt entweder ein neues Abonnement hinzu oder aktualisiert " -"ein bereits vorhandenes Abonnement. Felder, die nicht enthalten sind, " -"bleiben unverändert. Wenn Sie also nur den Wert LAST_NAME aktualisieren, " -"bleibt FIRST_NAME für ein bestehendes Abonnement unverändert." - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:57 views/users/api.hbs:59 -#: views/users/api.hbs:65 views/users/api.hbs:67 -msgid "arguments" -msgstr "Argumente" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 views/users/api.hbs:58 views/users/api.hbs:66 -msgid "your personal access token" -msgstr "Ihr persönlicher Access Token" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "E-Mail-Adresse des Abonnenten" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:61 views/users/api.hbs:69 -msgid "required" -msgstr "erforderlich" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "Vorname des Abonnenten" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "Nachname des Abonnenten" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"Zeitzone des Abonnenten (zB \"Europa/Berlin“, \"PST\" oder \"UTC\"). Falls " -"nicht gesetzt wird \"UTC\" verwendet." - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"Benutzerdefinierter Feldwert. Verwenden Sie Ja/Nein für Optionsgruppenwerte " -"(Checkboxen, Radios-Buttons, Dropdowns)" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "Weitere POST-Argumente" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"Markieren Sie \"Ja\", wenn Sie sicherstellen möchten, dass die E-Mail als " -"abonniert markiert ist, auch wenn sie zuvor als abgemeldet markiert wurde. " -"Wenn die E-Mail-Adresse bereits abbestellt/gesperrt ist, wird der " -"Abonnementstatus nicht geändert" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"Markieren Sie \"Ja\", wenn Sie eine Bestätigungs-E-Mail an den Abonnenten " -"senden möchten, bevor der Abonnent tatsächlich als abonniert markiert wird" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "Abonnement entfernen" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Dieser API-Aufruf markiert ein Abonnement als abbestellt" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "Abonnement löschen" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "Dieser API-Aufruf löscht ein Abonnement" - -#: views/users/api.hbs:44 -msgid "Get list of blacklisted emails" -msgstr "" - -#: views/users/api.hbs:45 -msgid "This API call get list of blacklisted emails." -msgstr "" - -#: views/users/api.hbs:48 -msgid "Start position" -msgstr "Startposition" - -#: views/users/api.hbs:49 -msgid "optional, default 0" -msgstr "optional, standard 0" - -#: views/users/api.hbs:50 -msgid "limit emails count in response" -msgstr "" - -#: views/users/api.hbs:51 -msgid "optional, default 10000" -msgstr "optional, standard 10000" - -#: views/users/api.hbs:52 -msgid "filter by part of email" -msgstr "" - -#: views/users/api.hbs:53 -msgid "optional, default ''" -msgstr "optional, standard ''" - -#: views/users/api.hbs:56 -msgid "This API call either add emails to blacklist" -msgstr "" - -#: views/users/api.hbs:60 views/users/api.hbs:68 -msgid "email address" -msgstr "E-Mail-Adresse" - -#: views/users/api.hbs:63 -msgid "Delete email from blacklist" -msgstr "E-Mail aus der Blacklist löschen" - -#: views/users/api.hbs:64 -msgid "This API call either delete emails from blacklist" -msgstr "" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Passwort zurücksetzen" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Ihr Passwort zurücksetzen?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Accounts werden über LDAP verwaltet." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Passwort zurücksetzen" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Bitte geben Sie den Benutzernamen oder die E-Mail-Adresse an, die Sie bei " -"der Anmeldung für Ihr Mailtrain-Konto verwendet haben." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" -"Wir senden Ihnen eine E-Mail, mit der Sie Ihr Passwort zurücksetzen können." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Benutzername oder E-Mail-Adresse" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Verifizierung E-Mail senden" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Angemeldet bleiben" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Passwort vergessen?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Wähle Sie Ihr neues Passwort" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Bitte geben Sie ein neues Passwort ein." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "Konnte keine Vorlage mit angegebener ID finden" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "Konnte keine Kampagne mit dieser ID finden" - -#: lib/editor-helpers.js:47 routes/editorapi.js:308 -msgid "Invalid resource type" -msgstr "Ungültiger Ressourcentyp" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Bad Statuscode %s" - -#: lib/helpers.js:32 -msgid "URL that points to the unsubscribe page" -msgstr "URL, die auf die Abmeldungsseite verweist" - -#: lib/helpers.js:35 -msgid "URL that points to the preferences page of the subscriber" -msgstr "" -"URL, die auf die Persönliche-Einstellungs-Seite des Teilnehmers verweist" - -#: lib/helpers.js:38 -msgid "URL to preview the message in a browser" -msgstr "URL zur Vorschau der E-Mail im Browser" - -#: lib/helpers.js:44 lib/models/segments.js:31 -msgid "First name" -msgstr "Vorname" - -#: lib/helpers.js:47 lib/models/segments.js:35 -msgid "Last name" -msgstr "Nachname" - -#: lib/helpers.js:50 -msgid "Full name (first and last name combined)" -msgstr "Vollständiger Name (Vor- und Nachname kombiniert)" - -#: lib/helpers.js:53 -msgid "Unique ID that identifies the recipient" -msgstr "Eindeutige ID, die den Empfänger identifiziert" - -#: lib/helpers.js:56 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "" -"Eindeutige ID, welche die für diese Kampagne verwendete Liste identifiziert" - -#: lib/helpers.js:59 -msgid "Unique ID that identifies current campaign" -msgstr "Eindeutige ID, welche die aktuelle Kampagne identifiziert" - -#: lib/helpers.js:67 lib/helpers.js:79 -msgid "content from an RSS entry" -msgstr "Inhalt aus einem RSS-Eintrag" - -#: lib/helpers.js:70 -msgid "RSS entry title" -msgstr "" - -#: lib/helpers.js:73 -msgid "RSS entry date" -msgstr "" - -#: lib/helpers.js:76 -msgid "RSS entry link" -msgstr "" - -#: lib/helpers.js:82 -msgid "RSS entry summary" -msgstr "" - -#: lib/helpers.js:85 -msgid "RSS entry image URL" -msgstr "" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Ungültiger Mail-Transport" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:589 lib/models/campaigns.js:721 -msgid "Missing Campaign ID" -msgstr "Kampagnen-ID fehlt" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Leere oder zu große Anhangsdatei" - -#: lib/models/campaigns.js:407 lib/models/campaigns.js:598 -msgid "Campaign Name must be set" -msgstr "Kampagnenname ist erforderlich" - -#: lib/models/campaigns.js:411 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "RSS URL ist erforderlich und muss eine gültige URL sein" - -#: lib/models/campaigns.js:567 -msgid "Selected template not found" -msgstr "Ausgewählte Vorlage nicht gefunden" - -#: lib/models/campaigns.js:922 -msgid "Invalid or missing message ID" -msgstr "Ungültige oder fehlende Nachrichten-ID" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Dropdown-Liste" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Datum (MM/DD/YYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "JSON-Wert für benutzerdefiniertes Rendering" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Option" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:37 lib/models/lists.js:72 lib/models/lists.js:172 -#: lib/models/lists.js:212 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:74 lib/models/subscriptions.js:574 -#: lib/models/subscriptions.js:637 lib/models/subscriptions.js:823 -#: lib/models/subscriptions.js:926 lib/models/subscriptions.js:980 -#: lib/models/subscriptions.js:1043 lib/models/subscriptions.js:1086 -msgid "Missing List ID" -msgstr "Listen-ID fehlt" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Ein Optionsfeld erfordert eine ausgewählte Gruppe" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "Feld-ID fehlt" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Feldname ist erforderlich" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Feld nicht gefunden" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Unbekannter Spaltentyp %s" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "Spaltenname fehlt" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "Listen-ID fehlt" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "Die Listen-ID wurde nicht gefunden" - -#: lib/models/forms.js:61 lib/models/forms.js:104 lib/models/forms.js:192 -#: lib/models/forms.js:282 -msgid "Missing Form ID" -msgstr "Formular ID fehlt" - -#: lib/models/forms.js:112 lib/models/forms.js:196 -msgid "Form Name must be set" -msgstr "Formular-Name ist erforderlich" - -#: lib/models/forms.js:298 -msgid "Custom form not found" -msgstr "Formular nicht gefunden" - -#: lib/models/links.js:329 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Kampagne nicht gefunden" - -#: lib/models/links.js:337 routes/lists.js:177 services/sender.js:312 -msgid "List not found" -msgstr "Liste nicht gefunden" - -#: lib/models/links.js:345 -msgid "Subscription not found" -msgstr "Abonnement nicht gefunden" - -#: lib/models/lists.js:110 lib/models/lists.js:176 -msgid "List Name must be set" -msgstr "Listennamen ist erforderlich" - -#: lib/models/lists.js:241 -msgid "Missing List CID" -msgstr "Listen CID fehlt" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "Report-Vorlagen-ID fehlt" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "Report-Vorlagen-Name ist erforderlich" - -#: lib/models/reports.js:39 lib/models/reports.js:109 lib/models/reports.js:187 -msgid "Missing report ID" -msgstr "Report-ID fehlt" - -#: lib/models/reports.js:115 -msgid "Report name must be set" -msgstr "Report-Name ist erforderlich" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Anmeldungs-Land" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Anmeldungs-Datum" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Letzte Öffnung" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Letzter Klick" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "Segment ID fehlt" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "Segment nicht gefunden" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s Tage nach heute" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "%s Tage vor heute" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "heute" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Ungültiger Segment-Regel-Typ" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Ausgewähltes Segment nicht gefunden" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Ungültiger Regel-Typ" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "Regel-ID fehlt" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "Die Regel wurde nicht gefunden" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "Das Segment wurde nicht gefunden" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "Ausgewählte Regel nicht gefunden" - -#: lib/models/subscriptions.js:148 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Bitte bestätigen Sie Ihr Abonnement" - -#: lib/models/subscriptions.js:258 -msgid "Could not save subscription" -msgstr "Abonnement konnte nicht gespeichert werden" - -#: lib/models/subscriptions.js:441 lib/models/subscriptions.js:471 -msgid "Missing Subscription ID" -msgstr "Abonnement-ID fehlt" - -#: lib/models/subscriptions.js:499 -msgid "Missing Subscription email address" -msgstr "Abonnement E-Mail Adresse fehlt" - -#: lib/models/subscriptions.js:578 lib/models/subscriptions.js:827 -#: lib/models/subscriptions.js:1090 -msgid "Missing subscription ID" -msgstr "Abonnement-ID fehlt" - -#: lib/models/subscriptions.js:641 -msgid "Missing email address" -msgstr "E-Mail-Adresse fehlt" - -#: lib/models/subscriptions.js:930 lib/models/subscriptions.js:984 -#: lib/models/subscriptions.js:1020 -msgid "Missing Import ID" -msgstr "Import-ID fehlt" - -#: lib/models/subscriptions.js:1112 -msgid "Unknown subscription ID" -msgstr "Unbekannte Abonnement-ID" - -#: lib/models/subscriptions.js:1117 -msgid "Nothing seems to be changed" -msgstr "Nichts scheint sich geändert zu haben" - -#: lib/models/subscriptions.js:1131 -msgid "This address is already registered by someone else" -msgstr "Diese Adresse ist bereits von jemand anderem registriert" - -#: lib/models/templates.js:26 lib/models/templates.js:100 -#: lib/models/templates.js:144 -msgid "Missing Template ID" -msgstr "Vorlagen ID fehlt" - -#: lib/models/templates.js:55 lib/models/templates.js:104 -msgid "Template Name must be set" -msgstr "Vorlagen-Name ist erforderlich" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Hat geöffnet" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Hat geklickt" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "Nicht geöffnet" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "Nicht geklickt" - -#: lib/models/triggers.js:175 lib/models/triggers.js:212 -msgid "Missing or invalid list ID" -msgstr "Fehlende oder ungültige Listen ID" - -#: lib/models/triggers.js:179 lib/models/triggers.js:264 -msgid "Days in the past are not allowed" -msgstr "Tage in der Vergangenheit sind nicht erlaubt" - -#: lib/models/triggers.js:183 lib/models/triggers.js:204 -#: lib/models/triggers.js:268 lib/models/triggers.js:289 -msgid "Missing or invalid trigger rule" -msgstr "Fehlende oder ungültige Trigger-Regel" - -#: lib/models/triggers.js:190 lib/models/triggers.js:275 -msgid "Invalid subscription configuration" -msgstr "Ungültige Abonnement-Konfiguration" - -#: lib/models/triggers.js:197 lib/models/triggers.js:282 -msgid "Invalid campaign configuration" -msgstr "Kampagnen Konfiguration ungültig" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "A campaing can not be a target for itself" -msgstr "Eine Kampagne kann kein Ziel für sich selbst sein" - -#: lib/models/triggers.js:233 -msgid "Could not store trigger row" -msgstr "Trigger-Zeile konnte nicht gespeichert werden" - -#: lib/models/triggers.js:250 -msgid "Missing or invalid Trigger ID" -msgstr "Trigger-ID fehlt oder ist ungültig" - -#: lib/models/triggers.js:317 -msgid "Missing Trigger ID" -msgstr "Trigger-ID fehlt" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "Der Benutzer konnte nicht gespeichert werden" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "E-Mail-Adresse ist erforderlich" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Fehler beim Überprüfen der Benutzerdaten" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"E-Mail-Adresse konnte nicht geändert werden, da ein anderer Benutzer mit " -"derselben E-Mail-Adresse bereits existiert" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Aktuelles Passwort inkorrekt" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Neues Passwort fehlt" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Passwörter stimmen nicht überein" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "Benutzer-ID nicht vorhanden" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Benutzername ist erforderlich" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Mailer Passwort Änderungsanfrage" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "Fehlender Benutzername oder Reset-Token" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Neues Passwort ist ungültig" - -#: lib/passport.js:40 -msgid "%s logged out" -msgstr "%s hat sich abgemeldet" - -#: lib/passport.js:53 -msgid "Failed to authenticate user" -msgstr "Der Benutzer konnte nicht authentifiziert werden" - -#: lib/passport.js:69 -msgid "Logged in as %s" -msgstr "Eingeloggt als %s" - -#: lib/passport.js:128 -msgid "Incorrect username or password" -msgstr "Falscher Benutzername oder Passwort" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Email-Adresse bereits registriert" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Bitte bestätigen Sie die Änderung der Email-Adresse" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Bitte bestätigen Sie die Kündigung des Abonnements" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Kündigung des Abonnements bestätigt" - -#: lib/tools.js:148 -msgid "Blocked email address \"%s\"" -msgstr "Gesperrte E-Mail-Adresse \"%s\"" - -#: lib/tools.js:157 -msgid "Invalid email address \"%s\"." -msgstr "Ungültige E-Mail-Adresse \"%s\"." - -#: lib/tools.js:160 -msgid "MX record not found for domain" -msgstr "MX-Record für die Domäne nicht gefunden" - -#: lib/tools.js:163 -msgid "Address domain not found" -msgstr "Address-Domain nicht gefunden" - -#: lib/tools.js:166 -msgid "Address domain name is required" -msgstr "Address-Domain-Name ist erforderlich" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:224 -msgid "Not Found" -msgstr "Nicht gefunden" - -#: routes/archive.js:121 services/sender.js:449 -msgid "Received status code %s from %s" -msgstr "Empfangener Statuscode %s von %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Anhangs-Datei nicht gefunden" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:35 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:13 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Sie müssen angemeldet sein, um auf geschützte Inhalte zuzugreifen." - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "Kampagne konnte nicht erstellt werden" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Die Kampagne “%s†wurde erstellt" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Kampagnen-Einstellungen aktualisiert" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "Kampagnen-Einstellungen nicht aktualisiert" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Kampagne gelöscht" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "Die Kampagne konnte nicht gelöscht werden" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Ruhend" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "Geplant" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "Pausiert" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inaktiv" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Aktiv" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Andere" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Unbekannter Status-Selektor" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Senden geplant" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "Versand konnte nicht geplant werden" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Versand wieder aufgenommen" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "Versand konnte nicht fortgesetzt werden" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Versand zurückgesetzt" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "Versand konnte nicht zurückgesetzt werden" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Versand pausiert" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "Versand konnte nicht pausiert werden" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Versand aktiviert" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "Versand konnte nicht aktiviert werden" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Anhang hochgeladen" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "Anhang konnte nicht gespeichert werden" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Anhang gelöscht" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "Anhang konnte nicht gelöscht werden" - -#: routes/editorapi.js:41 -msgid "Invalid editor name" -msgstr "Ungültiger Editorname" - -#: routes/editorapi.js:237 routes/editorapi.js:275 -msgid "Method not supported" -msgstr "Methode wird nicht unterstützt" - -#: routes/editorapi.js:352 -msgid "Invalid resource type or ID" -msgstr "Ungültiger Ressourcentyp oder ID" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "Ausgewählte Listen ID nicht gefunden" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Feld konnte nicht erstellt werden" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Ausgewähltes Feld nicht gefunden" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Feld Einstellungen aktualisiert" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Feld Einstellungen nicht aktualisiert" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Benutzerdefiniertes Feld gelöscht" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Das angegebene Feld konnte nicht gelöscht werden" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "Formular konnte nicht erstellt werden" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "Das Formular wurde nicht gefunden" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "Die Textversion für dieses E-Mail" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "Formulare verwenden MJML zur formatierung" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Die MJML Dokumentation finden Sie hier" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Layout" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Formular Input Style" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Dieses CSS-Stylesheet definiert das Aussehen von Formulareingabeelementen " -"und Warnungen" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Abonnieren" - -#: routes/forms.js:165 -msgid "Web - Confirm Notice" -msgstr "Web - Bestätigung erforderlich" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Bestätigung erforderlich (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Bestätigung erforderlich (Text)" - -#: routes/forms.js:180 -msgid "Web - Subscribed Notice" -msgstr "Web - Notiz: Abonnement bestätigt" - -#: routes/forms.js:185 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Abonnement bestätigt (MJML)" - -#: routes/forms.js:190 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Abonnement bestätigt (Text)" - -#: routes/forms.js:198 -msgid "Web - Manage Preferences" -msgstr "Web - Profil bearbeiten" - -#: routes/forms.js:203 -msgid "Web - Manage Address" -msgstr "Web - E-Mail-Adresse bearbeiten" - -#: routes/forms.js:208 -msgid "Web - Updated Notice" -msgstr "Web - Aktualisiert" - -#: routes/forms.js:216 -msgid "Web - Unsubscribe" -msgstr "Web - Abmelden" - -#: routes/forms.js:221 -msgid "Web - Unsubscribe Notice" -msgstr "Web - Abmelden" - -#: routes/forms.js:226 -msgid "Mail - Unsubscribe Confirmed (MJML)" -msgstr "Mail - Abmeldung bestätigt (MJML)" - -#: routes/forms.js:231 -msgid "Mail - Unsubscribe Confirmed (Text)" -msgstr "Mail - Abmeldung bestätigt (Text)" - -#: routes/forms.js:269 -msgid "Form settings updated" -msgstr "Formular-Einstellungen aktualisiert" - -#: routes/forms.js:271 -msgid "Form settings not updated" -msgstr "Formular-Einstellungen nicht aktualisiert" - -#: routes/forms.js:287 -msgid "Custom form deleted" -msgstr "Formular wurde gelöscht" - -#: routes/forms.js:289 -msgid "Could not delete specified form" -msgstr "Das Formular konnte nicht gelöscht werden" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Selbst gehostete Newsletter-App" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" -"Ups, wir konnten keinen Link für die URL finden, die Sie geklickt haben" - -#: routes/lists.js:80 -msgid "Could not create list" -msgstr "Die Liste konnte nicht erstellt werden" - -#: routes/lists.js:83 -msgid "List created" -msgstr "Liste erstellt" - -#: routes/lists.js:91 routes/lists.js:267 routes/lists.js:332 -#: routes/lists.js:371 routes/lists.js:440 routes/lists.js:465 -#: routes/lists.js:510 routes/lists.js:532 routes/lists.js:561 -#: routes/lists.js:640 routes/lists.js:697 routes/lists.js:724 -msgid "Could not find list with specified ID" -msgstr "Die Liste mit angegebener ID konnte nicht gefunden werden" - -#: routes/lists.js:118 -msgid "List settings updated" -msgstr "Listeneinstellungen aktualisiert" - -#: routes/lists.js:120 -msgid "List settings not updated" -msgstr "Listeneinstellungen nicht aktualisiert" - -#: routes/lists.js:138 -msgid "List deleted" -msgstr "Liste gelöscht" - -#: routes/lists.js:140 -msgid "Could not delete specified list" -msgstr "Die Liste konnte nicht gelöscht werden" - -#: routes/lists.js:202 -msgid "Unknown" -msgstr "Unbekannt" - -#: routes/lists.js:202 -msgid "Complained" -msgstr "Beschwert" - -#: routes/lists.js:233 -msgid "Invalid key" -msgstr "Ungültiger Key" - -#: routes/lists.js:235 -msgid "Expired key" -msgstr "Abgelaufener Key" - -#: routes/lists.js:237 -msgid "Revoked key" -msgstr "Widerrufener Key" - -#: routes/lists.js:287 -msgid "Initializing" -msgstr "Initialisierung" - -#: routes/lists.js:290 -msgid "Initialized" -msgstr "Initialisiert" - -#: routes/lists.js:293 -msgid "Importing" -msgstr "Importieren" - -#: routes/lists.js:299 -msgid "Errored" -msgstr "Fehlerhaft" - -#: routes/lists.js:377 routes/lists.js:446 routes/lists.js:471 -msgid "Could not find subscriber with specified ID" -msgstr "Der Abonnent mit angegebenen ID konnte nicht gefunden werden" - -#: routes/lists.js:423 -msgid "Could not add subscription" -msgstr "Das Abonnement konnte nicht hinzugefügt werden" - -#: routes/lists.js:428 -msgid "%s was successfully added to your list" -msgstr "%s wurde Ihrer Liste erfolgreich hinzugefügt" - -#: routes/lists.js:430 -msgid "%s was not added to your list" -msgstr "%s wurde nicht zu Ihrer Liste hinzugefügt" - -#: routes/lists.js:452 -msgid "Could not unsubscribe user" -msgstr "Der Benutzer konnte nicht deabonniert werden" - -#: routes/lists.js:455 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s wurde erfolgreich von Ihrer Liste entfernt" - -#: routes/lists.js:475 -msgid "%s was successfully removed from your list" -msgstr "%s wurde erfolgreich aus Ihrer Liste entfernt" - -#: routes/lists.js:487 -msgid "Another subscriber with email address %s already exists" -msgstr "Ein anderer Abonnent mit der E-Mail-Adresse %s existiert bereits" - -#: routes/lists.js:494 -msgid "Subscription settings updated" -msgstr "Abonnementeinstellungen aktualisiert" - -#: routes/lists.js:496 -msgid "Subscription settings not updated" -msgstr "Abonnementeinstellungen nicht aktualisiert" - -#: routes/lists.js:538 routes/lists.js:646 routes/lists.js:682 -#: routes/lists.js:710 routes/lists.js:730 -msgid "Could not find import data with specified ID" -msgstr "Keine Importdaten für diese ID gefunden" - -#: routes/lists.js:569 -msgid "Could not process CSV" -msgstr "CSV-Datei konnte nicht verarbeitet werden" - -#: routes/lists.js:578 -msgid "Could not create importer" -msgstr "Importer konnte nicht erstellt werden" - -#: routes/lists.js:629 -msgid "Empty file" -msgstr "Leere Datei" - -#: routes/lists.js:686 -msgid "Import started" -msgstr "Import gestartet" - -#: routes/lists.js:714 -msgid "Import restarted" -msgstr "Import neu gestartet" - -#: routes/lists.js:797 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "Ein Schritt ohne Formular (direkt nach dem Klicken auf den Link erfolgt die Abmeldung)" - -#: routes/lists.js:803 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "" -"Ein Schritt mit Formular (nach dem Klick wird ein Formular mit der E-Mail Adresse angezeigt)" - -#: routes/lists.js:809 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "Zwei Schritte ohne Formular (direkt nach dem Klick auf den Link wird eine E-Mail mit Bestätigungslink versendet)" - -#: routes/lists.js:815 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"Zwei Schritte mit Formular (nach dem Klick wird ein Formular mit der E-Mail Adresse " "angezeigt, dann wird eine E-Mail mit Bestätigungslink versendet)" - -#: routes/lists.js:821 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "" -"Manuell (die Abmeldung muss durch den Listen Admin vorgenommen werden)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "Report-Vorlage konnte nicht erstellt werden" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Die Report-Vorlage “%s†wurde erstellt" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "Report-Vorlage mit angegebener ID konnte nicht gefunden werden" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Report-Vorlage aktualisiert" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Report-Vorlage wurde nicht aktualisiert" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Report-Vorlage gelöscht" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "Die Report-Vorlage konnte nicht gelöscht werden" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "Der Report konnte nicht erstellt werden" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Report “%s†erstellt" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "Der Report mit dieser ID konnte nicht gefunden werden" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "Der Report konnte nicht aktualisiert werden" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Report aktualisiert" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Report nicht aktualisiert" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Report gelöscht" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "Der Report konnte nicht gelöscht werden" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "Report-Vorlage konnte nicht gefunden werden" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Unbekannter Mime-Type des Template" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Segment konnte nicht erstellt werden" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segment erstellt" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Ausgewählte Segment-ID wurde nicht gefunden" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Segmenteinstellungen aktualisiert" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Segmenteinstellungen nicht aktualisiert" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segment gelöscht" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Das angegebene Segment konnte nicht gelöscht werden" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "Regel konnte nicht erstellt werden" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regel erstellt" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Regeleinstellungen aktualisiert" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Regeleinstellungen nicht aktualisiert" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regel gelöscht" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "Die Regel konnte nicht gelöscht werden" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "TLS verwenden" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "Normalerweise ausgewählt für Port 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "STARTTLS verwenden" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "normalerweise ausgewählt für Port 587 und 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Keine Verschlüsselung verwenden" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Einstellungen aktualisiert" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Ungültiger Mail Transport Type" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Ungültiger Access Key" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Ungültige AWS Zugangsdaten" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Verbindung abgelehnt, überprüfen Sie Hostname und Port." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Keine Grußnachricht vom Server erhalten. Dies kann bei der Verbindung zu " -"einem TLS-Port ohne TLS auftreten." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Keine Grußnachricht vom Server erhalten." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Zeitüberschreitung der Verbindung. Überprüfen Sie Ihre Firewall-" -"Einstellungen, der Ziel-Port ist wahrscheinlich blockiert." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"Authentifizierung nicht akzeptiert, Server erwartet die Verwendung von " -"STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "" -"Authentifizierung fehlgeschlagen, Benutzername und Passwort überprüfen." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Mailer Überprüfung fehlgeschlagen." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Server antwortete mit: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Mailer-Einstellungen überprüft, bereit zum Senden!" - -#: routes/subscription.js:32 -msgid "Not allowed by CORS" -msgstr "Nicht erlaubt von CORS" - -#: routes/subscription.js:50 -msgid "Selected subscription not found" -msgstr "Ausgewähltes Abonnement nicht gefunden" - -#: routes/subscription.js:60 routes/subscription.js:181 -#: routes/subscription.js:266 routes/subscription.js:324 -#: routes/subscription.js:377 routes/subscription.js:429 -#: routes/subscription.js:511 routes/subscription.js:562 -#: routes/subscription.js:638 routes/subscription.js:660 -#: routes/subscription.js:720 routes/subscription.js:744 -#: routes/subscription.js:809 -msgid "Selected list not found" -msgstr "Ausgewählte Liste nicht gefunden" - -#: routes/subscription.js:134 -msgid "%s: Subscription Confirmed" -msgstr "%s: Abonnement bestätigt" - -#: routes/subscription.js:184 routes/subscription.js:514 -msgid "The list does not allow public subscriptions." -msgstr "Die Liste erlaubt keine öffentlichen Abonnements." - -#: routes/subscription.js:493 routes/subscription.js:495 -msgid "Email address not set" -msgstr "E-Mail-Adresse nicht gesetzt" - -#: routes/subscription.js:538 -msgid "Could not store confirmation data" -msgstr "Die Bestätigungsdaten konnten nicht gespeichert werden" - -#: routes/subscription.js:576 routes/subscription.js:675 -#: routes/subscription.js:759 -msgid "Subscription not found from this list" -msgstr "Abonnement konnte in dieser Liste nicht gefunden werden" - -#: routes/subscription.js:735 -msgid "Email address updated, check your mailbox for verification instructions" -msgstr "" -"Die E-Mail-Adresse wurde aktualisiert. Bitte überprüfen Sie Ihre Mailbox zur " -"Bestätigung" - -#: routes/subscription.js:858 -msgid "%s: Unsubscribe Confirmed" -msgstr "%s: Abmeldungen Bestätigt" - -#: routes/subscription.js:905 routes/subscription.js:921 -msgid "Public key is not set" -msgstr "Public-Key ist nicht gesetzt" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Vorlage konnte nicht erstellt werden" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Vorlage erstellt" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Vorlageneinstellungen aktualisiert" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Template Einstellungen wurden nicht aktualisiert" - -#: routes/templates.js:144 -msgid "Template deleted" -msgstr "Vorlage gelöscht" - -#: routes/templates.js:146 -msgid "Could not delete specified template" -msgstr "Die Vorlage konnte nicht gelöscht werden" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "Die ausgewählte Liste konnte nicht gefunden werden" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "Trigger konnte nicht erstellt werden" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger “%s†erstellt" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Trigger-Einstellungen aktualisiert" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Trigger-Einstellungen nicht aktualisiert" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger gelöscht" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "Der Trigger konnte nicht gelöscht werden" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "Der Trigger mit dieser ID konnte nicht gefunden werden" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger nicht gefunden" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Eine E-Mail mit Passwort-Reset-Anweisungen wurde an Ihre E-Mail-Adresse " -"gesendet, wenn die E-Mail-Adresse auf unserem System existiert." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Unbekanntes oder abgelaufenes Reset-Token" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Ihr Passwort wurde erfolgreich geändert" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Benutzerdaten nicht gefunden" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Access Token aktualisiert" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Access Token nicht aktualisiert" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Account-Informationen aktualisiert" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Account-Informationen nicht aktualisiert" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Feed Fehler: %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Fand %s neue Kampagnen-Nachrichten im Feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Im Feed wurde nichts neues gefunden" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "RSS Eintrag %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Auf die Importdatei konnte nicht zugegriffen werden" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Unbekannter Trigger-Typ %s" - -#~ msgid "Add new custom field" -#~ msgstr "Neues benutzerdefiniertes Feld hinzufügen" - -#~ msgid "field name" -#~ msgstr "Feldname" - -#~ msgid "one of the following types:" -#~ msgstr "Einer der folgenden Typen:" - -#~ msgid "" -#~ "If the type is 'option' then you also need to specify the parent element " -#~ "ID" -#~ msgstr "" -#~ "Wenn der Typ 'Option' ist, dann müssen Sie auch die übergeordnete Element-" -#~ "ID angeben" - -#~ msgid "" -#~ "Template for the group element. If not set, then values of the elements " -#~ "are joined with commas" -#~ msgstr "" -#~ "Vorlage für das Gruppenelement. Wenn nicht gesetzt, dann werden die Werte " -#~ "der Elemente mit Kommas verbunden" - -#~ msgid "" -#~ "if not visible then the subscriber can not view or modify this value at " -#~ "the profile page" -#~ msgstr "" -#~ "Wenn nicht sichtbar, kann der Abonnent diesen Wert auf der Profilseite " -#~ "weder sehen noch bearbeiten" - -#~ msgid "You are now unsubscribed" -#~ msgstr "Sie sind jetzt aus dieser Liste ausgetragen" - -#~ msgid "List management" -#~ msgstr "Listenverwaltung" - -#~ msgid "Custom fields" -#~ msgstr "Benutzerdefinierte Felder" - -#~ msgid "List segmentation" -#~ msgstr "Listensegmentierung" - -#~ msgid "Donate to author" -#~ msgstr "Spenden willkommen" - -#~ msgid "or donate using PayPal" -#~ msgstr "Oder spenden Sie mit PayPal" - -#~ msgid "Click stats" -#~ msgstr "Klick Statistiken" - -#~ msgid "Open source" -#~ msgstr "Open source" - -#~ msgid "Send via any provider" -#~ msgstr "Senden Sie über jeden Anbieter" - -#~ msgid "Trigger based automation" -#~ msgstr "Triggerbasierte Automatisierung" - -#~ msgid "Self hosted newsletter app built on top of Nodemailer" -#~ msgstr "Selbst gehostete Newsletter-App basierend auf Nodemailer" - -#~ msgid "Subscribe to our newsletter" -#~ msgstr "Abonnieren Sie unseren Newsletter" - -#~ msgid "To extract the text from HTML click" -#~ msgstr "Um den Klartext aus dem HTML Dokument zu extrahieren, klicken Sie" - -#~ msgid "Almost finished." -#~ msgstr "Fast fertig." - -#~ msgid "return to our website" -#~ msgstr "zurück zu unserer Webseite" - -#~ msgid "Update your Email Address" -#~ msgstr "E-Mail-Adresse aktualisieren" - -#~ msgid "Update your preferences" -#~ msgstr "Einstellungen aktualisieren" - -#~ msgid "" -#~ "JavaScript must be enabled in order for the subscription form to work" -#~ msgstr "" -#~ "JavaScript muss aktiviert sein, damit das Anmeldeformular funktionieren " -#~ "kann" - -#~ msgid "continue to our website" -#~ msgstr "weiter zu unserer Webseite" - -#~ msgid "" -#~ "If you really like Mailtrain or your business benefits from it " -#~ "financially then I would really appreciate a small donation to keep the " -#~ "Mailtrain development engines running. You can either use Bitcoin or " -#~ "PayPal for donations. My Bitcoin wallet is " -#~ "15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" -#~ msgstr "" -#~ "Loren Ipsum it financially then I would really appreciate a small " -#~ "donation to keep the Mailtrain development engines running. You can " -#~ "either use Bitcoin or PayPal for donations. My Bitcoin wallet is " -#~ "15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" - -#~ msgid "" -#~ "We have received a password change request for your Mailtrain account" -#~ msgstr "" -#~ "Wir haben eine Passwortänderungsanfrage für Ihr Mailtrain-Konto erhalten" - -#~ msgid "Reset password:" -#~ msgstr "Passwort zurücksetzen:" - -#~ msgid "(optional)" -#~ msgstr "(optional)" - -#~ msgid "–– Select ––" -#~ msgstr "— Bitte wählen —" - -#~ msgid "You have been removed from" -#~ msgstr "Sie wurden aus dieser Liste ausgetragen:" - -#~ msgid "Enter your email address to unsubscribe from" -#~ msgstr "Geben Sie Ihre E-Mail-Adresse ein, um sich abzumelden von" - -#~ msgid "Yes, subscribe me to this list:" -#~ msgstr "Ja, tragen Sie mich in diese Liste ein:" - -#: lib/models/subscriptions.js:910 routes/subscription.js:472 -#: routes/subscription.js:544 routes/subscription.js:580 -#: routes/subscription.js:696 routes/subscription.js:771 -msgid "Subscription not found in this list" -msgstr "Das Abonnement wurde in dieser Liste nicht gefunden" - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Wir müssen Ihre E-Mail-Adresse bestätigen. Um die Kündigung Ihres Abonnements abzuschließen, " -"klicken Sie bitte auf den Link in der E-Mail, die wir Ihnen gerade geschickt " -"haben." - -msgid "Please Confirm Unsubscription" -msgstr "Bitte bestätigen Sie die Kündigung Ihres Abonnements" - -msgid "Yes, unsubscribe me from this list" -msgstr "Ja, ich möchte dieses Abonnement kündigen" - -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Wenn Sie diese E-Mail versehentlich erhalten haben, löschen Sie sie einfach. " -"Ihr Abonnement wird nicht gekündigt, wenn Sie nicht auf den Bestätigungslink oben klicken." diff --git a/languages/es_ES.mo b/languages/es_ES.mo deleted file mode 100644 index 214acc8a..00000000 Binary files a/languages/es_ES.mo and /dev/null differ diff --git a/languages/es_ES.po b/languages/es_ES.po deleted file mode 100644 index 8abe4590..00000000 --- a/languages/es_ES.po +++ /dev/null @@ -1,4664 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-08 10:55+0200\n" -"PO-Revision-Date: 2017-06-14 15:40+0200\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_ES\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Aplicación de boletín de correo electrónico alojado por usted mismo" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Inicio" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Lista negra" - -#: views/blacklist.hbs:4 views/users/api.hbs:55 -msgid "Add email to blacklist" -msgstr "Añadir correo a la lista negra" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Añadir" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Correo eléctronico" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Campañas" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Información de la lista negra" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Ver campaña" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Suscriptores que han sido incluidos en la lista negra global:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Dirección" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Nombre" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Apellidos" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Motivo" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Fecha" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Información del bounce" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Suscriptores que fueron bounce y unsuscritos:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Respuesta del SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Fecha" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:28 -msgid "Create Campaign" -msgstr "Crear Campaña" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Campaña normal" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Campaña de RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Campaña encadenada" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nombre" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Descripción" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Estado" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Fecha de Creación" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Información del enlace" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Clicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% de clicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% de mensajes" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Clics agregados" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Suscriptores que hicieron click en un enlace:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Suscriptores que hicieron click en este enlace:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Estadísticas por país" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Estadísticas por dispositivo" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Fecha del primer click" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Número de clicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Información de quejas" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Suscriptores que se quejaron y fueron unsuscritos:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Fecha de la queja" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "Crear Campaña de RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Una campaña RSS detecta los cambios en el Canal RSS configurado. Cuando se " -"encuentra una nueva entrada de este canal es enviado a la lista seleccionada " -"como un mensaje de correo electrónico." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nombre de la campaña" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "Se permite HTML" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Seleccionar" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "suscriptores" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS Feed URL" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Las nuevas entradas de esta dirección de URL de RSS se envían a los " -"suscriptores de la lista como mensajes de correo electrónico" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Email \"en nombre de (from)\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Este es el nombre con el que se enviaran sus correos electrónicos" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Correo electrónico \"De/From\"" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Este es el correo al que los contactos responderán" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable opened tracking" -msgstr "Desactivar el seguimiento de Aperturas" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:27 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Disable clicked tracking" -msgstr "Desactivar el seguimiento de Clics" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Campaña Trigger creada" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Plantilla" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Seleccionar plantilla" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Selección de una plantilla para crear una copia de campaña de ella" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" -"O, alternativamente, utilizar una URL como la fuente de contenido del " -"mensaje:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:29 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Si el mensaje es enviado, se realizará una petición POST a esta URL " -"utilizando los Merge Tags como parámetros. Utiliza esta opción si quieres " -"generar el mensaje HTML tu mismo" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Email \"asunto\"" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Mantener relevancia y no spam" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Esta es la dirección donde los usuarios enviarán respuestas a menos que " -"\"mail de respuesta\" sea establecido" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Dirección de correo \"de respuesta\"" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"Si se establece, esta es la dirección donde los usuarios enviarán respuestas" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Información tiempo de entrega" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Los suscriptores que recibieron el mensaje y no han sido bounces ni bajas:" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Tiempo de entrega" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Editar Campaña RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Configuración general" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Usar especial tag [RSS_ENTRY] para marcar la posición del contenido del post " -"RSS. Además puedes utilizas más tags" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 -msgid "Delete Campaign" -msgstr "Eliminar Camppaña" - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:36 views/lists/edit.hbs:20 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:99 views/templates/edit.hbs:12 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Actualizar" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Editar Campaña Activadas" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "General" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template Settings" -msgstr "Configuración de plantilla" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "Template URL" -msgstr "URL de la plantilla" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Modificar campaña" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:30 -msgid "Attachments" -msgstr "Archivos adjuntos" - -#: views/campaigns/edit.hbs:31 -msgid "File" -msgstr "Archivo" - -#: views/campaigns/edit.hbs:32 -msgid "Size" -msgstr "Tamaño" - -#: views/campaigns/edit.hbs:33 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "No hay datos disponibles en la tabla" - -#: views/campaigns/edit.hbs:34 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Añadir un adjunto" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Información apertura" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Los suscriptores que abrieron este mensaje:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Primera apertura" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Recuento de aperturas" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Información de bajas" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Suscriptores que se han dado de baja" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:10 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "Dado de baja" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Subir" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Visión de conjunto" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "URL de Feed" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Último control" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "No revisado aún" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"Activar la campaña para empezar a comprobar si hay nuevos mensajes de Feed" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Estatus RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Campaña de vista previa como" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Añadir un nuevo usuario de prueba" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Ningún miembro de la prueba aún, crear uno aquí" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Ir" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Entregado" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Lista de Suscriptores que recibieron este boletín" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Lista negra" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Lista de suscriptores que sin lista negra de lista negra mundial" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Rebotado" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Lista de suscriptores que ha rebotado" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Quejas" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Lista de suscriptores que se ha quejado por este boletín" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "Lista de suscriptores que se han dado de baja tras este boletín" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Aperturas" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Lista de suscriptores que han abierto este boletín" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Clics" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Lista de suscriptores que han hecho clic en este boletín" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción empezará a enviar el boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Envío retrasado" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "horas" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "minutos" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "Enviar a suscriptores:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "¿Estás seguro? Esta acción restablecerá la programación" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Cancelado" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Envío programado" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pausa" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Enviando" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción reanudará el envío del boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"¿Estás seguro? Esta acción reiniciará todas las estadísticas de progreso " -"actual" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Reanudar" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Reiniciar" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Continuar" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"¡Todos los mensajes han sido enviados! Haz clic en \"Continuar\" si quieres " -"enviar la campaña a nuevos suscriptores" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción pausará el envío de nuevas entradas RSS a la " -"lista seleccionada" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Estado de la campaña:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "ACTIVO" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"¿Estás seguro? Esta acción empezará el envío del boletín a la lista " -"seleccionada" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Activar" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INACTIVO" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Esta es una campaña encadenada (Trigger). Los boletines son enviados a " -"suscriptores que han desencadenado alguna acción de esta campaña." - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "ver más" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Lista de suscriptores que ha hecho clic en este link" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"Clics únicos, contados como único suscriptores hace clic en link específico " -"o en ningún link (vista agregada)" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Si una nueva entrada es en la campaña Feed, una nueva subcampaña de esta " -"entrada es creada y será listada aquí" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Cambiar contraseña" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Hemos recibido una solicitud de cambio de contraseña de su cuenta Mailtrain:" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Restablecer la contraseña" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Si usted no pidió que cambie su contraseña, entonces puede ignorar este " -"mensaje y no se cambiará la contraseña." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Preferencias" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Darse de baja" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Ver este correo electrónico en su navegador" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Hola [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Gracias," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Gestión de la lista" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain le permite administrar fácilmente listas muy grandes. ¿Millones de " -"suscriptores? No es un problema. Puede añadir manualmente los suscriptores, " -"a través de la API o importación de un archivo CSV. Todas las listas vienen " -"con soporte para los campos personalizados y se fusionan las etiquetas " -"también." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Mostrar más" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Campos Personalizados" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Mailtrain tiene campos de texto, números, menús desplegables y casillas de " -"verificación. Cada campo personalizado se puede incluir en los boletines " -"generados a través de las etiquetas." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain soporta formularios personalizados también." - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Lista Segmentada" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Enviar mensajes sólo a la lista de suscriptores que cumple las de " -"segmentación predefinidas. No hay necesidad de crear listas separadas con " -"pequeñas diferencias." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "Campañas RSS" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Configura Mailtrain para seguir el Fedd de RSS y si se detecta una nueva " -"entrada del feed, Mailtrain generará automáticamente una nueva campaña a " -"partir de los datos de la entrada como contenido del mensaje y lo enviará a " -"los suscriptores seleccionados." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "Cifrado GPG" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Si una lista tiene un campo personalizado para una clave pública GPG " -"establecida, los suscriptores pueden actualizar su clave pública GPG para " -"recibir mensajes cifrados de la lista." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Estadísticas de clics" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Tras enviar una campaña, comprobar las estadísticas de clic individuales " -"para cada enlace incluido en el mensaje." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Editores plantilla" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain envía con los incorporados GrapeJS y Mosaico, dos editores " -"avanzados de plantillas . Mailtrain también ofrece un editor de código, por " -"si prefieres modificar HTML." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Enviar a través de cualquier proveedor" - -#: views/index.hbs:24 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Mailtrain recomienda SendPulseaunque se puede " -"utilizar cualquier proveedor que soporte el protocolo SMTP para enviar sus " -"boletines de noticias. El manejo de rebotes y de quejas a través de WebHooks " -"es compatible para SES, SparkPost, SendGrid y Mailgun, también para Postfix " -"y ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "Automatización" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definir los factores desencadenantes de automatización para enviar boletines " -"específicos cuando un usuario activa el Trigger." - -#: views/index.hbs:29 -msgid "Donate to Author" -msgstr "Donar al autor" - -#: views/index.hbs:30 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "" -"Mailtrain está disponible bajo licencia GPLv3 y la fuente es completamente " -"abierta (Open source)." - -#: views/index.hbs:31 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is" -msgstr "" -"Si realmente te gusta Mailtrain o su negocio se beneficia de ella " -"financieramente entonces yo realmente apreciaría una pequeña donación para " -"mantener los motores de desarrollo Mailtrain. También se puede usar Bitcoin " -"o PayPal para donaciones. Bitcoin es mi monedero." - -#: views/index.hbs:32 -msgid "Or Donate Using Paypal" -msgstr "O donar usando Paypal" - -#: views/index.hbs:33 -msgid "Official Mailtrain Partners" -msgstr "Socios oficiales de Mailtrain" - -#: views/index.hbs:34 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" -"Un servidor SMTP fiable, de fácil integración y envío de 12.000 mensajes " -"durante un mes gratis" - -#: views/index.hbs:35 -msgid "Free, open source mail server solution" -msgstr "" -"Gratis, solución de código abierto (open source) de servidor de correo " - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Interruptor de navegación" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Cuenta" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Ajustes" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Cerrar sesión" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Registrarse" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "Applicación de Newsletter \"autoalojada\" creada en base a Nodemailer?" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Fuente en GitHub" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Suscríbete a nuestro boletín" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Listas" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Crear lista" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nombre de Lista" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Suscripción" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Permitir que los usuarios públicos se suscriban a sí mismos " - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Darse de baja" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "Seleccionar como el suscriptor maneja la solicitud de baja." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Editar lista" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Ver lista" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "ID de lista" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Este es el ID de la lista que se muestra a los suscriptores" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Formulario personalizado" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Formulario por defecto de Mailtrain" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"El formulario personalizado que se utiliza para esta lista. Puedes crear un " -"formulario aquí ." - -#: views/lists/edit.hbs:19 -msgid "Delete List" -msgstr "Eliminar lista" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Crear campo" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Crear campo personalizado" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nombre de campo" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Tipo de campo" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Texto" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Número" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Web" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Clave pública GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Texto de varias líneas" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Fecha" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Fecha (MM/DD/YYYY)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Fecha (DD/MM/YYYY)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Cumpleaños" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Cumpleaños (MM/DD)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Cumpleaños (DD/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Agrupado" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Listas deplegables" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Botones Radio " - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxes" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Opción para un valor de grupo" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Grupo" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Requerido para Opciones de Grupo" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Valor de la etiqueta Merge por defecto" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Para los elementos de grupo como checkboxes tu puedes controlar la " -"apariencia de la etiqueta merge con una plantilla opcional. La plantilla " -"utiliza la sintaxis Handlebars y se pueden encontrar todos los valores de " -"{{values}} array, por ejemplo {{#each values}} {{this}} " -"{{/each}}. Si la plantilla no se define, varios valores se unen con " -"comas. También puedes utilizar esta plantilla para rederizar valores JSON " -"(si el JSON es un array, el array es expuesto como values, de " -"lo contrario puedes acceder directamente a las claves JSON)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Visible" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Añadir Campo" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Editar Campo" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Editar campo personalizado" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Volver a campos" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/mosaico/editor.hbs:2 views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "Etiqueta Merge" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Etiqueta Merge" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Pon esta etiqueta en tu contenido:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Eliminar campo" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Tipo" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:170 routes/triggers.js:297 -msgid "Edit" -msgstr "Editar" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Formularios personalizados" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Crear formulario" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Crear formulario personalizado" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Nombre de Formulario" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Añadir Formulario" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Editar formulario" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Editar Formulario personalizado" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Volver a Formularios" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Compentarios opcionales sobre el formulario" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Vista previa del formulario" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Nota: Estos enlaces son únicamente para una vista rápida. Si seleccionas la " -"vista previa de un formulario se te redirecciona a la lista por defecto del " -"formulario." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Suscribirse" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "Aviso de Confirmación de suscripción" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "Aviso de Confirmación de baja" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "Aviso Suscripción" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "Aviso Actualización" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "Aviso Baja" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "Aviso Manual de baja" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "Gestión" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "Gestión de dirección" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "Crear un usuario de prueba para opciones adicionales" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Plantillas" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "Campos" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Campos de formulario" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "Campos ocultos de página de suscripción" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "Campos no ocultos de página de suscripción" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "Campos ocultos de página de preferencias" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "Campos no ocultos de páginas de preferencias" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Eliminar Formulario" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "El formulario por defecto de esta lista es:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Suscriptores" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmentos" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Crear Segmento" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nombre del Segmento" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Combinación de reglas" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Todas las reglas deben combinar" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Ninguna regla debe combinar" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Añadir segmento" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Editar segmento" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Volver a segmentos" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Eliminar segmento" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Crear regla" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regla" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Valor" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Usar % para carácter comodín, por ejemplo \"%test\" para combinar todos los " -"valores que terminen en \"test\"" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Usar combinación exacta" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Usar rango de combinación" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Usar rango relativo de combinación" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "De" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "días" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "antes de hoy" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "después de hoy" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "para" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Seleccionado" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "No Seleccionado" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Añadir regla" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:15 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Siguiente" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Eliminar regla" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Combinar" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segmento" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Combinar reglas" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Conjunto de suscriptores" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "mostrar" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Añadir suscriptor" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Dirección Email" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Empieza por" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Insertar una clave pública GPG que será usada para encriptar mensajes " -"enviados a este suscriptor" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Zona horaria" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "¿Es un usuario test?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Si está marcado, esta suscripción puede ser usada para previsualizar los " -"boletines" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Esta persona no recibirá correo de confirmación para asegurarse de que tiene " -"permiso para enviarle boletines." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Editar suscriptor" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Volver a la lista" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Dirección Email" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Eliminar suscripción" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Importar estatus" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Direcciones fallidas" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "" -"Role-based addresses like postmaster@example.com are blocked when importing. " -"Subscribers with role-based email addresses can join your list using the " -"subscription form" -msgstr "" -"Direcciones basadas en roles como postmaster@example.com se bloquean cuando " -"se importan. Los suscriptores con correos electrónicos basados en roles " -"pueden unirse a la lista utilizando el formulario de suscripción." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "ver aquí" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Razón fallida" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Importar suscriptores" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:54 -#: views/users/api.hbs:62 views/users/api.hbs:70 -msgid "Example" -msgstr "Ejemplo" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Empezar importación" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "Archivo CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "Delimitador CSV" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "Categorizar los suscriptores importados como" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:206 -msgid "Subscribed" -msgstr "Suscritos" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "Correos de suscriptores regulares" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Correos suprimidos que serán dados de baja en tu lista" - -#: views/lists/subscription/import.hbs:12 -msgid "Check imported emails" -msgstr "Revisar los correos importados" - -#: views/lists/subscription/import.hbs:13 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Activado" - -#: views/lists/subscription/import.hbs:14 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Desactivado" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Formulario de suscripción" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Acciones de Lista" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Crear Trigger" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Añadir suscriptor" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Importar suscriptores" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Crear nuevo segmento" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filtrar" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Sucriptores" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importaciones" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:300 -msgid "Finished" -msgstr "Terminado" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Añadido" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Actualizado" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Fallido" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"¿Estás seguro? Esta acción sólo será llamada para resolver importaciones " -"estancadas" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Reiniciar" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Etiqueta referencia Merge" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "Diseñador de boletines responsive MOSAICO" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Guardado con éxito" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Un error ocurrió mientras se guardaban los documentos" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Los cambios no guardados se perderán. ¿Cerrar ahora?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Etiquetas" - -#: views/partials/codeeditor.hbs:1 views/partials/grapejs.hbs:1 -#: views/partials/mosaico.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Contenido de plantilla (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "GUARDAR" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "GUARDANDO" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "CERRAR" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "Abrir GrapeJS" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Vista previa de Toggle HTML" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Para extraer el texto de HTML, haga clic aquí." - -#: views/partials/html-to-text.hbs:2 -msgid "" -"Please note that your existing plaintext in the field above will be " -"overwritten. This feature uses the Premailer API, a third party " -"service. Their Terms of Service and Privacy Policy apply." -msgstr "" -"Por favor, tenga en cuenta que el texto plano del campo superior será " -"sobreescrito. Esta función utiliza Premailer API, como servicio de " -"terceros. Sus Condiciones de servicio y política de privacidad se aplican." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "Ha ocurrido un error mientras se comunicaba con el servidor" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge Tags son etiquetas que son remplazadas antes de enviar el boletín. El " -"formato de las etiquetas Merge es el siguiente [TAG_NAME] o " -"[TAG_NAME/fallback] donde fallback es el valor de " -"un texto opcional usado cuando TAG_NAME está vacío." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{title}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Abrir Mosaico" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Contenido de la plantilla (texto plano)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Informes" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Crear plantilla" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Crear informe de plantilla" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Editar plantilla" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Editar informe de plantilla" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "Eliminar plantilla" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Actualizar y permanecer" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Actualizar y salir" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Nombre de plantilla" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Usar campos seleccionables" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Código de procesamiento de datos" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Plantilla de renderizado" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Vacío/En blanco" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Todos los suscriptores" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Suscriptores agrupados" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Exportar lista como CSV" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Plantillas de informes" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Crear informe" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Editar informe" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Eliminar informe" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Nombre de informe" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Seleccionar una campaña en la tabla superior haciendo clic en el respectivo " -"número de columna" - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Plantilla informe" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Dirección de servicio (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Introduzca la URL a la que puede acceder este servicio desde" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Email Admin" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Introduce la dirección email que será usada como \"From\" para los envíos" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Desactivar editor WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" -"Si está marcado, el editor de mensajes muestra el código HTML sin la vista " -"previa" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Desactivar los mensajes de confirmación de suscripción" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Si está marcado, no envía mensaje de confirmación que indica que el abonado " -"está suscrito o dado de baja. Esto no deshabilita dobles mensajes opt-in." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "ID restreo" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Introduzca un código de seguimiento de Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Reconocimiento de portada" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Código HTML es mostrado en la sección de encabezado de la portada" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Fallos en la campaña" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Nombre de Remitente" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nombre de Remitente, por ejemplo: Compañía Asombrosa SL." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Dirección por defecto" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Dirección de contacto proporcionada, por ejemplo. Calle lugar cualquiera 1, " -"Madrid, España" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Nombre \"From\" por defecto" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Email \"From\" por defecto" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "\"Asunto\" por defecto" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Home por defecto (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL para redireccionar a los usuarios suscritos, por ejemplo http://example." -"com/" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Ajustes Remitente" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Estos ajustes son requeridos para enviar boletines" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "Utiliza SMTP para enviar boletines" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "Nombre Host" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Puerto" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Puerto, por ejemplo 465. Autodetecta si es vacio" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Codificación" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "Desactivar la autenticación SMTP" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Nombre de usuario" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Nombre de usuario, por ejemplo. nombre@ejemplo.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Contraseña" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "Utilizar la API de SES para enviar correo" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "Clave de acceso" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "ID Clave de acceso AWS" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "Clave secreta" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "Clave de acceso secreta AWS" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Región" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Comprobación" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Compruebe configuración de Remitente" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" -"¿No tienes una cuenta SMTP todavía? Crear una cuenta gratuita en SendPulse" - -#: views/settings.hbs:53 -msgid "here" -msgstr "aquí" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "Ajustes avanzados de Remitente" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "Registrar transacciones SMTP" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "Permitir certificados con firma propia" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "Número máximo de conexiones" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "Recuento de conexiones máximo, por ejemplo. 10" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Recuento del número máximo de conexiones simultáneas para hacer frente al " -"servidor SMTP (por defecto 5). Este límite es por proceso de envío." - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "Número máximo de mensajes" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "El recuento de mensajes máximo, por ejemplo. 100" - -#: views/settings.hbs:62 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"El número de mensajes a enviar a través de una única conexión antes de la " -"conexión se cierra y se vuelve a abrir (por defecto 100)" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "Regulador " - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "Mensajes por hora, por ejemplo 1000" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Número máximo de mensajes que se envían en una hora. Dejar en blanco o nulo " -"sin regulación. Si su proveedor utiliza un límite de velocidad diferente " -"(mensajes / minuto o mensajes / segundo) a continuación, convertir este " -"límite en mensajes/hora (1m/s => 3600m/h). Este límite es por proceso de " -"envío." - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "Manejo de rebote VERP" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain es capaz de utilizar el enrutamiento basado VERP para detectar " -"rebotes. En este caso el mensaje se envía al destinatario mediante una " -"dirección VERP personalizada como la vía de retorno del mensaje. Si el " -"mensaje no se acepta un correo electrónico de rebote es enviado a esta " -"dirección especial VERP y por lo tanto se detecta un rebote." - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"ePara obtener el trabajo de VERP, necesitas crear un registro DNS MX que " -"apunta a su nombre de host Mailtrain. También debe asegurarse de que la " -"interfaz Mailtrain VERP está disponible desde el puerto 25 del servidor " -"(puerto 25 por lo general requiere privilegios de usuario root). De esta " -"manera si alguien trata de enviar un correo electrónico a someuser@verp-" -"hostname, el correo electrónico debe terminar en este servidor." - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"Por lo general VERP sólo funciona si está utilizando su propio servidor " -"SMTP. Servicios de transmisión regulares (SES, SparkPost, Gmail, etc.) " -"tienden a eliminar la dirección VERP del mensaje." - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "Utilice VERP para rebotes" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "Nombre de Host del servidor" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "El nombre de host del servidor VERP, por ejemplo. bounces.ejemplo.com" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"Nombre de Servidor Host que maneja rebotes VERP. Este nombre de host se " -"utiliza en el FROM del sobre SMTP y los registros DNS MX deben señalar a " -"este servidor" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"Servidor Host VERP que maneja rebotes no esta activado. Modifica el archivo " -"de configuración de tu servidor y reinicia el servidor para activarlo." - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "Firma GPG" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Sólo los mensajes cifrados pueden ser firmados. Los suscriptores que no han " -"establecido una clave pública GPG en su perfil de recibirán mensajes de " -"correo electrónico normales. Los usuarios con claves GPG establecidad, " -"recibirán mensajes cifrados y si tiene clave de firma también establecida, " -"los mensajes estarán firmados con esa clave." - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"No utilice las teclas susceptibles aquí. La clave privada y la frase de " -"contraseña no están cifrados en la base de datos." - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "Frase clave privada" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "Frase de contraseña para la clave si se establece" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" -"Sólo rellene esto si su clave privada se cifra con una frase de contraseña" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "Clave privada GPG" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Este valor es opcional. Si usted no proporciona una clave privada GPG los " -"mensajes cifrados se envían sin firma." - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "Firma DKIM por ZoneMTA" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"Si está utilizando ZoneMTA, Mailtrain puede proporcionar una clave DKIM para " -"la firma de todos los mensajes salientes. Otros servicios suelen " -"proporcionar sus propios medios para firmar sus mensajes DKIM" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"No utilice las teclas susceptibles aquí. La clave privada no está cifrada en " -"la base de datos." - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "CLAVE de API DKIM ZoneMTA" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "Algunos valores secretos" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Valor secreto conocido a ZoneMTA para solicitar información clave DKIM. Si " -"este valor se genera mediante el script de instalación Mailtrain entonces se " -"puede mantener como está" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "dominio DKIM" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "nombre de dominio para la clave DKIM" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "" -"Dejar en blanco para usar el dominio de dirección de correo electrónico del " -"remitente" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "Selector Clave de DKIM" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "Firma está desactivada y sin un valor de selección válido" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "Clave privada DKIM" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Este valor es opcional. Si usted no proporciona una clave privada a " -"continuación, los mensajes no se firman." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:171 lib/models/subscriptions.js:892 -msgid "Email address already registered" -msgstr "Dirección de correo ya registrada" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Hemos recibido una solicitud de suscripción. Su dirección de correo " -"electrónico está sin embargo ya registrada." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. Su " -"subscripción no se verá afectada." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Si desea modificar su suscripción, puedes" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "administrar tus preferencias" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "o" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "darte de baja aquí" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Vuelvea nuestra web" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "" -"Para preguntas acerca de esta lista, por favor, póngase en contacto con " -"nosotros en:" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Si desea modificar su suscripción a continuación, puedes:" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Por favor, confirma el campo de Dirección de correo de Suscripción" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Sí, suscribir esta dirección de correo electrónico a la lista" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será " -"suscrito si no hace clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No va a estar " -"suscrito a menos que haga clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:431 -msgid "Please Confirm Subscription" -msgstr "Por favor, confirme la suscripción" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Sí, suscribirme a la lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "Por favor, confirma la baja" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Sí, darme de baja de esta lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será dado " -"de baja si no hace clic en el enlace de confirmación anterior." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Si ha recibido este mensaje por error, simplemente elimínalo. No será dado " -"de baja a menos de hacer clic en el enlace de confirmación anterior." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Suscripción confirmada" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "Su suscripción a nuestra lista ha sido confirmada" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Su suscripción a nuestra lista ha sido confirmada." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Tu estás dado de baja ahora" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Hemos eliminado su correo electrónico de nuestra lista" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "Si te has dado de baja por error, puedes volverte a suscribir en:" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Hemos eliminado su correo electrónico de nuestra lista." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "quieres cambiarla?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Descargar clave de verificación de firma" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Inserta tu clave GPG pública aquí para encriptar mensajes enviados a tu " -"dirección" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "opcional" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "¡Advertencia!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Si JavaScript no está activada, no se envia ningún mensaje de confirmación" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "JavaScript debe estar habilitado para esta forma de funcionamiento" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Correo electrónico existente" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Nuevo Correo electrónico" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Tu nuevo correo electrónico" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Recibirás un email a tu nuevo correo electrónico con una solicitud de " -"confirmación. Tras aceptarla el correo será cambiado definitivamente." - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Actualizar el correo electrónico" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Actualizar perfil" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Suscrito a la lista" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Casi terminado" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Necesitamos confirmar tu dirección de correo electrónico. Para completar el " -"proceso de suscripción, por favor haz clic en el enlace del correo " -"electrónico que acabamos de enviarte." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Necesitamos confirmar tu dirección de correo electrónico. Para completar el " -"proceso de darse de baja, por favor haga clic en el enlace del correo " -"electrónico que acabamos de enviarte." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Actualizar su correo electrónico" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Actualizar sus preferencias" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "Darse de baja online no es posible" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Por favor, contácta con nosotros en" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "ser eliminado de la lista" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Suscribirse a la lista" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "¡Gracias por suscribirte!" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Dado de baja con éxito" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Has sido eliminado de:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Perfeil actualizado" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "La información de tu perfil ha sido actualizada" - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Enviando" - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Parece que tu ya estabas suscrito a esta lista" - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nombre de plantilla" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nombre de esta plantilla, por ejemplo Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Editor HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Comentario opcional sobre esta plantilla" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Volver a plantillas" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Automatización Trigger " - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Seleccionar una lista para el Trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nombre de Trigger" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nombre para este Trigger, por ejemplo: Suscritores inactivos" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Comentarios opcionales sobre el Trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Regla Trigger" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Trigger encendido" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "días después:" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Evento" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Campaña" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Acción Trigger" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Enviar campaña" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Edit Trigger" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Volver a Triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Trigger está activado" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Eliminar Trigger" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Encadenados (Triggered)" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Suscriptores Encadenados (Triggered)" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Suscriptores que han provocado que este Trigger se encienda" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Hora de Trigger" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Trigger" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Camapaña Objetivo" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Cuenta Trigger" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Esta cuenta esta gestionada mediante LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Dirección mail asociada" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Tu dirección email" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" -"Este email es usado para recuperar una cuenta en caso de que no recuerdes la " -"contraseña" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Cambio de contraseña" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Tu sólo necesitas completar este formulario si quieres cambiar la contraseña " -"actual" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Contraseña actual" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nueva contraseña" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Confirmar contraseña" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Confirmar nueva contraseña" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" -"¿Estás seguro? El reinicio invalidará el token existente en este momento." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "¿Estás seguro?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Restablecer token de Acceso" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Token de Acceso generado" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Token de acceso personal:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Token de Acceso no generado aún" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Notas sobre la API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"Respuesta API es una estructura JSON con error y data propiedades. Si la respuesta error tiene un valor " -"establecido la petición ha fallado." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Necesitas definir correctamente Content-Type cuando se hace una " -"petición. Tu puedes usar application/x-www-form-urlencoded para " -"formulario de datos normal o application/json para carga JSON. " -"El uso de multipart/form-data no es soportado." - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "Añadir suscriptción" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Esta API llama a insertar un nuevo suscriptor o actualizar existente. Campos " -"no incluidos no se modifican, pero si quieres actualizar solo el valor de " -"LAST_NAME, FIRST_NAME no se modifica para suscripciones existentes." - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:57 views/users/api.hbs:59 -#: views/users/api.hbs:65 views/users/api.hbs:67 -msgid "arguments" -msgstr "razón/argumento" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 views/users/api.hbs:58 views/users/api.hbs:66 -msgid "your personal access token" -msgstr "tu token personal de acceso" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "Correo de Suscriptor" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:61 views/users/api.hbs:69 -msgid "required" -msgstr "Obligatorio" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "Nombre de suscriptor" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "Apellidos de suscriptor" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"la zona horaria del suscriptor (por ejemplo. \"Europa / Tallin\", \"PST\" o " -"\"UTC\"). Si no se establece, por defecto es \"UTC\"" - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"Valor de campo personalizado. Utilice sí / no para la opción de los valores " -"del grupo (casillas de verificación, radios, menús desplegables)" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "Los argumentos adicionales del POST" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"Marca \"Sí\" si desea asegurarse de que el correo electrónico se marca como " -"suscrito incluso si fue previamente marcado como baja. Si el correo " -"electrónico ya fue dado de baja o bloqueado, el estado de suscripción no se " -"cambia" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"Marca \"Sí\" si desea enviar un correo electrónico de confirmación al " -"suscriptor antes de que realmente se marque como suscrito" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "Eliminar suscripción" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Esta llamada a la API marca una suscripción como dado de baja" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "Eliminar suscripción" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "Esta llamada a la API elimina una suscripción" - -#: views/users/api.hbs:44 -msgid "Get list of blacklisted emails" -msgstr "Obtener la lista de correos electrónicos de la lista negra" - -#: views/users/api.hbs:45 -msgid "This API call get list of blacklisted emails." -msgstr "" -"Esta llamada a la API consigue la lista de correos electrónicos de la lista " -"negra." - -#: views/users/api.hbs:48 -msgid "Start position" -msgstr "Posición de salida" - -#: views/users/api.hbs:49 -msgid "optional, default 0" -msgstr "opcional, por defecto 0" - -#: views/users/api.hbs:50 -msgid "limit emails count in response" -msgstr "cantidad límite de emails en la respuesta" - -#: views/users/api.hbs:51 -msgid "optional, default 10000" -msgstr "opcional, por defecto 10000" - -#: views/users/api.hbs:52 -msgid "filter by part of email" -msgstr "filtrar por correo electrónico" - -#: views/users/api.hbs:53 -msgid "optional, default ''" -msgstr "opcional, por defecto ''" - -#: views/users/api.hbs:56 -msgid "This API call either add emails to blacklist" -msgstr "Esta llamada a la API añade correos electrónicos a la lista negra" - -#: views/users/api.hbs:60 views/users/api.hbs:68 -msgid "email address" -msgstr "Correo electrónico" - -#: views/users/api.hbs:63 -msgid "Delete email from blacklist" -msgstr "Eliminar correo electrónico de la lista negra" - -#: views/users/api.hbs:64 -msgid "This API call either delete emails from blacklist" -msgstr "" -"Esta llamada a la API ya sea borrado mensajes de correo electrónico de la " -"lista negra" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Restablecimiento de contraseña" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "¿Quieres restablecer tu contraseña?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Las cuentas se gestionan a través de LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Restablecer la contraseña" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Por favor proporcione el nombre de usuario o correo electrónico que utilizó " -"cuando se inscribió en su cuenta Mailtrain." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" -"Te enviaremos un correo electrónico que te permitirá restablecer tu " -"contraseña." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Nombre de usuario o correo electrónico" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Envía un correo electrónico de verificación" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Recuérdame" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "¿Se te olvidó tu contraseña?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Cambiar la contraseña nueva" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Por favor, introduzca una contraseña nueva." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "No se pudo encontrar la plantilla con el ID especificado" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "No se pudo encontrar campaña con el ID especificado" - -#: lib/editor-helpers.js:47 routes/editorapi.js:308 -msgid "Invalid resource type" -msgstr "Tipo de recurso no válido" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Mal código de estado %s" - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "URL que apunta a la página de darse de baja" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "URL que apunta a la página de preferencias del suscriptor" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "URL para obtener una vista previa del mensaje en un navegador" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Nombre" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Apellidos" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Nombre completo (nombre y apellidos)" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "ID único que identifica al destinatario" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "ID único que identifica la lista prevista para esta campaña" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "ID único que identifica la campaña actual" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "Contenido de una entrada RSS" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "Título de la entrada RSS" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "Fecha de entrada RSS" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "Enlace de entrada RSS" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "Resumen de entrada RSS" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "URL de la imagen de entrada RSS" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Modo fe envío de correo no válido" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "Falta el ID de campaña" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Adjunto vacío o de tamaño superior al posible" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "El nombre de la campaña se debe ajustar" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "La URL del RSS se debe establecer y debe ser una URL válida" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "La plantilla seleccionada no se encuentra" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "Falta ID del mensaje o es inválido" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "Estado del mensaje no reconocido" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "No se pudo almacenar datos de confirmación" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Desplegable" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Fecha (MM/DD/YYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "valor para la representación personalizada JSON" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Opción" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:83 lib/models/lists.js:118 -#: lib/models/lists.js:232 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:387 -#: lib/models/subscriptions.js:563 lib/models/subscriptions.js:654 -#: lib/models/subscriptions.js:707 lib/models/subscriptions.js:770 -#: lib/models/subscriptions.js:813 -msgid "Missing List ID" -msgstr "Falta el ID de la lista" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "El campo Opción requiere que un grupo está seleccionado" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "Falta el campo ID" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "El campo Nombre debe establecerse" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Campo personalizado no encontrado" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Desconocido el tipo de columna %s" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "Falta el nombre de la columna" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "Falta el ID de la lista" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "ID proporcionado de la lista no es encontrado" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "Falta ID del Formulario" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "El Nombre del Formulario se debe ajustar" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "Formulario personalizado no encontrado" - -#: lib/models/links.js:337 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Campaña no encontrada" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Lista no encontrada" - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "Suscripción no encontrada" - -#: lib/models/lists.js:134 lib/models/lists.js:178 -msgid "List Name must be set" -msgstr "El nombre de la lista debe ser ajustado" - -#: lib/models/lists.js:261 -msgid "Missing List CID" -msgstr "Falta CID de la lista" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "Falta ID de plantilla informe" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "El nombre de la plantilla informe se debe ajustar" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "Falta ID de informe " - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "Nombre del informe se debe ajustar" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "País de registro" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Fecha de inscripción" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Última apertura" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Último clic" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "Falta el ID de segmento" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "El segmento no se encuentra" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s días después de hoy" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "%s días antes de hoy" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "hoy" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Tipo de regla de segmento no válido" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "El segmento seleccionado no se encuentra" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Tipo de regla no válida" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "Falta el ID de la regla" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "La regla especificada no se encontra" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "El segmento especificado no se encontra" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "La regla seleccionada no se encontra" - -#: lib/models/subscriptions.js:254 lib/models/subscriptions.js:284 lib/models/subscriptions.js:391 -msgid "Missing Subscription ID" -msgstr "Falta el ID de Suscripción" - -#: lib/models/subscriptions.js:312 -msgid "Missing Subscription email address" -msgstr "Falta el correo electrónico de suscripción" - -#: lib/models/subscriptions.js:567 lib/models/subscriptions.js:817 -msgid "Missing subscription ID" -msgstr "Falta el ID de suscripción" - -#: lib/models/subscriptions.js:658 lib/models/subscriptions.js:711 -#: lib/models/subscriptions.js:747 -msgid "Missing Import ID" -msgstr "Falta el ID de importación" - -#: lib/models/subscriptions.js:839 -msgid "Unknown subscription ID" -msgstr "No se conoce el ID de suscripción" - -#: lib/models/subscriptions.js:844 routes/subscription.js:638 -msgid "Nothing seems to be changed" -msgstr "Nada parece haber sido cambiado" - -#: lib/models/subscriptions.js:910 routes/subscription.js:472 -#: routes/subscription.js:544 routes/subscription.js:580 -#: routes/subscription.js:696 routes/subscription.js:771 -msgid "Subscription not found in this list" -msgstr "La suscripción no se encuentra en esta lista" - -#: lib/models/templates.js:26 lib/models/templates.js:100 -#: lib/models/templates.js:144 -msgid "Missing Template ID" -msgstr "Falta el ID de plantilla" - -#: lib/models/templates.js:55 lib/models/templates.js:104 -msgid "Template Name must be set" -msgstr "El nombre de la plantilla se debe ajustar" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Ha abierto" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Ha hecho clic" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "No ha abierto" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "No ha hecho clic" - -#: lib/models/triggers.js:175 lib/models/triggers.js:212 -msgid "Missing or invalid list ID" -msgstr "Falta ID de lista o es inválido" - -#: lib/models/triggers.js:179 lib/models/triggers.js:264 -msgid "Days in the past are not allowed" -msgstr "No se permiten días pasados" - -#: lib/models/triggers.js:183 lib/models/triggers.js:204 -#: lib/models/triggers.js:268 lib/models/triggers.js:289 -msgid "Missing or invalid trigger rule" -msgstr "Falta Regla encadenante o es inválida" - -#: lib/models/triggers.js:190 lib/models/triggers.js:275 -msgid "Invalid subscription configuration" -msgstr "La configuración de suscripción no es válida" - -#: lib/models/triggers.js:197 lib/models/triggers.js:282 -msgid "Invalid campaign configuration" -msgstr "Configuración de la campaña no es válida" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "A campaing can not be a target for itself" -msgstr "Una campaña no puede ser un objetivo por sí mismo" - -#: lib/models/triggers.js:233 -msgid "Could not store trigger row" -msgstr "No se pudo almacenar el trigger" - -#: lib/models/triggers.js:250 -msgid "Missing or invalid Trigger ID" -msgstr "Falta ID de Trigger o es inválido" - -#: lib/models/triggers.js:317 -msgid "Missing Trigger ID" -msgstr "Falta ID de Trigger" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "No se pudo almacenar fila de usuario" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "El correo electrónico debe estar configurado" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "No se ha podido comprobar los datos de usuario" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"No se puede cambiar el correo electrónico como otro usuario con la misma " -"dirección de correo electrónico que ya existe" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Contraseña actual incorrecta" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "La nueva contraseña no se ha establecido" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Las contraseñas no coinciden" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "El ID de usuario no se ha establecido" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "El nombre de usuario debe configurarse" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Solicitud de cambio de contraseña de correo electrónico" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "Falta el nombre de usuario o restablecer Token" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Nueva contraseña inválida" - -#: lib/passport.js:40 -msgid "%s logged out" -msgstr "%s desconectado" - -#: lib/passport.js:53 -msgid "Failed to authenticate user" -msgstr "Error de autenticación de usuario" - -#: lib/passport.js:69 -msgid "Logged in as %s" -msgstr "Conectado como %s" - -#: lib/passport.js:128 -msgid "Incorrect username or password" -msgstr "Nombre de usuario o contraseña incorrecta" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Suscripción Confirmada" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Correo electrónico registrado" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Por favor confirma el cambio de correo electrónico de suscripción" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Por favor confirma la Suscripción" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Por favor confirma la Baja" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Baja confirmada :(" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Correo electrónico bloqueado \"%s\"" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Correo electrónico inválido \"%s\"." - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "Registro MX para el dominio no encontrado" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "No se ha encontrado dominio de la dirección" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "Se requiere el nombre de dominio" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "No encontrado" - -#: routes/archive.js:121 services/sender.js:451 -msgid "Received status code %s from %s" -msgstr "Código de estado recibido %s de %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Adjunto no encontrado" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:35 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:14 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Tienes que estar registrado para acceder a contenido restringido" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "No se pudo crear la campaña" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Campaña “%s†creada" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Configuración de la campaña actualizada" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "La configuración de la campaña no se ha actualizado" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Campaña eliminada" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "No se pudo eliminar la campaña especificada" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Inactivo/No usado" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "Programado" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "Pausado" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inactivo" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Activo" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Otros" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Estado seleccionado no conocido" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Envío programado" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "No se puede programar el envío" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Envío reanudado" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "No se pudo reanudar el envío" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Envío reiniciado" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "No se ha podido reiniciar el envío" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Envío pausado" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "No se ha podido pausar el envío" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Envío activado" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "No se ha podido activar el envío" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Adjunto subido" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "No se ha podido almacenar el adjunto" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Adjunto eliminado" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "No se ha podido eliminar el adjunto" - -#: routes/editorapi.js:41 -msgid "Invalid editor name" -msgstr "Nombre de Editor inválido" - -#: routes/editorapi.js:237 routes/editorapi.js:275 -msgid "Method not supported" -msgstr "Método no soportado" - -#: routes/editorapi.js:352 -msgid "Invalid resource type or ID" -msgstr "Tipo de recurso o ID no válido" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "ID de lista seleccionado no encontado" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "No se ha podido crear campo personalizado" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Campo seleccionado no encontrado" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Configuración del campo actualizado" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Configuración del campo no actualizado" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Campo personalizado eliminado" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "No se pudo eliminar el campo especificado" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "No se pudo crear el formulario personalizado" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "El formulario seleccionado no se encuentra" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "Versión en formato texto para este correo electrónico" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "Formularios personalizados utilizan MJML para dar formato" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Consulte la documentación de MJML aquí " - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Diseño" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Estilo de entrada de Formulario" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Esta hoja de estilo CSS define el aspecto de los elementos de entrada de " -"formulario y alertas" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Suscribirse" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "Web - Aviso Confirmar suscripción" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Confirmar suscripción (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Confirmar suscripción (texto)" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "Mail - Ya suscrito (MJML)" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "Mail - Ya Suscrito (texto)" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "Web - Aviso Suscripción" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Suscripción confirmada (MJML)" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Suscripción confirmada (texto)" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "Web - Gestión de Preferencias" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "Web - Gestión de Dirección" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "Web - Aviso actualizado" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "Web - Darse de baja" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "Web - Confirmar Aviso de baja" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "Mail - Confirmar baja (MJML)" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "Mail - Confirmar baja (MJML)" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "Mail - Confirmar Cambio de dirección (MJML)" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "Mail - Confirmar Cambio de dirección (texto)" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "Web - Aviso Baja realizada" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "Mail - Baja Confirmada (MJML)" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "Mail - Baja Confirmada (texto)" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "Web - Aviso de Manual de Baja" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "Configuración de formulario Actualizada" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "Configuración de formulario No Actualizada" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "Formulario Personalizado eliminado" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "No se ha podido eliminar Formulario especificado" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Auto alojamiento de Aplicación de Boletín " - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" -"Vaya, no hemos podido encontrar un vínculo para la URL que ha hecho clic" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "No se ha podido crear la lista" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Lista creada" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:644 routes/lists.js:701 routes/lists.js:728 -msgid "Could not find list with specified ID" -msgstr "No se ha podido encontrar la lista con el ID especificado" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "Configuración de la lista actualizado" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "Configuración de la lista no actualizado" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Lista eliminada" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "No se ha eliminado la lista especificada" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "desconocido" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "Queja" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "Clave inválida" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "Clave caducada" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "Clave anulada" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "Iniciando" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "Iniciado" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "Importando" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "Erróneo" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "No se pudo encontrar el Suscriptor con el especificado ID" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "No se pudo añadir la suscripción" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "%s ha sido añadido a su lista con éxito" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "%s no ha sido añadido a su lista" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "No se ha dado de baja al usuario" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s ha sido dado de baja de su lista con éxito" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "%s ha sido eliminado de su lista con éxito" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "Otro suscriptor con correo electrónico %s ya existe" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "Configuración de suscripción actualizada" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "Configuración de suscripción no actualizada" - -#: routes/lists.js:542 routes/lists.js:650 routes/lists.js:686 -#: routes/lists.js:714 routes/lists.js:734 -msgid "Could not find import data with specified ID" -msgstr "No se pudo encontrar datos de importación con especificado ID" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "No se pudo procesar CSV" - -#: routes/lists.js:582 -msgid "Could not create importer" -msgstr "No se pudo crear importación" - -#: routes/lists.js:633 -msgid "Empty file" -msgstr "Archivo vacío" - -#: routes/lists.js:690 -msgid "Import started" -msgstr "Importación empezada" - -#: routes/lists.js:718 -msgid "Import restarted" -msgstr "Importación reiniciada" - -#: routes/lists.js:784 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "Un paso (es decir, no email de confirmación)" - -#: routes/lists.js:790 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "Un paso con formulario de baja (es decir, no email de confirmación)" - -#: routes/lists.js:796 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "Dos pasos (es decir, se envía email de confirmación)" - -#: routes/lists.js:802 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"Dos pasos con formulario de baja (es decir, se envía email de confirmación)" - -#: routes/lists.js:808 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "Manual (es decir, baja realizada por administrador)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "No se pudo crear informe de plantillas" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Informe de plantilla “%s†creado" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "No se encuentra informe de plantilla con ID especificado" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Informe de plantilla actualizada" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Informe de plantilla no actualizada" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Informe de plantilla eliminada" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "No se pudo eliminar Informe de plantilla especificado" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "No se pudo crear informe" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Informe \"%s\" creado" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "No se pudo encontrar el informe con el ID especificado" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "No se pudo actualizar el informe" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Informe actualizado" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Informe no actualizado" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Informe eliminado" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "No se pudo eliminar informe especificado" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "No se pudo encontrar informe especificado" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Tipo desconocido de la plantilla" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "No se pudo crear el segmento" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segmento creado" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "ID de segmento seleccionado no encontrado" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Ajustes de segmento actualizados" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Ajustes de segmento no actualizados" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segmento eliminado" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "No se pudo eliminar segmento especificado" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "No se pudo crear la regla" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regla creada" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Ajustes de regla actualizados" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Ajustes de regla no actualizados" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regla eliminada" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "No se pudo eliminar regla especificada" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Usar TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "Normalmente seleccionado para el puerto 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Usar STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "Generalmente seleccionado por el puerto 587 y 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "No utilice el cifrado" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Ajustes actualizados" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Tipo de Correo Transporte no válido" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Clave de acceso inválido" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Credenciales AWS inválidas" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Conexión rechazada, verificar nombre de host y puerto " - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"No se recibió el mensaje de saludo de servidor. Esto puede ocurrir cuando se " -"conecta a un puerto TLS sin utilizar TLS." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "No se recibió el mensaje de saludo de servidor." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Tiempo de conexión agotado. Comprobar la configuración del firewall, puerto " -"de destino probablemente está bloqueado." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "Autenticación no aceptada, servidor STARTTLS espera a ser utilizados." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Error de autenticación, compruebe nombre de usuario y contraseña." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Verificación Remitente fallido." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Servidor respondió con: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Ajustes de remitente verificados, listo para enviar algún correo!" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "No es permitido por CORS" - -#: routes/subscription.js:61 routes/subscription.js:175 -#: routes/subscription.js:285 routes/subscription.js:381 -#: routes/subscription.js:458 routes/subscription.js:534 -#: routes/subscription.js:565 routes/subscription.js:625 -#: routes/subscription.js:681 routes/subscription.js:759 -#: routes/subscription.js:896 -msgid "Selected list not found" -msgstr "La lista seleccionada no se encuentra" - -#: routes/subscription.js:92 -msgid "Could not save subscription" -msgstr "No se pudo guardar la suscripción" - -#: routes/subscription.js:117 -msgid "Subscriber info corrupted or missing" -msgstr "Datos de Suscripción dañados o perdidos" - -#: routes/subscription.js:135 -msgid "Email address changed" -msgstr "Correo electrónico ha cambiado" - -#: routes/subscription.js:178 routes/subscription.js:384 -msgid "The list does not allow public subscriptions." -msgstr "La lista no permite suscripciones públicas." - -#: routes/subscription.js:354 routes/subscription.js:356 -msgid "Email address not set" -msgstr "Correo electrónico no establecido" - -#: routes/subscription.js:652 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "" -"Un correo electrónico con más instrucciones ha sido enviado a la dirección " -"proporcionada" - -#: routes/subscription.js:860 routes/subscription.js:876 -msgid "Public key is not set" -msgstr "La clave pública no se ha establecido" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "No se pudo crear la plantilla" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Planilla creada" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Configuración de plantilla actualizada" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Configuración de plantilla no actualizada" - -#: routes/templates.js:144 -msgid "Template deleted" -msgstr "Plantilla eliminada" - -#: routes/templates.js:146 -msgid "Could not delete specified template" -msgstr "No se pudo eliminar la plantilla especificada" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "No se pudo encontrar lista seleccionada" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "No se pudo crear el Trigger" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger “%s†creado" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Ajustes de Trigger actualizados" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Ajustes de Trigger no actualizados" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger eliminado" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "No se pudo eliminar el Trigger especificado" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "No se pudo encontrar el Trigger con el ID especificado" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger no encontrado" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Un correo electrónico con instrucciones para restablecer la contraseña ha " -"sido enviada a su dirección de correo electrónico, si existe en nuestro " -"sistema." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Reinicio de Token desconocido o caducado" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Tu contraseña ha sido cambiada exitosamente" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Datos de usuario no encontrados" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Token de acceso actualizado" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Token de acceso no actualizado" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Información de cuenta actualizada" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Información de cuenta no actualizada" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Error de Feed: %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Encontrado %s nueva campaña de mensajes desde Feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "No se ha encontrado nada nuevo en el Feed" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "Entrada RSS %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "No se pudo acceder al archivo de importación" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Desconocido tipo de Trigger %s" diff --git a/languages/et.mo b/languages/et.mo deleted file mode 100644 index 18e5f344..00000000 Binary files a/languages/et.mo and /dev/null differ diff --git a/languages/et.po b/languages/et.po deleted file mode 100644 index 88ad5bdb..00000000 --- a/languages/et.po +++ /dev/null @@ -1,3551 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-07 21:44+0200\n" -"PO-Revision-Date: 2017-03-08 20:25+0200\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: et\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.12\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -#: views/subscription/layout.hbs:1 routes/index.js:11 -msgid "Self hosted email newsletter app" -msgstr "Enda majutatud e-posti uudiskirjade rakendus" - -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/lists.hbs:1 -#: views/lists/segments/create.hbs:1 views/lists/segments/edit.hbs:1 -#: views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/settings.hbs:1 views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Esileht" - -#: views/campaigns/bounced.hbs:2 views/campaigns/campaigns.hbs:2 -#: views/campaigns/campaigns.hbs:7 views/campaigns/clicked.hbs:2 -#: views/campaigns/complained.hbs:2 views/campaigns/create-rss.hbs:2 -#: views/campaigns/create-triggered.hbs:2 views/campaigns/create.hbs:2 -#: views/campaigns/delivered.hbs:2 views/campaigns/edit-rss.hbs:2 -#: views/campaigns/edit-triggered.hbs:2 views/campaigns/edit.hbs:2 -#: views/campaigns/opened.hbs:2 views/campaigns/unsubscribed.hbs:2 -#: views/campaigns/upload-attachment.hbs:2 views/campaigns/view.hbs:2 -#: lib/tools.js:119 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampaaniad" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Tagasipõrgete info" - -#: views/campaigns/bounced.hbs:5 views/campaigns/clicked.hbs:5 -#: views/campaigns/complained.hbs:5 views/campaigns/delivered.hbs:5 -#: views/campaigns/edit-rss.hbs:5 views/campaigns/edit-triggered.hbs:5 -#: views/campaigns/edit.hbs:5 views/campaigns/opened.hbs:5 -#: views/campaigns/unsubscribed.hbs:5 views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Vaata kampaaniat" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Liikmed, kes põrkusid tagasi:" - -#: views/campaigns/bounced.hbs:7 views/campaigns/clicked.hbs:13 -#: views/campaigns/complained.hbs:7 views/campaigns/delivered.hbs:7 -#: views/campaigns/opened.hbs:7 views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:9 views/lists/view.hbs:18 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Aadress" - -#: views/campaigns/bounced.hbs:8 views/campaigns/clicked.hbs:14 -#: views/campaigns/complained.hbs:8 views/campaigns/delivered.hbs:8 -#: views/campaigns/opened.hbs:8 views/campaigns/unsubscribed.hbs:8 -#: views/lists/subscription/add.hbs:6 views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:19 -#: views/subscription/manage.hbs:4 views/subscription/subscribe.hbs:4 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Eesnimi" - -#: views/campaigns/bounced.hbs:9 views/campaigns/clicked.hbs:15 -#: views/campaigns/complained.hbs:9 views/campaigns/delivered.hbs:9 -#: views/campaigns/opened.hbs:9 views/campaigns/unsubscribed.hbs:9 -#: views/lists/subscription/add.hbs:7 views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:20 -#: views/subscription/manage.hbs:5 views/subscription/subscribe.hbs:5 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Perekonnanimi" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "SMTP vastus" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Tagasipõrke aeg" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:27 -msgid "Create Campaign" -msgstr "Loo kampaania" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Tavaline kampaania" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "RSS kampaania" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Automaatkampaania" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:71 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/lists.hbs:5 -#: views/lists/segments/segments.hbs:6 views/templates/templates.hbs:5 -#: views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nimi" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:72 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 views/lists/lists.hbs:8 -#: views/partials/merge-tag-reference.hbs:4 views/templates/create.hbs:9 -#: views/templates/edit.hbs:8 views/templates/templates.hbs:6 -#: views/triggers/create.hbs:7 views/triggers/edit.hbs:8 -#: views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Kirjeldus" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/view.hbs:21 views/lists/view.hbs:29 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Staatus" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:74 -#: views/lists/view.hbs:22 views/lists/view.hbs:23 -msgid "Created" -msgstr "Loodud" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Lingi info" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:61 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:62 -msgid "Clicks" -msgstr "Klikke" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:63 -msgid "% of clicks" -msgstr "% klikkidest" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:64 -msgid "% of messages" -msgstr "% kirjadest" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:67 -msgid "Aggregated clicks" -msgstr "Agregeeritud klikid" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Liikmes, kes klikkisid lingile" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Liikmed, kes klikkisid sellele lingile" - -#: views/campaigns/clicked.hbs:16 -msgid "First click time" -msgstr "Esimese kliki aeg" - -#: views/campaigns/clicked.hbs:17 -msgid "Click count" -msgstr "Klikkide arv" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Kaebuste info" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Liikmed, kes kaebasid ja kes eemaldati listist:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Kaebuse aeg" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:20 -msgid "Create RSS Campaign" -msgstr "Loo RSS kampaania" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"RSS kampaania seab üles träkkeri RSS aadressi pihta. Kui sellest leitakse " -"uus postitus, siis see saadetakse valitud listile uue kirjana" - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Kampaania nimi" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/templates/create.hbs:11 views/templates/edit.hbs:10 -#: views/triggers/create.hbs:9 views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML kasutamine on lubatud" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "List" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/subscription/manage.hbs:10 views/subscription/subscribe.hbs:10 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Vali" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "liiget" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS voo aadress" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Uued postitused sellest RSS voost saadetakse listi liikmete uue kirjana" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:17 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "E-posti “saatja nimiâ€" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit.hbs:18 views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Seda nime näidatakse kirja saatja nimena" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "E-posti “saatja†aadress" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Sellele aadressile saadavad inimesed vastuseid" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:23 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable clicked/opened tracking" -msgstr "Lülita välja klikkide ja avamiste träkkimine" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Loo automaatkampaania" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/templates/create.hbs:13 -msgid "Template" -msgstr "Templiit" - -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Templiidi valimine tekitab sellest kampaania jaoks eraldi koopia" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "Või alternatiivselt kasuta veebiaadressi kirja sisu jaoks" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Kirja saatmiselt tehakse selle aadressi pihta POST päring koos " -"täiteväljadega. Kasuta seda võimalust, kui soovid HTML sisu genereerida " -"omaenda skriptiga" - -#: views/campaigns/create-triggered.hbs:21 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "" - -#: views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" - -#: views/campaigns/edit-rss.hbs:23 views/campaigns/edit-triggered.hbs:26 -#: views/campaigns/edit.hbs:34 -msgid "Delete Campaign" -msgstr "" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 views/lists/edit.hbs:13 -#: views/lists/fields/edit.hbs:39 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:17 -#: views/settings.hbs:99 views/templates/edit.hbs:12 views/triggers/edit.hbs:30 -#: views/users/account.hbs:18 -msgid "Update" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -msgid "General" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:17 -msgid "his is the name your emails will come from" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Template Settings" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template URL" -msgstr "" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:29 -msgid "Attachments" -msgstr "" - -#: views/campaigns/edit.hbs:30 -msgid "File" -msgstr "" - -#: views/campaigns/edit.hbs:31 -msgid "Size" -msgstr "" - -#: views/campaigns/edit.hbs:32 views/campaigns/view.hbs:66 -#: views/lists/fields/fields.hbs:12 views/lists/view.hbs:32 -msgid "No data available in table" -msgstr "" - -#: views/campaigns/edit.hbs:33 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "" - -#: views/campaigns/opened.hbs:10 -msgid "First open" -msgstr "" - -#: views/campaigns/opened.hbs:11 -msgid "Opened count" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:26 -#: views/lists/subscription/import.hbs:10 routes/lists.js:171 -msgid "Unsubscribed" -msgstr "" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:25 -msgid "Delivered" -msgstr "" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "" - -#: views/campaigns/view.hbs:22 routes/lists.js:171 -msgid "Bounced" -msgstr "" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who bounced" -msgstr "" - -#: views/campaigns/view.hbs:24 -msgid "Complaints" -msgstr "" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who complained for this message" -msgstr "" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who unsubscribed after this message" -msgstr "" - -#: views/campaigns/view.hbs:28 -msgid "Opened" -msgstr "" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who opened this message" -msgstr "" - -#: views/campaigns/view.hbs:30 -msgid "Clicked" -msgstr "" - -#: views/campaigns/view.hbs:31 views/campaigns/view.hbs:68 -msgid "List subscribers who clicked on a link" -msgstr "" - -#: views/campaigns/view.hbs:32 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:33 -msgid "Delay sending" -msgstr "" - -#: views/campaigns/view.hbs:34 -msgid "hours" -msgstr "" - -#: views/campaigns/view.hbs:35 -msgid "minutes" -msgstr "" - -#: views/campaigns/view.hbs:36 -msgid "Send to subscribers:" -msgstr "" - -#: views/campaigns/view.hbs:37 -msgid "Are you sure? This action would reset scheduling" -msgstr "" - -#: views/campaigns/view.hbs:38 -msgid "Cancel" -msgstr "" - -#: views/campaigns/view.hbs:39 -msgid "Sending scheduled" -msgstr "" - -#: views/campaigns/view.hbs:40 views/campaigns/view.hbs:52 -msgid "Pause" -msgstr "" - -#: views/campaigns/view.hbs:41 routes/campaigns.js:264 -msgid "Sending" -msgstr "" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:46 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:43 views/campaigns/view.hbs:47 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" - -#: views/campaigns/view.hbs:44 -msgid "Resume" -msgstr "" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Reset" -msgstr "" - -#: views/campaigns/view.hbs:48 -msgid "Continue" -msgstr "" - -#: views/campaigns/view.hbs:50 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" - -#: views/campaigns/view.hbs:51 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:53 views/campaigns/view.hbs:57 -msgid "Campaign status:" -msgstr "" - -#: views/campaigns/view.hbs:54 -msgid "ACTIVE" -msgstr "" - -#: views/campaigns/view.hbs:55 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:56 -msgid "Activate" -msgstr "" - -#: views/campaigns/view.hbs:58 -msgid "INACTIVE" -msgstr "" - -#: views/campaigns/view.hbs:59 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" - -#: views/campaigns/view.hbs:60 -msgid "see more" -msgstr "" - -#: views/campaigns/view.hbs:65 -msgid "List subscribers who clicked this link" -msgstr "" - -#: views/campaigns/view.hbs:69 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" - -#: views/campaigns/view.hbs:70 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" - -#: views/emails/confirm-html.hbs:1 views/emails/confirm-html.hbs:2 -#: views/emails/confirm-text.hbs:1 -msgid "Please Confirm Subscription" -msgstr "Palun kinnita oma liitumissoov" - -#: views/emails/confirm-html.hbs:3 views/emails/confirm-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Jah, soovin liituda selle listiga" - -#: views/emails/confirm-html.hbs:4 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Kui said selle kirja kogemata, siis lihtsalt kustuta see. Sind ei lisata " -"listi, kui sa ei kliki allolevale kinnituslingile" - -#: views/emails/confirm-html.hbs:5 views/emails/confirm-text.hbs:4 -#: views/emails/subscription-confirmed-html.hbs:7 -#: views/emails/subscription-confirmed-text.hbs:7 -#: views/emails/unsubscribe-confirmed-html.hbs:5 -#: views/emails/unsubscribe-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Küsimustega seoses selle listiga võta ühendust järgmisel aadressil:" - -#: views/emails/confirm-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "" - -#: views/emails/password-reset-html.hbs:5 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/subscription/edit.hbs:15 -#: views/subscription/manage.hbs:12 views/subscription/unsubscribe.hbs:1 -#: views/subscription/unsubscribe.hbs:4 routes/lists.js:253 -msgid "Unsubscribe" -msgstr "" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "" - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:1 -#: views/emails/subscription-confirmed-text.hbs:1 -#: views/subscription/subscribed.hbs:1 -msgid "Subscription Confirmed" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:2 -#: views/emails/subscription-confirmed-text.hbs:2 -#: views/subscription/subscribed.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:3 -#: views/emails/subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:4 -#: views/emails/subscription-confirmed-text.hbs:4 -#: views/subscription/subscribed.hbs:6 -msgid "manage your preferences" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:5 -#: views/emails/subscription-confirmed-text.hbs:5 -#: views/subscription/subscribed.hbs:5 views/users/login.hbs:10 -msgid "or" -msgstr "" - -#: views/emails/subscription-confirmed-html.hbs:6 -#: views/emails/subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:1 -#: views/emails/unsubscribe-confirmed-text.hbs:1 -msgid "You are now unsubscribed" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:2 -#: views/emails/unsubscribe-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:3 -#: views/emails/unsubscribe-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" - -#: views/emails/unsubscribe-confirmed-html.hbs:4 -#: views/emails/unsubscribe-confirmed-text.hbs:4 -#: views/lists/subscription/add.hbs:16 routes/lists.js:253 -msgid "Subscribe" -msgstr "" - -#: views/index.hbs:1 -msgid "Official Mailtrain Partners" -msgstr "Ametlikud Mailtraini partnerid" - -#: views/index.hbs:2 -msgid "Free, open source mail server solution" -msgstr "" - -#: views/index.hbs:3 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" - -#: views/index.hbs:4 -msgid "List management" -msgstr "" - -#: views/index.hbs:5 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" - -#: views/index.hbs:6 -msgid "Custom fields" -msgstr "" - -#: views/index.hbs:7 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" - -#: views/index.hbs:8 -msgid "List segmentation" -msgstr "" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" - -#: views/index.hbs:10 -msgid "Donate to author" -msgstr "" - -#: views/index.hbs:11 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is 15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" -msgstr "" - -#: views/index.hbs:12 -msgid "or donate using PayPal" -msgstr "" - -#: views/index.hbs:13 -msgid "RSS Campaigns" -msgstr "" - -#: views/index.hbs:14 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" - -#: views/index.hbs:15 -msgid "GPG Encryption" -msgstr "" - -#: views/index.hbs:16 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" - -#: views/index.hbs:17 -msgid "Click stats" -msgstr "" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" - -#: views/index.hbs:19 -msgid "Open source" -msgstr "" - -#: views/index.hbs:20 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "" - -#: views/index.hbs:21 -msgid "Send via any provider" -msgstr "" - -#: views/index.hbs:22 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" - -#: views/index.hbs:23 -msgid "Trigger based automation" -msgstr "" - -#: views/index.hbs:24 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "" - -#: views/layout.hbs:7 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "" - -#: views/layout.hbs:8 -msgid "Log out" -msgstr "" - -#: views/layout.hbs:9 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "" - -#: views/layout.hbs:10 -msgid "Self hosted newsletter app built on top of Nodemailer" -msgstr "" - -#: views/layout.hbs:11 views/layout.hbs:13 -msgid "Source on GitHub" -msgstr "" - -#: views/layout.hbs:12 -msgid "Subscribe to our newsletter" -msgstr "" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/lists.hbs:2 -#: views/lists/lists.hbs:4 views/lists/segments/create.hbs:2 -#: views/lists/segments/edit.hbs:2 views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:111 -msgid "Lists" -msgstr "" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:9 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "" - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:7 -msgid "Edit List" -msgstr "" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "" - -#: views/lists/edit.hbs:12 -msgid "Delete List" -msgstr "" - -#: views/lists/fields/create.hbs:3 views/lists/fields/edit.hbs:3 -#: views/lists/fields/fields.hbs:3 views/lists/fields/fields.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Fields" -msgstr "" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:25 -msgid "Type" -msgstr "" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/lists.hbs:9 views/lists/segments/segments.hbs:8 -#: views/lists/segments/view.hbs:12 views/templates/templates.hbs:7 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:287 -#: routes/campaigns.js:576 routes/campaigns.js:626 routes/lists.js:222 -#: routes/triggers.js:297 -msgid "Edit" -msgstr "" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "" - -#: views/lists/lists.hbs:7 -msgid "Subscribers" -msgstr "" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:6 -#: views/lists/view.hbs:13 -msgid "Segments" -msgstr "" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:11 -msgid "Edit Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:12 views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:12 -msgid "Segment" -msgstr "" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "" - -#: views/lists/subscription/add.hbs:5 views/subscription/manage.hbs:2 -#: views/subscription/subscribe.hbs:3 views/users/account.hbs:7 -msgid "Email Address" -msgstr "" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 views/subscription/manage.hbs:7 -#: views/subscription/subscribe.hbs:7 -msgid "Begins with" -msgstr "" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/unsubscribe.hbs:3 lib/helpers.js:26 -#: lib/models/segments.js:11 -msgid "Email address" -msgstr "" - -#: views/lists/subscription/edit.hbs:16 -msgid "Delete Subscription" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "see here" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:10 -msgid "Fail reason" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:55 -msgid "Example" -msgstr "" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:171 -msgid "Subscribed" -msgstr "" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "" - -#: views/lists/view.hbs:8 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "" - -#: views/lists/view.hbs:9 -msgid "Add Subscriber" -msgstr "" - -#: views/lists/view.hbs:10 -msgid "Import Subscribers" -msgstr "" - -#: views/lists/view.hbs:14 -msgid "Create New Segment" -msgstr "" - -#: views/lists/view.hbs:15 -msgid "Filter" -msgstr "" - -#: views/lists/view.hbs:16 -msgid "Subscriptions" -msgstr "" - -#: views/lists/view.hbs:17 -msgid "Imports" -msgstr "" - -#: views/lists/view.hbs:24 routes/campaigns.js:266 routes/lists.js:265 -msgid "Finished" -msgstr "" - -#: views/lists/view.hbs:26 -msgid "Added" -msgstr "" - -#: views/lists/view.hbs:27 -msgid "Updated" -msgstr "" - -#: views/lists/view.hbs:28 -msgid "Failed" -msgstr "" - -#: views/lists/view.hbs:30 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" - -#: views/lists/view.hbs:31 -msgid "Restart" -msgstr "" - -#: views/partials/codeeditor.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "" - -#: views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "" - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "" - -#: views/settings.hbs:53 -msgid "here" -msgstr "" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "" - -#: views/settings.hbs:62 -msgid "" -"he number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "" - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" - -#: views/subscription/confirm-notice.hbs:1 views/subscription/subscribe.hbs:1 -msgid "Warning!" -msgstr "" - -#: views/subscription/confirm-notice.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" - -#: views/subscription/confirm-notice.hbs:3 -msgid "Almost finished." -msgstr "" - -#: views/subscription/confirm-notice.hbs:4 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" - -#: views/subscription/confirm-notice.hbs:5 -#: views/subscription/unsubscribe-notice.hbs:3 -#: views/subscription/updated-notice.hbs:3 -msgid "return to our website" -msgstr "" - -#: views/subscription/manage-address.hbs:1 -msgid "Update your Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:2 -msgid "Existing Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:3 -msgid "New Email Address" -msgstr "" - -#: views/subscription/manage-address.hbs:4 -msgid "Your new email address" -msgstr "" - -#: views/subscription/manage-address.hbs:5 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" - -#: views/subscription/manage-address.hbs:6 -msgid "Update Email Address" -msgstr "" - -#: views/subscription/manage.hbs:1 -msgid "Update your preferences" -msgstr "" - -#: views/subscription/manage.hbs:3 -msgid "want to change it?" -msgstr "" - -#: views/subscription/manage.hbs:6 views/subscription/subscribe.hbs:6 -msgid "Download signature verification key" -msgstr "" - -#: views/subscription/manage.hbs:8 views/subscription/subscribe.hbs:8 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" - -#: views/subscription/manage.hbs:9 views/subscription/subscribe.hbs:9 -msgid "optional" -msgstr "" - -#: views/subscription/manage.hbs:11 -msgid "Update Profile" -msgstr "" - -#: views/subscription/subscribe.hbs:2 -msgid "JavaScript must be enabled in order for the subscription form to work" -msgstr "" - -#: views/subscription/subscribe.hbs:11 -msgid "Subscribe to list" -msgstr "" - -#: views/subscription/subscribed.hbs:3 -msgid "Thank you for subscribing!" -msgstr "" - -#: views/subscription/subscribed.hbs:4 -msgid "continue to our website" -msgstr "" - -#: views/subscription/unsubscribe-notice.hbs:1 -msgid "Unsubscribe Successful" -msgstr "" - -#: views/subscription/unsubscribe-notice.hbs:2 -msgid "You have been removed from:" -msgstr "" - -#: views/subscription/unsubscribe.hbs:2 -msgid "Enter your email address to unsubscribe from:" -msgstr "" - -#: views/subscription/updated-notice.hbs:1 -msgid "Profile Updated" -msgstr "" - -#: views/subscription/updated-notice.hbs:2 -msgid "Your profile information has been updated." -msgstr "" - -#: views/templates/create.hbs:2 views/templates/edit.hbs:2 -#: views/templates/templates.hbs:2 views/templates/templates.hbs:4 -#: lib/tools.js:115 -msgid "Templates" -msgstr "" - -#: views/templates/create.hbs:3 views/templates/create.hbs:4 -#: views/templates/create.hbs:12 views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "" - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "" - -#: views/templates/edit.hbs:3 views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "" - -#: views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "" - -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "" - -#: views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "" - -#: views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "" - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "" - -#: views/users/account.hbs:16 -msgid "Confirm Password" -msgstr "" - -#: views/users/account.hbs:17 views/users/reset.hbs:8 -msgid "Confirm New Password" -msgstr "" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:48 -msgid "arguments" -msgstr "" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 -msgid "your personal access token" -msgstr "" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:50 -msgid "required" -msgstr "" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "" - -#: views/users/api.hbs:44 -msgid "Add new custom field" -msgstr "" - -#: views/users/api.hbs:45 -msgid "This API call creates a new custom field for a list." -msgstr "" - -#: views/users/api.hbs:49 -msgid "field name" -msgstr "" - -#: views/users/api.hbs:51 -msgid "one of the following types:" -msgstr "" - -#: views/users/api.hbs:52 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" - -#: views/users/api.hbs:53 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" - -#: views/users/api.hbs:54 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "" - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "" - -#: lib/helpers.js:17 -msgid "URL that points to the unsubscribe page" -msgstr "" - -#: lib/helpers.js:20 -msgid "URL that points to the preferences page of the subscriber" -msgstr "" - -#: lib/helpers.js:23 -msgid "URL to preview the message in a browser" -msgstr "" - -#: lib/helpers.js:29 lib/models/segments.js:31 -msgid "First name" -msgstr "" - -#: lib/helpers.js:32 lib/models/segments.js:35 -msgid "Last name" -msgstr "" - -#: lib/helpers.js:35 -msgid "Full name (first and last name combined)" -msgstr "" - -#: lib/helpers.js:38 -msgid "Unique ID that identifies the recipient" -msgstr "" - -#: lib/helpers.js:41 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "" - -#: lib/helpers.js:44 -msgid "Unique ID that identifies current campaign" -msgstr "" - -#: lib/mailer.js:215 -msgid "Invalid mail transport" -msgstr "Vigane maili transport" - -#: lib/models/campaigns.js:271 lib/models/campaigns.js:298 -#: lib/models/campaigns.js:371 lib/models/campaigns.js:494 -#: lib/models/campaigns.js:752 lib/models/campaigns.js:881 -msgid "Missing Campaign ID" -msgstr "" - -#: lib/models/campaigns.js:407 -msgid "Emtpy or too large attahcment" -msgstr "" - -#: lib/models/campaigns.js:573 lib/models/campaigns.js:761 -msgid "Campaign Name must be set" -msgstr "" - -#: lib/models/campaigns.js:577 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" - -#: lib/models/campaigns.js:730 -msgid "Selected template not found" -msgstr "" - -#: lib/models/campaigns.js:1082 -msgid "Invalid or missing message ID" -msgstr "" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/lists.js:81 lib/models/lists.js:175 lib/models/lists.js:212 -#: lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:88 lib/models/subscriptions.js:640 -#: lib/models/subscriptions.js:703 lib/models/subscriptions.js:889 -#: lib/models/subscriptions.js:992 lib/models/subscriptions.js:1046 -#: lib/models/subscriptions.js:1109 lib/models/subscriptions.js:1152 -msgid "Missing List ID" -msgstr "" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "" - -#: lib/models/links.js:328 routes/campaigns.js:541 routes/campaigns.js:590 -#: services/sender.js:304 -msgid "Campaign not found" -msgstr "" - -#: lib/models/links.js:336 routes/lists.js:146 services/sender.js:311 -msgid "List not found" -msgstr "" - -#: lib/models/links.js:344 -msgid "Subscription not found" -msgstr "" - -#: lib/models/lists.js:117 lib/models/lists.js:179 -msgid "List Name must be set" -msgstr "" - -#: lib/models/lists.js:241 -msgid "Missing List CID" -msgstr "" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "" - -#: lib/models/segments.js:19 lib/models/triggers.js:11 -msgid "Sign up date" -msgstr "" - -#: lib/models/segments.js:23 lib/models/triggers.js:15 -msgid "Latest open" -msgstr "" - -#: lib/models/segments.js:27 lib/models/triggers.js:19 -msgid "Latest click" -msgstr "" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "" - -#: lib/models/subscriptions.js:233 -msgid "%s: Please Confirm Subscription" -msgstr "" - -#: lib/models/subscriptions.js:324 -msgid "Could not save subscription" -msgstr "" - -#: lib/models/subscriptions.js:507 lib/models/subscriptions.js:537 -msgid "Missing Subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:565 -msgid "Missing Subscription email address" -msgstr "" - -#: lib/models/subscriptions.js:644 lib/models/subscriptions.js:893 -#: lib/models/subscriptions.js:1156 -msgid "Missing subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:707 -msgid "Missing email address" -msgstr "" - -#: lib/models/subscriptions.js:996 lib/models/subscriptions.js:1050 -#: lib/models/subscriptions.js:1086 -msgid "Missing Import ID" -msgstr "" - -#: lib/models/subscriptions.js:1178 -msgid "Unknown subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:1183 -msgid "Nothing seems to be changed" -msgstr "" - -#: lib/models/subscriptions.js:1197 -msgid "This address is already registered by someone else" -msgstr "" - -#: lib/models/templates.js:51 lib/models/templates.js:122 -#: lib/models/templates.js:163 -msgid "Missing Template ID" -msgstr "" - -#: lib/models/templates.js:80 lib/models/templates.js:126 -msgid "Template Name must be set" -msgstr "" - -#: lib/models/triggers.js:28 -msgid "Has Opened" -msgstr "" - -#: lib/models/triggers.js:31 -msgid "Has Clicked" -msgstr "" - -#: lib/models/triggers.js:34 -msgid "Not Opened" -msgstr "" - -#: lib/models/triggers.js:37 -msgid "Not Clicked" -msgstr "" - -#: lib/models/triggers.js:174 lib/models/triggers.js:211 -msgid "Missing or invalid list ID" -msgstr "" - -#: lib/models/triggers.js:178 lib/models/triggers.js:263 -msgid "Days in the past are not allowed" -msgstr "" - -#: lib/models/triggers.js:182 lib/models/triggers.js:203 -#: lib/models/triggers.js:267 lib/models/triggers.js:288 -msgid "Missing or invalid trigger rule" -msgstr "" - -#: lib/models/triggers.js:189 lib/models/triggers.js:274 -msgid "Invalid subscription configuration" -msgstr "" - -#: lib/models/triggers.js:196 lib/models/triggers.js:281 -msgid "Invalid campaign configuration" -msgstr "" - -#: lib/models/triggers.js:199 lib/models/triggers.js:284 -msgid "A campaing can not be a target for itself" -msgstr "" - -#: lib/models/triggers.js:232 -msgid "Could not store trigger row" -msgstr "" - -#: lib/models/triggers.js:249 -msgid "Missing or invalid Trigger ID" -msgstr "" - -#: lib/models/triggers.js:316 -msgid "Missing Trigger ID" -msgstr "" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "" - -#: lib/passport.js:38 -msgid "%s logged out" -msgstr "" - -#: lib/passport.js:51 -msgid "Failed to authenticate user" -msgstr "" - -#: lib/passport.js:67 -msgid "Logged in as %s" -msgstr "" - -#: lib/passport.js:125 -msgid "Incorrect username or password" -msgstr "" - -#: lib/tools.js:123 -msgid "Automation" -msgstr "" - -#: lib/tools.js:133 -msgid "Blocked email address \"%s\"" -msgstr "" - -#: lib/tools.js:142 -msgid "Invalid email address \"%s\"." -msgstr "" - -#: lib/tools.js:145 -msgid "MX record not found for domain" -msgstr "" - -#: lib/tools.js:148 -msgid "Address domain not found" -msgstr "" - -#: lib/tools.js:151 -msgid "Address domain name is required" -msgstr "" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:211 -msgid "Not Found" -msgstr "Lehekülge ei leitud :(" - -#: routes/archive.js:110 services/sender.js:447 -msgid "Received status code %s from %s" -msgstr "" - -#: routes/archive.js:134 routes/campaigns.js:131 routes/campaigns.js:295 -#: routes/campaigns.js:390 routes/campaigns.js:435 routes/campaigns.js:475 -#: routes/campaigns.js:739 routes/campaigns.js:762 routes/campaigns.js:781 -#: routes/campaigns.js:803 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "" - -#: routes/archive.js:142 routes/campaigns.js:789 -msgid "Attachment not found" -msgstr "" - -#: routes/campaigns.js:26 routes/fields.js:13 routes/lists.js:49 -#: routes/segments.js:13 routes/settings.js:23 routes/templates.js:17 -#: routes/triggers.js:18 routes/users.js:75 routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Pead olema sisse logitud, et näha peidetud sisu" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "" - -#: routes/campaigns.js:204 -msgid "content from an RSS entry" -msgstr "" - -#: routes/campaigns.js:220 -msgid "Campaign settings updated" -msgstr "" - -#: routes/campaigns.js:222 -msgid "Campaign settings not updated" -msgstr "" - -#: routes/campaigns.js:238 routes/campaigns.js:639 -msgid "Campaign deleted" -msgstr "" - -#: routes/campaigns.js:240 routes/campaigns.js:641 -msgid "Could not delete specified campaign" -msgstr "" - -#: routes/campaigns.js:259 -msgid "Idling" -msgstr "" - -#: routes/campaigns.js:262 -msgid "Scheduled" -msgstr "" - -#: routes/campaigns.js:268 -msgid "Paused" -msgstr "" - -#: routes/campaigns.js:270 -msgid "Inactive" -msgstr "" - -#: routes/campaigns.js:272 -msgid "Active" -msgstr "" - -#: routes/campaigns.js:274 -msgid "Other" -msgstr "" - -#: routes/campaigns.js:429 -msgid "Unknown status selector" -msgstr "" - -#: routes/campaigns.js:657 -msgid "Scheduled sending" -msgstr "" - -#: routes/campaigns.js:659 -msgid "Could not schedule sending" -msgstr "" - -#: routes/campaigns.js:671 -msgid "Sending resumed" -msgstr "" - -#: routes/campaigns.js:673 -msgid "Could not resume sending" -msgstr "" - -#: routes/campaigns.js:685 -msgid "Sending reset" -msgstr "" - -#: routes/campaigns.js:687 -msgid "Could not reset sending" -msgstr "" - -#: routes/campaigns.js:699 routes/campaigns.js:727 -msgid "Sending paused" -msgstr "" - -#: routes/campaigns.js:701 routes/campaigns.js:729 -msgid "Could not pause sending" -msgstr "" - -#: routes/campaigns.js:713 -msgid "Sending activated" -msgstr "" - -#: routes/campaigns.js:715 -msgid "Could not activate sending" -msgstr "" - -#: routes/campaigns.js:750 -msgid "Attachment uploaded" -msgstr "" - -#: routes/campaigns.js:752 -msgid "Could not store attachment" -msgstr "" - -#: routes/campaigns.js:769 -msgid "Attachment deleted" -msgstr "" - -#: routes/campaigns.js:771 -msgid "Could not delete attachment" -msgstr "" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "" - -#: routes/links.js:40 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" - -#: routes/lists.js:90 -msgid "Could not create list" -msgstr "" - -#: routes/lists.js:93 -msgid "List created" -msgstr "" - -#: routes/lists.js:101 routes/lists.js:236 routes/lists.js:301 -#: routes/lists.js:340 routes/lists.js:409 routes/lists.js:434 -#: routes/lists.js:479 routes/lists.js:501 routes/lists.js:530 -#: routes/lists.js:609 routes/lists.js:666 routes/lists.js:693 -msgid "Could not find list with specified ID" -msgstr "" - -#: routes/lists.js:115 -msgid "List settings updated" -msgstr "" - -#: routes/lists.js:117 -msgid "List settings not updated" -msgstr "" - -#: routes/lists.js:133 -msgid "List deleted" -msgstr "" - -#: routes/lists.js:135 -msgid "Could not delete specified list" -msgstr "" - -#: routes/lists.js:171 -msgid "Unknown" -msgstr "" - -#: routes/lists.js:171 -msgid "Complained" -msgstr "" - -#: routes/lists.js:202 -msgid "Invalid key" -msgstr "" - -#: routes/lists.js:204 -msgid "Expired key" -msgstr "" - -#: routes/lists.js:206 -msgid "Revoked key" -msgstr "" - -#: routes/lists.js:256 -msgid "Initializing" -msgstr "" - -#: routes/lists.js:259 -msgid "Initialized" -msgstr "" - -#: routes/lists.js:262 -msgid "Importing" -msgstr "" - -#: routes/lists.js:268 -msgid "Errored" -msgstr "" - -#: routes/lists.js:346 routes/lists.js:415 routes/lists.js:440 -msgid "Could not find subscriber with specified ID" -msgstr "" - -#: routes/lists.js:392 -msgid "Could not add subscription" -msgstr "" - -#: routes/lists.js:397 -msgid "%s was successfully added to your list" -msgstr "" - -#: routes/lists.js:399 -msgid "%s was not added to your list" -msgstr "" - -#: routes/lists.js:421 -msgid "Could not unsubscribe user" -msgstr "" - -#: routes/lists.js:424 -msgid "%s was successfully unsubscribed from your list" -msgstr "" - -#: routes/lists.js:444 -msgid "%s was successfully removed from your list" -msgstr "" - -#: routes/lists.js:456 -msgid "Another subscriber with email address %s already exists" -msgstr "" - -#: routes/lists.js:463 -msgid "Subscription settings updated" -msgstr "" - -#: routes/lists.js:465 -msgid "Subscription settings not updated" -msgstr "" - -#: routes/lists.js:507 routes/lists.js:615 routes/lists.js:651 -#: routes/lists.js:679 routes/lists.js:699 -msgid "Could not find import data with specified ID" -msgstr "" - -#: routes/lists.js:538 -msgid "Could not process CSV" -msgstr "" - -#: routes/lists.js:547 -msgid "Could not create importer" -msgstr "" - -#: routes/lists.js:598 -msgid "Empty file" -msgstr "" - -#: routes/lists.js:655 -msgid "Import started" -msgstr "" - -#: routes/lists.js:683 -msgid "Import restarted" -msgstr "" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Kasuta TLSi" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "tavaliselt valitakse, kui port on 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Kasuta STARTTLSi" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "tavaliselt valitakse, kui port on 587 või 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Ära kasuta ühenduse krüpteerimist" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Seaded uuendatud" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Viga maili transpordi tüüp" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Vigae ligipääsuvõti" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "VIgased AWS võtmed" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Ühendusest keelduti, kontrolli domeeninime ja porti" - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Ei saanud serverilt vastust, see juhtub tavaliselt kui ühendus TLS " -"serverisse ilma TLS kasutamata" - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Ei saanud serverilt vastust" - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Ühendus aegus. Kontrolli oma tulemüüri seadeid, tõenäoliselt on serveir port " -"blokeeritud" - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "Autentimist ei lubatud, server nõuab STARTTLS kasutamist" - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Autentimine ebaõnnestus, kontrolli kasutajanime ja parooli" - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "E-posti seadistuse kontroll ebaõnnestus" - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Server vastas \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "E-posti seaded on kontrollitud, võid hakata kirju saatma" - -#: routes/subscription.js:22 -msgid "Selected subscription not found" -msgstr "" - -#: routes/subscription.js:32 routes/subscription.js:103 -#: routes/subscription.js:141 routes/subscription.js:166 -#: routes/subscription.js:191 routes/subscription.js:232 -#: routes/subscription.js:270 routes/subscription.js:317 -#: routes/subscription.js:339 routes/subscription.js:368 -#: routes/subscription.js:392 routes/subscription.js:424 -msgid "Selected list not found" -msgstr "" - -#: routes/subscription.js:78 routes/subscription.js:472 -msgid "%s: Subscription Confirmed" -msgstr "" - -#: routes/subscription.js:217 -msgid "Email address not set" -msgstr "" - -#: routes/subscription.js:255 -msgid "Could not store confirmation data" -msgstr "" - -#: routes/subscription.js:284 routes/subscription.js:349 -#: routes/subscription.js:402 -msgid "Subscription not found from this list" -msgstr "" - -#: routes/subscription.js:383 -msgid "Email address updated, check your mailbox for verification instructions" -msgstr "" - -#: routes/subscription.js:499 routes/subscription.js:515 -msgid "Public key is not set" -msgstr "" - -#: routes/templates.js:98 -msgid "Could not create template" -msgstr "" - -#: routes/templates.js:101 -msgid "Template created" -msgstr "" - -#: routes/templates.js:109 -msgid "Could not find template with specified ID" -msgstr "" - -#: routes/templates.js:140 -msgid "Template settings updated" -msgstr "" - -#: routes/templates.js:142 -msgid "Template settings not updated" -msgstr "" - -#: routes/templates.js:158 -msgid "Template deleted" -msgstr "" - -#: routes/templates.js:160 -msgid "Could not delete specified template" -msgstr "" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "" - -#: services/feedcheck.js:143 -msgid "RSS entry %s" -msgstr "" - -#: services/importer.js:243 -msgid "Could not access import file" -msgstr "" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "" diff --git a/languages/fr_FR.mo b/languages/fr_FR.mo deleted file mode 100644 index 8ffb0982..00000000 Binary files a/languages/fr_FR.mo and /dev/null differ diff --git a/languages/fr_FR.po b/languages/fr_FR.po deleted file mode 100644 index 0b493f3b..00000000 --- a/languages/fr_FR.po +++ /dev/null @@ -1,4796 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Language-Team: \n" -"Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2018-08-11 13:55+0200\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2018-08-09 16:59+0200\n" -"X-Generator: Poedit 1.8.7.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"Language: fr_FR\n" -"X-Poedit-Basepath: .\n" -"X-Poedit-SearchPath-0: .\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Solution de Newsletter auto-hébergée" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Accueil" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Liste noire" - -#: views/blacklist.hbs:4 views/users/api.hbs:76 -msgid "Add email to blacklist" -msgstr "Ajouter à la liste noire" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Ajouter" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Email" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Campagnes" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Information de liste noire" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Voir la campagne" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Listes des abonnés faisant partie de la liste noire globale :" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Adresse" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Prénom" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Nom" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Raison" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Heure" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Informations sur les rejets" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Abonnés en erreur qui ont été désinscrits :" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Réponse SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Heure du rejet" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:30 -msgid "Create Campaign" -msgstr "Créer une campagne" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Campagne ordinaire" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Campagne RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Campagne pilotée par déclencheurs" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nom" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Description" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Statut" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Créé" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Information sur les liens" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Clics" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% de clics" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% de messages" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Clics agrégés" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Abonnés ayant cliqué sur un lien :" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Abonnés ayant cliqué sur ce lien :" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Statistiques par pays" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Statistiques par type d'équipement" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Heure du premier clic" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Nombre de clics" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Information de plainte" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Abonnés s'étant plaint et ayant été désinscrits :" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Heure de la plainte" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "Créer une campagne RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Une campagne RSS met en place un traqueur de flux RSS. Dès qu'une nouvelle " -"entrée est trouvée dans le flux, elle est envoyée à la liste sous forme mail." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nom de la campagne" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "Le HTML est autorisé" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Liste" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Sélectionner" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "abonnés" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "URL du flux RSS" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Les nouvelles entrées de ce flux RSS seront envoyées aux abonnés sous forme " -"de messages mail" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Nom de l'émetteur du message" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:25 -msgid "This is the name your emails will come from" -msgstr "Il s'agit du nom d'émetteur utilisé pour les messages de la liste" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Adresse de l'émetteur du message" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:27 -msgid "This is the address people will send replies to" -msgstr "L'adresse à laquelle les utilisateurs enverront leurs réponses" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:28 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:27 -msgid "Disable opened tracking" -msgstr "Désactiver le suivi des ouvertures" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:29 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:28 -msgid "Disable clicked tracking" -msgstr "Désactiver le suivi des clics" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Créer une campagne programmée" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Modèle" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Sélectionnez un modèle :" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Modèle de base pour la création de la campagne" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" -"Ou bien utiliser à la place une URL pour récupérer le contenu du message :" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:31 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Lorsqu'un message est envoyé, cette URL sera POSTée avec les champs de " -"publipostage dans le corps de la requête. Utilisez cette fonctionnalité si " -"vous voulez générer le message HTML par vous-même" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Objet du message" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:29 -msgid "Keep it relevant and non-spammy" -msgstr "Adéquat et non raccoleur" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"L'adresse à laquelle les utilisateurs enverront leurs réponses, sauf si une " -"autre adresse Reply-to a été précisée" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Adresse de réponse Reply-to du message" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"Si renseignée, les utilisateurs enverront leurs réponses à cette adresse" - -#: views/campaigns/create.hbs:26 views/campaigns/edit.hbs:25 -msgid "Custom unsubscribe (URL)" -msgstr "Désabonnement personnalisé (URL)" - -#: views/campaigns/create.hbs:27 views/campaigns/edit.hbs:26 -msgid "Set a custom unsubscribe url" -msgstr "Renseignez une URL de désabonnement personnalisée" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Information de remise" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Abonnés ayant reçu le message sans erreur, et ne s'étant pas désinscrit :" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Heure de remise" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Modifier la campagne RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Paramètres généraux" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Utiliser le champ de publipostage spécial [RSS_ENTRY] pour désigner " -"l'emplacement où sera inséré le contenu venant du RSS. Vous pouvez utiliser " -"par ailleurs tout autre champ disponible." - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:37 -msgid "Delete Campaign" -msgstr "Supprimer la campagne" - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:38 views/lists/edit.hbs:22 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:41 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:102 views/templates/edit.hbs:13 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Enregistrer" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Modifier la campagne programmée" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "Général" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:29 -msgid "Template Settings" -msgstr "Paramètres du modèle" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:30 -msgid "Template URL" -msgstr "URL du modèle" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Modifier la campagne" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:32 -msgid "Attachments" -msgstr "Pièces jointes" - -#: views/campaigns/edit.hbs:33 -msgid "File" -msgstr "Fichier" - -#: views/campaigns/edit.hbs:34 -msgid "Size" -msgstr "Taille" - -#: views/campaigns/edit.hbs:35 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Aucune donnée dans cette table" - -#: views/campaigns/edit.hbs:36 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Ajouter une pièce jointe" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Informations d'ouverture" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Abonnés ayant ouvert ce message :" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Première ouverture" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Nombre d'ouverture" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Informations de désabonnement" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Abonnés s'étant désinscrits" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:13 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "Désabonnés" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Télécharger" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Aperçu" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Liens" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "URL du flux" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Dernière vérification" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Pas encore vérifié" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"Activer la campagne pour commencer à surveiller l'arrivée de nouveaux " -"messages dans le flux" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Statut RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Prévisualiser la campagne comme" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Ajouter un nouvel utilisateur de test" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Aucun utilisateur de test, créez-en un ici" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Lancer" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:28 -msgid "Delivered" -msgstr "Remis" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Abonnés ayant reçu ce message" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Mis en liste noire" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Listes des abonnés faisant partie de la liste noire globale" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Erreurs de distribution" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Abonnés en erreur" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Plaintes" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Abonnés s'étant plaint après ce message" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "Abonnés s'étant désinscrits après ce message" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Ouvert" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Abonnés ayant ouvert ce message" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Cliqué" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Abonnés ayant cliqué sur un lien" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"Êtes-vous sûr ? Cette action va débuter l'envoi de messages à la liste " -"sélectionnée" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Envoi programmé" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "heures" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "minutes" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "Envoyer aux abonnés" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "Êtes-vous sûr ? Cette action va réinitialiser les tâches programmées" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Annuler" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Envoi programmé" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pause" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:254 -msgid "Sending" -msgstr "Envoi" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"Êtes-vous sûr ? Cette action va suspendre l'envoi de messages à la liste " -"sélectionnée" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"Êtes-vous sûr ? Cette action va supprimer toutes les statistiques sur les " -"tâches en cours" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Reprendre" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Réinitialiser" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Continuer" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Tous les messages ont été envoyés ! Choisissez \"Continuer\" si vous voulez " -"envoyer cette campagne aux nouveaux abonnés" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Êtes-vous sûr ? Cette action va suspendre l'envoi de mail depuis un flux RSS " -"pour cette liste" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "État de la campagne :" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "ACTIF" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Êtes-vous sûr ? Cette action va débuter l'envoi de messages depuis les " -"nouvelles entrées du flux RSS à la liste sélectionnée" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Activer" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INACTIVE" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Il s'agit d'une campagne programmée. Les messages ne sont envoyés qu'aux " -"abonnés dont un événement active un déclencheur." - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "voir plus" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Abonnés ayant cliqué ce lien" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"Les clics représentent le nombre d'abonnés uniques qui ont cliqué sur un " -"lien spécifique, ou sur n'importe quel lien en vue aggrégée." - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Lorsqu'une nouvelle entrée est trouvée dans un flux RSS, une nouvelle " -"campagne est créée à partir de cette entrée et sera listée ici" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Changez votre mot de passe" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Nous avons reçu une demande de changement de mot de passe pour votre compte " -"Mailtrain :" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Réinitialiser le mot de passe" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Si vous n'avez pas demandé le changement de votre mot de passe, vous pouvez " -"ignorer ce message et votre mot de passe restera inchangé." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Préférences" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Se désabonner" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Consulter dans votre navigateur" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Bonjour [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Cordialement," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Gestion de listes" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain vous permet de gérer facilement vos listes, même très grandes. Des " -"millions d'abonnés ? Aucun problème. Vous pouvez ajouter des abonnés " -"manuellement, via l'API ou en les important depuis un fichier CSV. Toutes " -"les listes disposent de champs de publipostage personnalisables." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Voir plus" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Champs personnalisés" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Champs texte, nombres, menus déroulants ou cases à cocher, Mailtrain dispose " -"de tout. N'importe quel champ personnalisé peut être inclus dans la " -"newsletter grâce à des étiquettes de fusionnement." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain permet également de personnaliser les formulaires." - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Segmentation de liste" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Envoyer des messages aux abonnés correspondant à des règles de segmentation " -"prédéfinies. Nul besoin de créer plusieurs listes présentant peu de " -"différences." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "Campagnes RSS" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Configurer Mailtrain pour surveiller des flux RSS, et, dès qu'une nouvelle " -"entrée est détectée dans un flux, auto-générer une nouvelle campagne en " -"utilisant les donnée de la nouvelle entrée comme contenu du message, et " -"l'envoyer aux abonnés sélectionnés" - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "Chiffrement GPG" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Si une liste est paramétrée avec un champ personnalisé pour les clés " -"publiques GPG, alors les utilisateurs pourront télécharger la leur pour " -"recevoir les messages sous forme chiffrée." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Statistiques de clics" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Après l'envoi d'une campagne, consultez les statistiques individuelles de " -"clics pour chaque lien inclus dans le message." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Éditeur de modèle" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain inclut GrapeJS et Mosaico, deux éditeurs de templates avancés. " -"Mailtrain offre également un éditeur de code si vous préférez créer le HTML " -"par vous-même." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Envoyer via Any Provider" - -#: views/index.hbs:24 -msgid "" -"You can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Vous pouvez utiliser n'importe quel fournisseur supportant le protocole SMTP " -"pour envoyer votre newletter. Le traitement des rejets et retours via appels " -"web est supporté avec SES, SparkPost, SendGrid et Mailgun, ainsi qu'avec " -"Postfix et ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "Automatisation" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Définissez des triggers pour envoyer des messages spécifiques lorsqu'une " -"action utilisateur active le déclencheur." - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Basculer la navigation" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Compte" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Configuration" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Déconnexion" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Se connecter" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "Solution de Newsletter auto-hébergée construite autour de Nodemailer" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Source sur GitHub" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "S'abonner à notre lettre d'information" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Listes" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Créer une liste" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nom de la liste" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Abonnement" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Permettre à tous les utilisateurs de s'abonner par eux-mêmes" - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Désabonnement" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "" -"Choisissez comment une demande de désabonnement doit être prise en compte." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Éditer la liste" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Voir la liste" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "Identifiant de liste" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Il s'agit de l'identifiant de liste présenté aux utilisateurs" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Formulaire personnalisé" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Formulaire de Mailtrain par défaut" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Le formulaire personnalisé utilisé pour cette liste. Vous pouvez créer un " -"formulaire ici." - -#: views/lists/edit.hbs:19 -msgid "Unsubscribe Header" -msgstr "Entête de désabonnement" - -#: views/lists/edit.hbs:20 -msgid "Do not send List-Unsubscribe headers" -msgstr "Ne pas envoyer les entêtes List-Unsubscribe" - -#: views/lists/edit.hbs:21 -msgid "Delete List" -msgstr "Supprimer la liste" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Créer un champ" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Créer un champ personnalisé" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nom du champ" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Type de champ" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Texte" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Nombre" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Site web" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Clé publique GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Texte multi-lignes" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Date" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Date (MM/JJ/AAAA)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Date (JJ/MM/AAAA)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Date de naissance" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Date de naissance (MM/JJ)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Date de naissance (JJ/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Groupé" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Menus déroulants" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Boutons radio" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Cases à cocher" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Option pour un groupe de valeurs" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Groupe" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Options de groupe requis" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Valeur par défaut pour ce champ de publipostage" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Pour les éléments groupés comme les cases à cocher, vous pouvez contrôler " -"l'apparence du champ de publipostage avec une template optionnelle. La " -"template utilise la syntaxe Handlebars et vous trouvez les valeurs dans le " -"tableau {{values}}, par exemple {{#each values}} {{this}} " -"{{/each}}. Si aucune template n'est définie, alors les valeurs sont " -"concaténnées avec des virgules. Vous pouvez également utiliser la template " -"pour présenter des valeurs JSON (si le JSON est un tableau, alors le tableau " -"est accessible dans values, sinon vous accédez aux clés JSON " -"directement)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Visible" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Ajouter un champ" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Modifier le champ" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Modifier le champ personnalisé" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Retour aux champs" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/mosaico/editor.hbs:2 views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "Champ de publipostage" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Champ de publipostage" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Utilisez ce mot-clé dans votre contenu :" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Supprimer le champ" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Type" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:277 -#: routes/campaigns.js:569 routes/campaigns.js:658 routes/campaigns.js:707 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:183 routes/triggers.js:345 -msgid "Edit" -msgstr "Modifier" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Formulaires personnalisés" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Créer un formulaire" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Créer un formulaire personnalisé" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Nom du formulaire" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Ajouter un formulaire" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Modifier le formulaire" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Modifier le formulaire personnalisé" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Retour aux formulaires" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Commentaire optionnel sur ce formulaire" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Prévisualisation du formulaire" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"NB : Ces liens sont fournis uniquement pour un avoir aperçu rapide. Si vous " -"utilisez ces formulaires vous serez redirigés vers les formulaires par " -"défaut." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Abonnement" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "Confirmation d'abonnement" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "Confirmation de désabonnement" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "Confirmation d'abonnement" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "Notification enregistrée" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "Notification de désabonnement" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "Notification de désabonnement manuel" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "Gérer" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "Gestion des adresses" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "Créer un utilisateur test pour les options additionnelles" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Modèles" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "Champs" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Champs de formulaire" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "Champs masqués sur la page d'abonnement :" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "Champs affichés sur la page d'abonnement :" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "Champs masqués sur la page de préférences :" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "Champs affichés sur la page de préférences :" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Supprimer le formulaire" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "Le formulaire par défaut pour cette liste est :" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Abonnés" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segments" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Créer un segment" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nom du segment" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Correspondance des règles" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Toutes les règles doivent correspondre" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Au moins une des règles doit correspondre" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Ajouter un segment" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Modifier le segment" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Retour aux segments" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Supprimer le segment" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Créer une règle" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Règle" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-edit.hbs:7 -msgid "Condition" -msgstr "Condition" - -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-edit.hbs:8 -msgid "Equals" -msgstr "vaut" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "Not equals" -msgstr "Différent" - -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-configure.hbs:33 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:11 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:32 views/lists/segments/rule-edit.hbs:37 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Valeur" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-edit.hbs:12 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Utiliser % comme caractère joker, par ex. \"%test\" correspond à toutes les " -"valeurs qui finissent par \"test\"" - -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:33 -msgid "Use exact match" -msgstr "Correspondance exacte" - -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:15 views/lists/segments/rule-edit.hbs:20 -#: views/lists/segments/rule-edit.hbs:34 -msgid "Use range match" -msgstr "Correspondance par plage" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-edit.hbs:23 -msgid "Use relative range match" -msgstr "Correspondance par plages relatives" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:16 views/lists/segments/rule-edit.hbs:21 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:35 -msgid "From" -msgstr "De" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:29 -msgid "days" -msgstr "jours" - -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:26 views/lists/segments/rule-edit.hbs:30 -msgid "before today" -msgstr "avant aujourd'hui" - -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:27 views/lists/segments/rule-edit.hbs:31 -msgid "after today" -msgstr "après aujourd'hui" - -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:17 views/lists/segments/rule-edit.hbs:22 -#: views/lists/segments/rule-edit.hbs:28 views/lists/segments/rule-edit.hbs:36 -msgid "to" -msgstr "à" - -#: views/lists/segments/rule-configure.hbs:34 -#: views/lists/segments/rule-edit.hbs:38 lib/models/segments.js:156 -#: lib/models/segments.js:419 -msgid "Selected" -msgstr "Sélectionné" - -#: views/lists/segments/rule-configure.hbs:35 -#: views/lists/segments/rule-edit.hbs:39 lib/models/segments.js:156 -#: lib/models/segments.js:419 -msgid "Not selected" -msgstr "Non sélectionné" - -#: views/lists/segments/rule-configure.hbs:36 -msgid "Add Rule" -msgstr "Ajouter une règle" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:18 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Suivant" - -#: views/lists/segments/rule-edit.hbs:40 -msgid "Delete Rule" -msgstr "Supprimer la règle" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Correspondance" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segment" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Règles de correspondance" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Abonnés en correspondance" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "voir" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Ajouter un abonné" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Adresse mail" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:85 views/settings.hbs:100 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "qui commence par" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Insérez une clé publique GPG pour chiffrer les messages envoyés à cet abonné" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Fuseau horaire" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Utilisateur pour tests ?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Si activé, cet abonnement peut être utilisé pour prévisualiser les message " -"des campagnes" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Cette personne ne recevra pas de mail de confirmation, aussi assurez-vous " -"que vous avez le droit de lui envoyer des messages." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Modifier l'abonné" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Retour à la liste" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Adresse mail" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Supprimer l'abonnement" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Statut de l'import" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Adresses en erreur" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "" -"Role-based addresses like postmaster@example.com are blocked when importing. " -"Subscribers with role-based email addresses can join your list using the " -"subscription form" -msgstr "" -"Les adresse administratives comme postmaster@example.com sont supprimées " -"lors des imports. Les utilisateurs disposant d'adresses administrativves " -"doivent utiliser le formulaire d'abonnement" - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "voir ici" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Raison de l'échec" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Importer des abonnés" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:21 -#: views/users/api.hbs:36 views/users/api.hbs:44 views/users/api.hbs:52 -#: views/users/api.hbs:64 views/users/api.hbs:75 views/users/api.hbs:83 -#: views/users/api.hbs:91 views/users/api.hbs:96 views/users/api.hbs:101 -#: views/users/api.hbs:106 -msgid "Example" -msgstr "Exemple" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Lancer l'importation" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "Fichier CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "The first line must contain column headings" -msgstr "La première ligne doit contenir les entêtes de colonnes" - -#: views/lists/subscription/import.hbs:7 -msgid "CSV delimiter" -msgstr "Délimiteur CSV" - -#: views/lists/subscription/import.hbs:8 -msgid "Categorize the imported subscribers as" -msgstr "Catégoriser les abonnés importés comme" - -#: views/lists/subscription/import.hbs:9 routes/lists.js:206 -msgid "Subscribed" -msgstr "Abonné" - -#: views/lists/subscription/import.hbs:10 -msgid "Regular subscriber addresses" -msgstr "Abonnés ordinaires" - -#: views/lists/subscription/import.hbs:11 -msgid "Subscribed (Force)" -msgstr "Abonné (forcé)" - -#: views/lists/subscription/import.hbs:12 -msgid "Regular subscriber addresses, resubscribe users that have unsubscribed" -msgstr "" -"Abonnés ordinaires, et réabonner les utilisateurs qui s'étaient désabonnés" - -#: views/lists/subscription/import.hbs:14 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Désabonnements. Les adresses seront désabonnées de la liste" - -#: views/lists/subscription/import.hbs:15 -msgid "Check imported emails" -msgstr "Vérifier les adresses mail importées" - -#: views/lists/subscription/import.hbs:16 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Activé" - -#: views/lists/subscription/import.hbs:17 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Désactivé" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Formulaire d'abonnement" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Actions sur la liste" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Créer un déclencheur" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Ajouter un abonné" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Importer des abonnés" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Créer un nouveau segment" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filtre" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Abonnements" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Imports" - -#: views/lists/view.hbs:25 routes/campaigns.js:256 routes/lists.js:300 -msgid "Finished" -msgstr "Terminé" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Ajouté" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Mis à jour" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Echec" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"Êtes-vous sûr ? Cette action ne doit être appelée que pour interrompre les " -"imports bloqués" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Redémarrer" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Lexique des champs de publipostage" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "Editeur de mail responsive MOSAICO" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Enregistré" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Une erreur est survenue lors de l\\'enregistrement du document" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "" -"Les éventuelles modifications non sauvegardées seront perdues. Fermer " -"maintenant ?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Champs de publipostage" - -#: views/partials/codeeditor.hbs:1 views/partials/grapejs.hbs:1 -#: views/partials/mosaico.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Contenu du modèle (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "ENREGISTRER" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "ENREGISTRE" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "FERMER" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "Ouvrir GrapeJS" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Basculer la prévisualisation HTML" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Pour extraire le texte du HTML, cliquez ici." - -#: views/partials/html-to-text.hbs:2 -msgid "" -"Please note that your existing plaintext in the field above will be " -"overwritten. This feature uses the Premailer API, a third party " -"service. Their Terms of Service and Privacy Policy apply." -msgstr "" -"Notez bien que le texte présent dans le champ ci-dessus sera remplacé. Cette " -"fonctionnalité utilisePremailer API, un service tiers. Merci de " -"vérifier leurs Conditions générales d'utilisation et de vie privée, qui " -"s'appliquent en ce cas." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "Une erreur est intervenue lors du dialogue avec le serveur" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Les champs de publipostage sont des champs qui sont remplacés avant l'envoi " -"du message. Le format du champ de publipostage est le suivant : " -"[ETIQUETTE] ou [ETIQUETTE/defaut] où defaut est une valeur textuelle optionnelle utilisée lorsque ETIQUETTE est vide." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{title}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Ouvrir Mosaico" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Contenu du modèle (Texte)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Rapports" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Créer un modèle" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Créer un modèle de rapport" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Modifier le modèle" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Modifier le modèle de rapport" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:12 -msgid "Delete Template" -msgstr "Supprimer le modèle" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Mettre à jour et poursuivre" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Mettre à jour et quitter" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Nom du modèle" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Champs utilisateur utilisables" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Code de traitement des données" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Modèle de rendu" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Vide" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Tous les abonnés" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Abonnements groupés" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Exporter la liste au format CSV" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Modèles de rapport" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Créer un rapport" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Modifier le rapport" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Supprimer le rapport" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Nom du rapport" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Sélectionnez une campagne dans la table ci-dessus en cliquant sur son numéro " -"de ligne." - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Modèle de rapport" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Adresse du service (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Entrez l'URL à laquelle ce service peut être joint" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Email de l'administrateur" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "Entrez l'adresse mail d'émission des messages système" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Désactiver l'éditeur WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" -"Si activé, l'editeur HTML affiche le code HTML sans la prévisualisation" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Désactiver les messages de confirmation d'abonnement" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Si activé, aucun message de confirmation suivant lequel un utilisateur a été " -"abonné ou désabonné ne sera envoyé. Cela ne désactive pas les messages de " -"confirmation d'abonnement." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "Identifiant de suivi" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Entrez le code de suivi Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Annonce de la page d'accueil" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Code HTML présent sur l'entête de la page d'accueil" - -#: views/settings.hbs:17 -msgid "X-Mailer header" -msgstr "Entête X-Mailer" - -#: views/settings.hbs:18 -msgid "Set a custom X-Mailer header value or leave empty to disable it" -msgstr "" -"Renseignez un entête X-Mailer personnalisé, et laissez vide pour désactiver" - -#: views/settings.hbs:19 -msgid "Campaign defaults" -msgstr "Paramètres par défaut de la campagne" - -#: views/settings.hbs:20 -msgid "Sender name" -msgstr "Nom de l'émetteur" - -#: views/settings.hbs:21 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nom de l'émetteur, par ex. My Awesome Company Ltd." - -#: views/settings.hbs:22 -msgid "Default address" -msgstr "Adresse mail par défaut" - -#: views/settings.hbs:23 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Adresse de contact à fournir, par ex. 1234 Main Street, Anywhere, MA 01234, " -"USA" - -#: views/settings.hbs:24 -msgid "Default \"from name\"" -msgstr "Nom d'émetteur par défaut" - -#: views/settings.hbs:26 -msgid "Default \"from\" email" -msgstr "Adresse mail d'émetteur par défaut" - -#: views/settings.hbs:28 -msgid "Default \"subject line\"" -msgstr "Objet du mail par défaut" - -#: views/settings.hbs:30 -msgid "Default homepage (URL)" -msgstr "Page d'accueil par défaut (URL)" - -#: views/settings.hbs:31 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "URL où rediriger les utilisateurs abonnés, par ex. http://example.com/" - -#: views/settings.hbs:32 -msgid "Default custom unsubscribe (URL))" -msgstr "URL de désabonnement personnalisable par défaut" - -#: views/settings.hbs:33 -msgid "Custom unsubscribe URL, eg. http://example.com/unsubscribe/[EMAIL]" -msgstr "" -"URL personnalisée de désabonnement, par ex. http://example.com/unsubscribe/" -"[EMAIL]" - -#: views/settings.hbs:34 -msgid "Set a custom unsubscribe url." -msgstr "Renseignez une URL de désabonnement personnalisée." - -#: views/settings.hbs:35 -msgid "Mailer Settings" -msgstr "Paramètres mailer" - -#: views/settings.hbs:36 -msgid "These settings are required to send out e-mail messages" -msgstr "Ces paramètres sont obligatoires pour envoyer des messages" - -#: views/settings.hbs:37 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:38 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:39 -msgid "Use SMTP for sending mail" -msgstr "Utiliser SMTP pour envoyer les mails" - -#: views/settings.hbs:40 -msgid "Hostname" -msgstr "Nom de machine" - -#: views/settings.hbs:41 -msgid "Port" -msgstr "Port" - -#: views/settings.hbs:42 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Port, par ex. 465. Autodétecté si vide" - -#: views/settings.hbs:43 -msgid "Encryption" -msgstr "Chiffrement" - -#: views/settings.hbs:44 -msgid "Disable SMTP authentication" -msgstr "Désactiver l'authentification SMTP" - -#: views/settings.hbs:45 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Utilisateur" - -#: views/settings.hbs:46 -msgid "Username, eg. myaccount@example.com" -msgstr "Nom d'utilisateur, par ex. myaccount@example.com" - -#: views/settings.hbs:47 views/settings.hbs:48 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Mot de passe" - -#: views/settings.hbs:49 -msgid "Use SES API for sending mail" -msgstr "Utiliser l'API SES pour envoyer les mails" - -#: views/settings.hbs:50 -msgid "Access Key" -msgstr "Clé d'accès" - -#: views/settings.hbs:51 -msgid "AWS Access Key Id" -msgstr "ID de la clé d'accès AWS" - -#: views/settings.hbs:52 -msgid "Secret Key" -msgstr "Clé secrète" - -#: views/settings.hbs:53 -msgid "AWS Secret Access Key" -msgstr "Secret de la clé d'accès AWS" - -#: views/settings.hbs:54 -msgid "Region" -msgstr "Région" - -#: views/settings.hbs:55 -msgid "Checking" -msgstr "Vérification" - -#: views/settings.hbs:56 -msgid "Check Mailer config" -msgstr "Vérifier la configuration du serveur mail" - -#: views/settings.hbs:57 -msgid "Advanced Mailer settings" -msgstr "Paramètres avancés du serveur mail" - -#: views/settings.hbs:58 -msgid "Log SMTP transactions" -msgstr "Log des transactions SMTP" - -#: views/settings.hbs:59 -msgid "Allow self-signed certificates" -msgstr "Autoriser les certificats autosignés" - -#: views/settings.hbs:60 -msgid "Max connections" -msgstr "Nombre maximum de connections" - -#: views/settings.hbs:61 -msgid "The count of max connections, eg. 10" -msgstr "Le nombre maximum de connexions, par ex. 10" - -#: views/settings.hbs:62 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Le nombre maximum de connexions simultannées vers le serveur SMTP (par " -"défaut 5). Cette limite s'entend par process d'envoi" - -#: views/settings.hbs:63 -msgid "Max messages" -msgstr "Nombre maximum de messages" - -#: views/settings.hbs:64 -msgid "The count of max messages, eg. 100" -msgstr "Le nombre maximum de messages, par ex. 100" - -#: views/settings.hbs:65 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"Le nombre de messages à envoyer au travers d'une connexion unique avant " -"qu'elle ne soit fermée puis réouverte (par défaut 100)" - -#: views/settings.hbs:66 -msgid "Throttling" -msgstr "Restrictions" - -#: views/settings.hbs:67 -msgid "Messages per hour eg. 1000" -msgstr "Messages par heure ex: 1000" - -#: views/settings.hbs:68 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Nombre maximum de messages envoyés par heure. Laissez vide pour ne pas " -"restreindre. Si votre fournisseur utilise une unité différente (messages/" -"minute ou messages/seconde) convertissez cette limite en messages/heure (1 m/" -"s => 3600 m/h). Cette limite se comprend par process d'émission." - -#: views/settings.hbs:69 -msgid "VERP bounce handling" -msgstr "Traitement VERP des rejets" - -#: views/settings.hbs:70 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain peut utiliser un routage VERP de façon à détecter les adresses en " -"erreur. Pour cela le message est envoyé avec un adresse de retour VERP " -"spécifique. Si le message est rejeté, un message de rejet est renvoyé à " -"cette adresse VERP, permettant de détecter l'adresse en erreur." - -#: views/settings.hbs:71 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"Pour que le VERP fonctionne, vous devez renseigner un enregistrement DNS MX " -"qui pointe vers le nom de domaine de votre Mailtrain. Vérifiez également que " -"l'interface VERP est disponible sur le port 25 de votre serveur (le port 25 " -"nécessite habituellement les privilèges root). Si quelqu'un envoie un mail à " -"someuser@verp-hostname, le mail doit atteindre ce serveur." - -#: views/settings.hbs:72 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"Le VERP ne fonctionne habituellement que si vous utilisez votre propre " -"serveur SMTP. Les services de relai ordinaires (SES, SparkPost, Gmail, etc.) " -"tendent à supprimer les adresses VERP des messages." - -#: views/settings.hbs:73 -msgid "Use VERP to catch bounces" -msgstr "Utiliser le VERP pour récupérer les rejets" - -#: views/settings.hbs:74 -msgid "Server hostname" -msgstr "Nom de machine du serveur" - -#: views/settings.hbs:75 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "Le nom du serveur VERP, par ex. bouces.example.com" - -#: views/settings.hbs:76 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"Nom du serveur de traitement VERP. Ce nom d'hôte est habituellement utilisée " -"dans l'entête SMTP FROM d'enveloppe, et est pointé par l'enregistrement DNS " -"MX." - -#: views/settings.hbs:77 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"Le serveur de traitement VERP n'est pas activé. Modifier le fichier de " -"configuration et redémarrer le serveur pour l'activer" - -#: views/settings.hbs:78 -msgid "GPG Signing" -msgstr "Signature GPG" - -#: views/settings.hbs:79 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Seuls les messages chiffrés peuvent être signés. Les abonnés qui n'ont pas " -"fourni dans leur profil de clé publique GPG reçoivent normalement les mails. " -"Les utilisateurs qui ont fourni leur clé GPG recevront les mails sous forme " -"chiffrée, et si vous avez fourni une clé de signature, les messages seront " -"en plus signés avec cette clé." - -#: views/settings.hbs:80 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"Ne pas utiliser de clé sensible ici. La clé privée et la phrase de " -"déchiffrement ne sont pas chiffrées dans la base de données." - -#: views/settings.hbs:81 -msgid "Private Key Passphrase" -msgstr "Phrase de déchiffrement de la clé privée" - -#: views/settings.hbs:82 -msgid "Passphrase for the key if set" -msgstr "Phrase de déchiffrement de la clé si fournie" - -#: views/settings.hbs:83 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" -"Renseignez uniquement si votre clé privée est protégée par un mot de passe" - -#: views/settings.hbs:84 -msgid "GPG Private Key" -msgstr "Clé privée GPG" - -#: views/settings.hbs:86 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Cette valeur est optionnelle. Si vous ne fournissez pas de clé privé GPG, " -"les messages chiffrés sont envoyés sans signature." - -#: views/settings.hbs:87 -msgid "DKIM Signing by ZoneMTA" -msgstr "Signature DKIM par ZoneMTA" - -#: views/settings.hbs:88 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"Si vous utilisez ZoneMTA, Mailtrain peut fournir une clé DKIM pour signer " -"les messages sortants. Les autres services fournissent habituellement leurs " -"propres moyens pour signer vos messages avec DKIM" - -#: views/settings.hbs:89 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"Ne pas utiliser de clé sensible ici. La clé privée n'est pas chiffrée dans " -"la base de données." - -#: views/settings.hbs:90 -msgid "ZoneMTA DKIM API Key" -msgstr "Clé de l'API DKIM ZoneMTA" - -#: views/settings.hbs:91 -msgid "Some secret value" -msgstr "Valeur secrète" - -#: views/settings.hbs:92 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Valeur secrète connue de ZoneMTA pour les requêtes d'informations de clés " -"DKIM. Si cette valeur a été générée lors de l'installation Mailtrain, elle " -"peut être conservée." - -#: views/settings.hbs:93 -msgid "DKIM domain" -msgstr "Domaine DKIM" - -#: views/settings.hbs:94 -msgid "Domain name for the DKIM key" -msgstr "Nom de domaine pour la clé DKIM" - -#: views/settings.hbs:95 -msgid "Leave blank to use the sender email address domain" -msgstr "Laissez vide pour utiliser le domaine de l'adresse mail de l'émetteur" - -#: views/settings.hbs:96 views/settings.hbs:97 -msgid "DKIM key selector" -msgstr "Sélecteur de clé DKIM" - -#: views/settings.hbs:98 -msgid "Signing is disabled without a valid selector value" -msgstr "L'abonnement est désactivé en l'absence de valeur de sélection valide" - -#: views/settings.hbs:99 -msgid "DKIM Private Key" -msgstr "Clé privée DKIM" - -#: views/settings.hbs:101 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Cette valeur est optionnelle. Si vous ne fournissez pas de clé privée, les " -"messages ne seront pas signés." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:174 lib/models/subscriptions.js:895 -msgid "Email address already registered" -msgstr "Adresse mail déjà enregistrée" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Nous avons reçu une demande d'abonnement. Cependant votre adresse mail est " -"déjà enregistrée." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Si vous avez reçu ce message par erreur, vous pouvez simplement le " -"supprimer. Votre abonnement ne sera pas modifié." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Si vous voulez modifier votre abonnement vous pouvez" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "gestion de vos préférences" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "ou" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "désabonnement ici" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Retour à notre site web" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Pour les questions à ce sujet, contactez :" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Si vous voulez modifier votre abonnement vous pouvez :" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Merci de confirmer votre changement d'adresse mail" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Oui, abonner cette adresse mail à cette liste" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Si vous avez reçu ce message par erreur, vous pouvez simplement le " -"supprimer. Vous ne serez pas abonné tant que vous ne cliquez pas le lien ci-" -"dessus." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Si vous avez reçu ce message par erreur, vous pouvez simplement le " -"supprimer. Vous ne serez pas abonné tant que vous ne cliquez pas le lien ci-" -"dessus." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:432 -msgid "Please Confirm Subscription" -msgstr "Merci de confirmer votre abonnement" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Oui, je m'abonne à cette liste" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "Merci de confirmer votre désabonnement" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Oui, je me désabonne de cette liste" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Si vous avez reçu ce message par erreur, vous pouvez simplement le " -"supprimer. Vous ne serez pas désabonné tant que vous ne cliquez pas le lien " -"ci-dessus." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Si vous avez reçu ce message par erreur, vous pouvez simplement le " -"supprimer. Vous ne serez pas abonné tant que vous ne cliquez pas le lien ci-" -"dessus." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Abonnement confirmé" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "Votre abonnement à la liste a été confirmé" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Votre abonnement à la liste a été confirmé." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Vous êtes désormais désabonné" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Nous avons retiré votre adresse mail de notre liste" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" -"Si vous vous êtes désabonné par erreur, vous pouvez à nouveau vous abonner " -"ici :" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Nous avons retiré votre adresse mail de notre liste." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "Voulez-vous le changer ?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Télécharger la clé de vérification de signature" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Insérez ici votre clé publique GPG pour chiffrer les messages envoyés à " -"votre adresse" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "optionnel" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Attention !" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Si javascript n'était pas activé, aucun message de confirmation n'a été " -"envoyé" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "JavaScript doit être activé pour utiliser ce formulaire" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Adresse mail existante" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Nouvelle adresse mail" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Votre nouvelle adresse mail" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Vous allez recevoir une demande de confirmation à votre nouvelle adresse " -"mail, que vous devrez acceptez pour que votre nouvelle adresse soit prise en " -"compte" - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Mettre à jour l'adresse mail" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Mettre à jour le profil" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "S'abonner à la liste" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Presque terminé" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Nous devons confirmer votre adresse mail. Pour terminer la procédure " -"d'abonnement, merci de cliquer sur le lien présent dans le mail que nous " -"venons de vous envoyer." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Nous devons confirmer votre adresse mail. Pour terminer la procédure de " -"désabonnement, merci de cliquer sur le lien présent dans le mail que nous " -"venons de vous envoyer." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Mettre à jour votre adresse mail" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Mettre à jour vos préférences" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "Le désabonnement en ligne n'est pas autorisé" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Merci de nous contacter à" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "pour être retiré de la liste" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "S'abonner à la liste" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Merci de votre abonnement !" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Désabonnement pris en compte" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Vous avez été retiré de :" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Profil mis à jour" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "Vos informations de profil ont été enregistrées" - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Envoi ..." - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Il semble que vous soyez déjà abonné à cette liste." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nom du modèle" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nom de ce modèle, par ex. Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Éditeur HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Commentaire optionnel sur ce modèle" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Retour aux modèles" - -#: views/templates/edit.hbs:11 -msgid "Duplicate" -msgstr "Dupliquer" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Déclencheurs des automatismes" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Sélectionnez une liste pour le déclencheur" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nom du déclencheur" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nom de ce déclencheur, par ex. Abonnés inactifs" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Commentaire optionnel sur ce déclencheur" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Règle du déclencheur" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Déclencheur lancé" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "jours suivants :" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Évènement" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Campagne" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Action du déclencheur" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Envoyer la campagne" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Modifier le déclencheur" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Retour aux déclencheurs" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Le déclencheur est activé" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Supprimer le déclencheur" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Déclenché" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Abonnés déclenchés" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Abonnés ayant activé ce déclencheur" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Heure du déclenchement" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Déclencheur" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Campagne cible" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Nombre de déclencheurs" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Ce compte est géré par le LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Adresse mail associée" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Votre adresse mail" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "Cette adresse vous permet de réinitialiser un mot de passe perdu" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Changement du mot de passe" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Vous avez uniquement ce formulaire à remplir pour changer votre mot de passe" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Mot de passe actuel" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nouveau mot de passe" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Confirmation du mot de passe" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Confirmez le nouveau mot de passe" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "Êtes-vous sûr ? La réinitialisation invaliderait les jetons existants." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "Êtes-vous sûr ?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Réinitialiser le jeton d'accès" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Générer un jeton d'accès" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Jeton d'accès privé :" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Le jeton d'accès n'est pas encore généré" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Notes à propos de l'API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"La réponse de l'API est un document JSON avec les propriétés error et data. Si la propriété error est " -"renseignée, alors la requête a échoué." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Vous devez définir le bon Content-Type lors de vos requêtes. " -"Vous pouvez utiliser soit application/x-www-form-urlencoded " -"pour des données de formulaire, ou application/json pour une " -"requête JSON. Vous ne pouvez pas utiliser multipart/form-data." - -#: views/users/api.hbs:13 -msgid "Get list of subscriptions" -msgstr "Obtenir la liste des abonnés" - -#: views/users/api.hbs:14 -msgid "" -"Retrieve a list of subscriptions to the list referenced by :listId. All " -"fields of the subscribers will be returned. Note that custom fields will " -"have generated names." -msgstr "" -"Récupérer l'ensemble des abonnements à la liste référencée :listId. Tous les " -"champs des abonnés seront renvoyés. Notez que les champs personnalisés " -"auront des noms générés automatiquement." - -#: views/users/api.hbs:15 views/users/api.hbs:24 views/users/api.hbs:26 -#: views/users/api.hbs:39 views/users/api.hbs:41 views/users/api.hbs:47 -#: views/users/api.hbs:49 views/users/api.hbs:55 views/users/api.hbs:57 -#: views/users/api.hbs:67 views/users/api.hbs:78 views/users/api.hbs:80 -#: views/users/api.hbs:86 views/users/api.hbs:88 views/users/api.hbs:94 -#: views/users/api.hbs:99 views/users/api.hbs:104 -msgid "arguments" -msgstr "arguments" - -#: views/users/api.hbs:16 views/users/api.hbs:25 views/users/api.hbs:40 -#: views/users/api.hbs:48 views/users/api.hbs:56 views/users/api.hbs:68 -#: views/users/api.hbs:79 views/users/api.hbs:87 views/users/api.hbs:95 -#: views/users/api.hbs:100 views/users/api.hbs:105 -msgid "your personal access token" -msgstr "votre token d'accès personnel" - -#: views/users/api.hbs:17 views/users/api.hbs:69 -msgid "Start position" -msgstr "Position de démarrage" - -#: views/users/api.hbs:18 views/users/api.hbs:70 -msgid "optional, default 0" -msgstr "optionnel, par défaut 0" - -#: views/users/api.hbs:19 -msgid "limit subscription count in response" -msgstr "nombre maximal d'abonnements retournés" - -#: views/users/api.hbs:20 views/users/api.hbs:72 -msgid "optional, default 10000" -msgstr "optionnel, par défaut 10000" - -#: views/users/api.hbs:22 -msgid "Add subscription" -msgstr "Ajouter un abonnement" - -#: views/users/api.hbs:23 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Ce service de l'API insère ou met à jour un abonnement. Les champs non " -"fournis sont laissés tels quels. Ainsi, pour un abonnement existant, si vous " -"ne mettez à jour que la valeur de LAST_NAME, FIRST_NAME ne sera pas modifié." - -#: views/users/api.hbs:27 views/users/api.hbs:42 views/users/api.hbs:50 -msgid "subscriber's email address" -msgstr "adresse mail de l'abonné" - -#: views/users/api.hbs:28 views/users/api.hbs:43 views/users/api.hbs:51 -#: views/users/api.hbs:59 views/users/api.hbs:82 views/users/api.hbs:90 -msgid "required" -msgstr "obligatoire" - -#: views/users/api.hbs:29 -msgid "subscriber's first name" -msgstr "prénom de l'abonné" - -#: views/users/api.hbs:30 -msgid "subscriber's last name" -msgstr "nom de l'abonné" - -#: views/users/api.hbs:31 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"Fuseau horaire de l'abonné (par ex. \"Europe/Paris\", \"CEST\" ou \"UTC\"). " -"Par défaut \"UTC\"" - -#: views/users/api.hbs:32 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"valeur du champ personnalisé. Utiliser yes/no pour des valeurs d'options " -"groupées (cases à cocher, choix sur listes, menus déroulants)" - -#: views/users/api.hbs:33 -msgid "Additional POST arguments" -msgstr "Arguments POST additionnels" - -#: views/users/api.hbs:34 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"choisir \"oui\" si vous voulez être sur que l'adresse mail soit marquée " -"comme abonnée, même si elle était précédemment marquée désabonnée. Si " -"l'adresse mail était déjà désabonnée/bloquée, alors le statut d'abonnement " -"n'est pas changé" - -#: views/users/api.hbs:35 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"choisir \"oui\" si vous voulez envoyer un mail de confirmation aux nouveaux " -"abonnés avant de marquer leur abonnement comme actif" - -#: views/users/api.hbs:37 -msgid "Remove subscription" -msgstr "Retirer l'abonnement" - -#: views/users/api.hbs:38 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Ce service de l'API marque un abonnement comme désabonné" - -#: views/users/api.hbs:45 -msgid "Delete subscription" -msgstr "Supprimer l'abonnement" - -#: views/users/api.hbs:46 -msgid "This API call deletes a subscription" -msgstr "Ce service de l'API supprime un abonnement" - -#: views/users/api.hbs:53 -msgid "Add new custom field" -msgstr "Ajouter un champ personnalisé" - -#: views/users/api.hbs:54 -msgid "This API call creates a new custom field for a list." -msgstr "Ce service de l'API crée un nouveau champ personnalisé pour une liste." - -#: views/users/api.hbs:58 -msgid "field name" -msgstr "nom du champ" - -#: views/users/api.hbs:60 -msgid "one of the following types:" -msgstr "Un des types suivants :" - -#: views/users/api.hbs:61 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" -"Si le type est 'option', vous devez également spécifier l'ID de l'élément " -"parent" - -#: views/users/api.hbs:62 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" -"Modèle pour le groupe d'éléments. Si vide, les valeurs seront concatennées " -"avec des virgules" - -#: views/users/api.hbs:63 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" -"Si masqué, l'abonné ne peut pas voir ni modifier la valeur depuis sa page de " -"profil" - -#: views/users/api.hbs:65 -msgid "Get list of blacklisted emails" -msgstr "Obtenir les adresses mail en liste noire" - -#: views/users/api.hbs:66 -msgid "This API call get list of blacklisted emails." -msgstr "Ce service de l'API renvoie la liste des mails dans la liste noire." - -#: views/users/api.hbs:71 -msgid "limit emails count in response" -msgstr "nombre maximal d'adresses mail retournées" - -#: views/users/api.hbs:73 -msgid "filter by part of email" -msgstr "Filtre sur partie d'adresse mail" - -#: views/users/api.hbs:74 -msgid "optional, default ''" -msgstr "optionnel, par défaut ''" - -#: views/users/api.hbs:77 -msgid "This API call either add emails to blacklist" -msgstr "Ce service de l'API ajoute des mails à la liste noire" - -#: views/users/api.hbs:81 views/users/api.hbs:89 -msgid "email address" -msgstr "adresse mail" - -#: views/users/api.hbs:84 -msgid "Delete email from blacklist" -msgstr "Supprimer le mail de la liste noire" - -#: views/users/api.hbs:85 -msgid "This API call either delete emails from blacklist" -msgstr "Ce service de l'API supprime des mails de la liste noire" - -#: views/users/api.hbs:92 -msgid "Get the lists a user has subscribed to" -msgstr "Obtenir la liste des listes auxquelles un utilisateur est abonné" - -#: views/users/api.hbs:93 -msgid "Retrieve the lists that the user with :email has subscribed to. " -msgstr "Récupérer les listes auxquelles l'utilisateur :email est abonné. " - -#: views/users/api.hbs:97 -msgid "Get all lists" -msgstr "Obtenir toutes les listes" - -#: views/users/api.hbs:98 -msgid "Retrieve every list. " -msgstr "Récupérer toutes les listes. " - -#: views/users/api.hbs:102 -msgid "Get list by id" -msgstr "Obtenir une liste via son id" - -#: views/users/api.hbs:103 -msgid "Retrieve the list with :id " -msgstr "Récupérer la liste avec :id " - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Réinitialisation du mot de passe" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Réinitialiser votre mot de passe ?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Les comptes sont gérés par le LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Réinitialiser le mot de passe" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Merci d'entrer le nom d'utilisateur et l'adresse mail que vous avez " -"fournis lors de votre inscription au service." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" -"Nous allons vous envoyer un mail qui vous permettra de réinitialiser votre " -"mot de passe." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Nom d'utilisateur ou adresse mail" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Envoyer un mail de vérification" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Se souvenir de moi" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Mot de passe oublié ?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Choisissez votre nouveau mot de passe" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Merci de saisir un nouveau mot de passe." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "Ne peut trouver de modèle avec cet identifiant" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:132 -#: routes/campaigns.js:285 routes/campaigns.js:380 routes/campaigns.js:428 -#: routes/campaigns.js:468 routes/campaigns.js:845 routes/campaigns.js:868 -#: routes/campaigns.js:887 routes/campaigns.js:909 routes/triggers.js:172 -msgid "Could not find campaign with specified ID" -msgstr "Aucune campagne ne correspond à cet identifiant" - -#: lib/editor-helpers.js:47 routes/editorapi.js:320 -msgid "Invalid resource type" -msgstr "Type de ressource invalide" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Code de statut d'erreur %s" - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "URL vers la page de désabonnement" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "URL vers la page de préférences de l'abonné" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "URL de visualisation du message dans le navigateur" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Prénom" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Nom" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Nom complet (Prénom et nom combinés)" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "Identifiant unique du destinataire" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "Identifiant unique de la liste utilisée pour cette campagne" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "Identifiant unique de cette campagne" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "Contenu d'une entrée RSS" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "Titre de l'entrée RSS" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "Date de l'entrée RSS" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "Lien de l'entrée RSS" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "Résumé de l'entrée RSS" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "URL de l'image de l'entrée RSS" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Transport mail invalide" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "Identifiant de campagne manquant" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Pièce jointe vide ou trop grande" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "Le nom de la campagne est obligatoire" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "L'URL du flux RSS doit être renseignée et valide" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "Modèle inconnu" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "Message ID invalide ou manquant" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "Message de statut non reconnu" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "Les confirmation n'a pas pu être enregistrée" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Menu déroulant" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Date (MM/JJ/YYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "Valeur JSON pour un affichage personnalisé" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Option" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:115 lib/models/lists.js:150 -#: lib/models/lists.js:265 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:390 -#: lib/models/subscriptions.js:566 lib/models/subscriptions.js:657 -#: lib/models/subscriptions.js:710 lib/models/subscriptions.js:773 -#: lib/models/subscriptions.js:816 -msgid "Missing List ID" -msgstr "Identifiant de liste manquant" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Les champs Option nécessitent le choix d'un groupe" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "Identifiant de champ manquant" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Le nom du champ est obligatoire" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Champ personnalisé introuvable" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Type de colonne \"%s\" inconnu" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "Nom de colonne manquant" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "Identifiant de liste manquant" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "Identifiant de la liste inconnu" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "Identifiant de fomulaire manquant" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "Le nom du formulaire est obligatoire" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "Formulaire personnalisé introuvable" - -#: lib/models/links.js:337 routes/campaigns.js:534 routes/campaigns.js:582 -#: routes/campaigns.js:622 routes/campaigns.js:672 services/sender.js:305 -msgid "Campaign not found" -msgstr "Campagne introuvable" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Liste non trouvée" - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "Abonnement non trouvé" - -#: lib/models/lists.js:167 lib/models/lists.js:211 -msgid "List Name must be set" -msgstr "Le nom de la liste est obligatoire" - -#: lib/models/lists.js:294 -msgid "Missing List CID" -msgstr "Identifiant CID de liste manquant" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "Identifiant de modèle de rapport manquant" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "Le nom du modèle de rapport est obligatoire" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "Identifiant de rapport manquant" - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "Nom de rapport obligatoire" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Pays d'inscription" - -#: lib/models/segments.js:19 lib/models/triggers.js:14 -msgid "Sign up date" -msgstr "Date d'inscription" - -#: lib/models/segments.js:23 lib/models/triggers.js:18 -msgid "Latest open" -msgstr "Dernière ouverture" - -#: lib/models/segments.js:27 lib/models/triggers.js:22 -msgid "Latest click" -msgstr "Dernier clic" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "Identifiant de segment manquant" - -#: lib/models/segments.js:85 lib/models/segments.js:551 -#: lib/models/segments.js:661 -msgid "Segment not found" -msgstr "Segment introuvable" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:409 lib/models/segments.js:410 -msgid "%s days after today" -msgstr "%s jours à partir d'aujourd'hui" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:409 lib/models/segments.js:410 -msgid "%s days before today" -msgstr "%s days avant aujourd'hui" - -#: lib/models/segments.js:148 lib/models/segments.js:411 -msgid "today" -msgstr "aujourd'hui" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Règle de segmentation invalide" - -#: lib/models/segments.js:289 lib/models/segments.js:455 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Segment inconnu" - -#: lib/models/segments.js:294 lib/models/segments.js:460 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Type de règle invalide" - -#: lib/models/segments.js:359 lib/models/segments.js:435 -#: lib/models/segments.js:526 -msgid "Missing Rule ID" -msgstr "Identifiant de règle manquant" - -#: lib/models/segments.js:375 -msgid "Specified rule not found" -msgstr "La ègle demandée est introuvable" - -#: lib/models/segments.js:386 -msgid "Specified segment not found" -msgstr "Le segment spécifié est introuvable" - -#: lib/models/segments.js:446 -msgid "Selected rule not found" -msgstr "Règle inconnue" - -#: lib/models/subscriptions.js:257 lib/models/subscriptions.js:287 -#: lib/models/subscriptions.js:394 -msgid "Missing Subscription ID" -msgstr "Identifiant d'abonnement manquant" - -#: lib/models/subscriptions.js:315 -msgid "Missing Subscription email address" -msgstr "Adresse mail d'abonnement manquante" - -#: lib/models/subscriptions.js:570 lib/models/subscriptions.js:820 -msgid "Missing subscription ID" -msgstr "Identifiant d'abonnement manquant" - -#: lib/models/subscriptions.js:661 lib/models/subscriptions.js:714 -#: lib/models/subscriptions.js:750 -msgid "Missing Import ID" -msgstr "Identifiant d'import manquant" - -#: lib/models/subscriptions.js:842 -msgid "Unknown subscription ID" -msgstr "ID d'abonnement inconnu" - -#: lib/models/subscriptions.js:847 routes/subscription.js:639 -msgid "Nothing seems to be changed" -msgstr "Rien ne semble avoir été modifié" - -#: lib/models/subscriptions.js:913 routes/subscription.js:473 -#: routes/subscription.js:545 routes/subscription.js:581 -#: routes/subscription.js:697 routes/subscription.js:772 -msgid "Subscription not found in this list" -msgstr "Abonnement introuvable dans cette liste" - -#: lib/models/templates.js:26 lib/models/templates.js:102 -#: lib/models/templates.js:157 -msgid "Missing Template ID" -msgstr "Identifiant de modèle manquant" - -#: lib/models/templates.js:55 lib/models/templates.js:106 -msgid "Template Name must be set" -msgstr "Le nom du modèle est obligatoire" - -#: lib/models/templates.js:147 -msgid "Template does not exist" -msgstr "Le modèle n'existe pas" - -#: lib/models/triggers.js:31 -msgid "Has Opened" -msgstr "A ouvert" - -#: lib/models/triggers.js:34 -msgid "Has Clicked" -msgstr "A cliqué" - -#: lib/models/triggers.js:37 -msgid "Not Opened" -msgstr "Non ouvert" - -#: lib/models/triggers.js:40 -msgid "Not Clicked" -msgstr "Non cliqué" - -#: lib/models/triggers.js:221 lib/models/triggers.js:258 -msgid "Missing or invalid list ID" -msgstr "Identifiant de liste manquant ou invalide" - -#: lib/models/triggers.js:225 lib/models/triggers.js:310 -msgid "Days in the past are not allowed" -msgstr "Jours dans le passé interdits" - -#: lib/models/triggers.js:229 lib/models/triggers.js:250 -#: lib/models/triggers.js:314 lib/models/triggers.js:335 -msgid "Missing or invalid trigger rule" -msgstr "Règle de déclenchement manquante ou invalide" - -#: lib/models/triggers.js:236 lib/models/triggers.js:321 -msgid "Invalid subscription configuration" -msgstr "Configuration d'abonnement invalide" - -#: lib/models/triggers.js:243 lib/models/triggers.js:328 -msgid "Invalid campaign configuration" -msgstr "Configuration incorrecte de la campagne" - -#: lib/models/triggers.js:246 lib/models/triggers.js:331 -msgid "A campaing can not be a target for itself" -msgstr "Une campagne ne peut pas être envoyée à elle-même" - -#: lib/models/triggers.js:279 -msgid "Could not store trigger row" -msgstr "Le déclencheur n'a pas pu être enregistré" - -#: lib/models/triggers.js:296 -msgid "Missing or invalid Trigger ID" -msgstr "Identifiant de déclencheur manquant ou invalide" - -#: lib/models/triggers.js:363 -msgid "Missing Trigger ID" -msgstr "Identifiant de déclencheur manquant" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "L'utilisateur n'a pas pu être enregistré" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "L'adresse mail est obligatoire" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Échec à la vérification des données utilisateur" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"Ne peut changer l'adresse mail, car un autre utilisateur avec la même " -"adresse existe déjà" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Mot de passe actuel incorrect" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Nouveau mot de passe non enregistré" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Les mots de passe ne correspondent pas" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "Identifiant utilisateur non fourni" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Nom d'utilisateur obligatoire" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Demande de changement de mot de passe" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "Token de réinitialisation ou nom d'utilisateur manquant" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Nouveau mot de passe invalide" - -#: lib/passport.js:50 -msgid "%s logged out" -msgstr "%s déconnecté" - -#: lib/passport.js:65 -msgid "Failed to authenticate user" -msgstr "Échec à l'authentification de l'utilisateur" - -#: lib/passport.js:81 -msgid "Logged in as %s" -msgstr "Connecté comme %s" - -#: lib/passport.js:191 -msgid "Incorrect username or password" -msgstr "Nom d'utilisateur ou mot de passe incorrect" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Abonnement confirmé" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Adresse mail déjà enregistrée" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Merci de confirmer le changement de mail de l'abonnement" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%: Merci de confirmer l'abonnement" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%: Merci de confirmer le désabonnement" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Désabonnement confirmé" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Adresse mail bloquée \"%s\"" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Adresse mail \"%s\" invalide." - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "Enregistrement MX introuvable pour le domaine" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "Le nom de domaine de l'adresse est inconnu" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "Le nom de domaine de l'adresse est requis" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "Non trouvé" - -#: routes/archive.js:121 services/sender.js:454 -msgid "Received status code %s from %s" -msgstr "Le code de statut %s a été reçu de %s" - -#: routes/archive.js:153 routes/campaigns.js:895 -msgid "Attachment not found" -msgstr "Pièce jointe introuvable" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:32 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:15 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:19 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Vous devez être connecté pour accéder à cet espace" - -#: routes/campaigns.js:118 -msgid "Could not create campaign" -msgstr "La campagne n'a pas pu être créée" - -#: routes/campaigns.js:121 -msgid "Campaign “%s†created" -msgstr "Campagne \"%s\" créée" - -#: routes/campaigns.js:210 -msgid "Campaign settings updated" -msgstr "Les paramètres de la campagne ont été mis à jour" - -#: routes/campaigns.js:212 -msgid "Campaign settings not updated" -msgstr "Les paramètres de la campagne n'ont pas pu être mis à jour" - -#: routes/campaigns.js:228 routes/campaigns.js:745 -msgid "Campaign deleted" -msgstr "Campagne supprimée" - -#: routes/campaigns.js:230 routes/campaigns.js:747 -msgid "Could not delete specified campaign" -msgstr "La campagne n'a pas pu être supprimée" - -#: routes/campaigns.js:249 -msgid "Idling" -msgstr "Inactif" - -#: routes/campaigns.js:252 -msgid "Scheduled" -msgstr "Programmé" - -#: routes/campaigns.js:258 -msgid "Paused" -msgstr "En pause" - -#: routes/campaigns.js:260 -msgid "Inactive" -msgstr "Inactif" - -#: routes/campaigns.js:262 -msgid "Active" -msgstr "Actif" - -#: routes/campaigns.js:264 -msgid "Other" -msgstr "Autre" - -#: routes/campaigns.js:422 -msgid "Unknown status selector" -msgstr "Sélecteur de statut inconnu" - -#: routes/campaigns.js:763 -msgid "Scheduled sending" -msgstr "Envoi programmé" - -#: routes/campaigns.js:765 -msgid "Could not schedule sending" -msgstr "L'envoi n'a pas pu être programmé" - -#: routes/campaigns.js:777 -msgid "Sending resumed" -msgstr "Envoi relancé" - -#: routes/campaigns.js:779 -msgid "Could not resume sending" -msgstr "L'envoi n'a pas pu être relancé" - -#: routes/campaigns.js:791 -msgid "Sending reset" -msgstr "Envoi réinitialisé" - -#: routes/campaigns.js:793 -msgid "Could not reset sending" -msgstr "L'envoi n'a pas pu être réinitialisé" - -#: routes/campaigns.js:805 routes/campaigns.js:833 -msgid "Sending paused" -msgstr "Envoi mis en pause" - -#: routes/campaigns.js:807 routes/campaigns.js:835 -msgid "Could not pause sending" -msgstr "L'envoi n'a pas pu être interrompu" - -#: routes/campaigns.js:819 -msgid "Sending activated" -msgstr "Envoi activé" - -#: routes/campaigns.js:821 -msgid "Could not activate sending" -msgstr "Impossible d'activer l'envoi" - -#: routes/campaigns.js:856 -msgid "Attachment uploaded" -msgstr "Pièce jointe téléchargée" - -#: routes/campaigns.js:858 -msgid "Could not store attachment" -msgstr "La pièce jointe n'a pas pu être enregistrée" - -#: routes/campaigns.js:875 -msgid "Attachment deleted" -msgstr "Pièce jointe supprimée" - -#: routes/campaigns.js:877 -msgid "Could not delete attachment" -msgstr "La pièce jointe n'a pas pu être supprimée" - -#: routes/editorapi.js:38 -msgid "Invalid editor name" -msgstr "Nom d'éditeur invalide" - -#: routes/editorapi.js:146 -msgid "Method not supported" -msgstr "Méthode non supportée" - -#: routes/editorapi.js:381 -msgid "Invalid resource type or ID" -msgstr "Type ou ID de ressource invalide" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "Identifiant de liste inconnu" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Le champ personnalisé n'a pas pu être créé" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Champ inconnu" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Les paramètres du champ ont été enregistrés" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Les paramètres du champ n'ont pas pu être mis à jour" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Champ personnalisé supprimé" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Le champ n'a pas pu être supprimé" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "Le formulaire n'a pas pu être créé" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "Formulaire inconnu" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "Version texte de ce mail" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "Les formulaires personnalisés utilisent le formatage MJML" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "Voir ici la documentation MJML" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Format" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Style des zones Input de formulaire" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Cette feuille de style CSS définit l'apparence des zones de saisie et des " -"alertes du formulaire" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Abonnement" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "Web - Information de confirmation d'abonnement" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Confirmation d'abonnement (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Confirmation d'abonnement (Texte)" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "Mail - Déjà abonné (MJML)" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "Mail - Déjà abonné (Texte)" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "Web - Information d'abonné" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Abonnement confirmé (MJML)" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Abonnement confirmé (Texte)" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "Web - Gestion des préférences" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "Web - Gestion de l'adresse" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "Web - Information enregistrée" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "Web - Désabonnement" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "Web - Information de confirmation de désabonnement" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "Mail - Confirmation de désabonnement (MJML)" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "Mail - Confirmation de désabonnement (Texte)" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "Mail - Confirmation de changement d'adresse (MJML)" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "Mail - Confirmation de changement d'adresse (Texte)" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "Web - Information de confirmation de désabonnement" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "Mail - Désbonnement confirmé (MJML)" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "Mail - Désbonnement confirmé (Texte)" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "Web - Information de désabonnement manuel" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "Les paramètres du formulaire ont été enregistrés" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "Les paramètres du formulaire n'ont pas pu être modifiés" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "Formulaire personnalisé supprimé" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "Le formulaire n'a pas pu être supprimé" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Solution de Newsletter auto-hébergée" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "Oups, nous n'avons pas trouvé le lien sur lequel vous avez cliqué" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "La liste n'a pas pu être créée" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Liste créée" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:657 routes/lists.js:714 routes/lists.js:741 -msgid "Could not find list with specified ID" -msgstr "Ne peut trouver la liste avec cet identifiant" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "Les paramètres de la liste ont été mis à jour" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "Les paramètres de la liste n'ont pu être enregistrés" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Liste supprimée" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "La liste n'a pas pu être supprimée" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "Inconnu" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "Plainte" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "Clé invalide" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "Clé expirée" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "Clé révoquée" - -#: routes/lists.js:288 -msgid "Force Subscribe" -msgstr "Forcer l'abonnement" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "Initialisation" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "Initialisé" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "Import en cours" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "En erreur" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "Ne peut trouver d'abonné avec cet identifiant" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "L'abonnement n'a pas pu être ajouté" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "%s a été ajouté à votre liste" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "%s n'a pas été ajouté à votre liste" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "L'utilisateur n'a pas pu être désabonné" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s a été désabonné de votre liste" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "%s a été retiré de votre liste" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "Un autre abonné avec l'adresse mail %s existe déjà" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "Les paramètres de l'abonnement ont été enregitrés" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "Les paramètres de l'abonnement n'ont pas pu être mis à jour" - -#: routes/lists.js:542 routes/lists.js:663 routes/lists.js:699 -#: routes/lists.js:727 routes/lists.js:747 -msgid "Could not find import data with specified ID" -msgstr "Ne peut trouver l'import de données avec cet identifiant" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "Le CSV n'a pas pu être traité" - -#: routes/lists.js:589 -msgid "Could not create importer" -msgstr "L'import n'a pas pu être créé" - -#: routes/lists.js:643 -msgid "Empty file" -msgstr "Fichier vide" - -#: routes/lists.js:646 -msgid "Too few rows" -msgstr "Trop peu de lignes" - -#: routes/lists.js:703 -msgid "Import started" -msgstr "Import démarré" - -#: routes/lists.js:731 -msgid "Import restarted" -msgstr "Import relancé" - -#: routes/lists.js:797 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "En une étape (pas d'envoi de mail avec lien de confirmation)" - -#: routes/lists.js:803 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "" -"En une étape avec formulaire de désabonnement (pas d'envoi de mail avec lien " -"de confirmation)" - -#: routes/lists.js:809 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "En deux étapes (envoi d'un mail avec avec lien de confirmation)" - -#: routes/lists.js:815 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"En deux étapes avec formulaire de désabonnement (envoi d'un mail avec avec " -"lien de confirmation)" - -#: routes/lists.js:821 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "" -"Manuel (le désabonnement doit être fait par l'administrateur de la liste)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "Le modèle de rapport n'a pas pu être créé" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Modèle de rapport \"%s\" créé" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "Ne peut trouver le modèle de rapport avec cet identifiant" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Modèle de rapport enregistré" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Le modèle de rapport n'a pas pu être enregistré" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Modèle de rapport supprimé" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "Le modèle de rapport n'a pas pu être supprimé" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "Le rapport n'a pas pu être créé" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Rapport \"%s\" créé" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "Ne peut trouver le rapport avec cet identifiant" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "Le rapport n'a pas pu être mis à jour" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Rapport enregistré" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Le rapport n'a pas pu être enregistré" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Rapport supprimé" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "Le rapport n'a pas pu être supprimé" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "Le modèle de rapport associé n'a pas pu être trouvé" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Type de modèle inconnu" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Le segment n'a pas pu être créé" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segment créé" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Identifiant de segment inconnu" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Configuration du segment enregistrée" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Configuration du segment non enregistrée" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segment supprimé" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Le segment n'a pas pu être supprimé" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "La règle n'a pas pu être créée" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Règle créée" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Paramètres de la règle enregistrés" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Paramètres de la règle non mis à jour" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Règle supprimée" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "La règle n'a pas pu être supprimée" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Utiliser TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "Utilisé habituellement pour le port 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Utiliser STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "Utilisé habituellement pour les ports 587 et 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Ne pas utiliser le chiffrement" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Configuration mise à jour" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Type de transport mail invalide" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Clé d'accès invalide" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Credentials AWS invalides" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Connexion refusée, vérifiez l'adresse du serveur et le port." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"N'a pas reçu le message de présentation du serveur. Cela peut survenir lors " -"d'une connexion à port TLS sans utiliser TLS" - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "N'a pas reçu le message de présentation du serveur." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Connexion expirée. Vérifiez vos règles de firewall, le port de destination " -"est certainement bloqué." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"La tentative d'authentification est rejetée. Le serveur impose l'utilisation " -"de STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "" -"Échec de l'authentification, vérifiez le nom d'utilisateur et le mot de " -"passe." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Echec à la vérification du serveur mail." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Le serveur a répondu : \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Paramètres mailer vérifiés, prêt à envoyer du mail !" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "Interdit par CORS" - -#: routes/subscription.js:61 routes/subscription.js:176 -#: routes/subscription.js:286 routes/subscription.js:382 -#: routes/subscription.js:459 routes/subscription.js:535 -#: routes/subscription.js:566 routes/subscription.js:626 -#: routes/subscription.js:682 routes/subscription.js:760 -#: routes/subscription.js:897 -msgid "Selected list not found" -msgstr "Liste inconnue" - -#: routes/subscription.js:93 -msgid "Could not save subscription" -msgstr "L'abonnement n'a pas pu être enregistré" - -#: routes/subscription.js:118 -msgid "Subscriber info corrupted or missing" -msgstr "Information sur l'abonné manquante ou corrompue" - -#: routes/subscription.js:136 -msgid "Email address changed" -msgstr "Adresse mail changée" - -#: routes/subscription.js:179 routes/subscription.js:385 -msgid "The list does not allow public subscriptions." -msgstr "La liste ne permet pas les abonnements libres." - -#: routes/subscription.js:355 routes/subscription.js:357 -msgid "Email address not set" -msgstr "L'adresse mail n'est pas précisée" - -#: routes/subscription.js:653 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "Un mail avec des instructions a été envoyé à l'adresse fournie" - -#: routes/subscription.js:861 routes/subscription.js:877 -msgid "Public key is not set" -msgstr "La clé publique n'est pas renseignée" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Le modèle n'a pas pu être créé" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Modèle créé" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Paramètres du modèle enregistrés" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Les paramètres du modèle n'ont pas pu être mis à jour" - -#: routes/templates.js:144 -msgid "Template duplicated" -msgstr "Modèle dupliqué" - -#: routes/templates.js:146 -msgid "Could not duplicate specified template" -msgstr "Le modèle n'a pas pu être dupliqué" - -#: routes/templates.js:157 -msgid "Template deleted" -msgstr "Modèle supprimé" - -#: routes/templates.js:159 -msgid "Could not delete specified template" -msgstr "Le modèle n'a pas pu être supprimé" - -#: routes/triggers.js:64 routes/triggers.js:88 routes/triggers.js:180 -msgid "Could not find selected list" -msgstr "La liste sélectionnée n'a pas pu être trouvée" - -#: routes/triggers.js:94 routes/triggers.js:100 routes/triggers.js:186 -msgid "Error while finding selected segment" -msgstr "Erreur à la recherche du segment sélectionné" - -#: routes/triggers.js:157 -msgid "Could not create trigger" -msgstr "Le déclencheur n'a pas pu être créé" - -#: routes/triggers.js:164 -msgid "Trigger “%s†created" -msgstr "Déclencheur \"%s\" créé" - -#: routes/triggers.js:197 -msgid "Error while finding selected segment subscribers" -msgstr "Erreur lors de la recherche des abonnés du segment" - -#: routes/triggers.js:262 -msgid "Trigger settings updated" -msgstr "Paramètres du déclencheur enregistrés" - -#: routes/triggers.js:264 -msgid "Trigger settings not updated" -msgstr "Les paramètres du déclencheur n'ont pas pu être enregistrés" - -#: routes/triggers.js:276 -msgid "Trigger deleted" -msgstr "Déclencheur supprimé" - -#: routes/triggers.js:278 -msgid "Could not delete specified trigger" -msgstr "Le déclencheur n'a pas pu être supprimé" - -#: routes/triggers.js:290 -msgid "Could not find trigger with specified ID" -msgstr "Ne peut trouver de déclencheur avec cet identifiant" - -#: routes/triggers.js:303 -msgid "Trigger not found" -msgstr "Déclencheur inconnu" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Un mail avec les instructions de réinitialisation du mot de passe à été " -"envoyée à votre adresse, si elle est enregistrée dans notre système." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Token de réinitialisation inconnu ou expiré" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Votre mot de passe a bien été changé" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Données utilisateurs non trouvées" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Le jeton d'accès a été mis à jour" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Le jeton d'accès n'a pas été mis à jour" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Les informations sur le compte ont été mises à jour" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Les informations sur le compte n'ont pas été mises à jour" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Erreur du flux : %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "%s nouveau(x) message(s) ont été trouvés dans le flux RSS" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Aucun nouvel élément dans le flux RSS" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "Entrée RSS %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Ne peut ouvrir le fichier d'import" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Type de déclencheur %s inconnu" diff --git a/languages/hu_HU.mo b/languages/hu_HU.mo deleted file mode 100644 index 524af8aa..00000000 Binary files a/languages/hu_HU.mo and /dev/null differ diff --git a/languages/hu_HU.po b/languages/hu_HU.po deleted file mode 100644 index 8d42cfe9..00000000 --- a/languages/hu_HU.po +++ /dev/null @@ -1,4521 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Language-Team: \n" -"Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2018-09-10 16:02+0200\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2018-07-29 01:47+0200\n" -"X-Generator: Poedit 1.8.7.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: hu_HU\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Saját üzemeltetésű hírlevél-program" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Nyitólap" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Feketelista" - -#: views/blacklist.hbs:4 views/users/api.hbs:76 -msgid "Add email to blacklist" -msgstr "Email feketelistázása" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Hozzáadás" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Email" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampányok" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Feketelista info" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Kampány megtekintése" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Feliratkozók, akik szerepelnek a globális feketelistán" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Cím" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Keresztnév" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Vezetéknév" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Ok" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "IdÅ‘pont" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Visszapattanás info" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Feliratkozók, akik visszapattanás miatt le lettek íratva:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "SMTP válasz" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Visszapattanás ideje" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:28 -msgid "Create Campaign" -msgstr "Kampány létrehozása" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Sima kampány" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "RSS kampány" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Név" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Leírás" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Státusz" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Létrehozva" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Link információ" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Kattintások" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "%-a a kattintásoknak" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "%-a az üzeneteknek" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Összesített kattintások" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Feliratkozók, akik rákattintottak egy linkre:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Feliratkozók, akik rákattintottak erre a linkre:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Országok szerinti statisztika" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Eszköz szerinti statisztika" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Kattintások száma" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Reklamálások info" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Felhasználók, akik reklamáltak, ezért le lettek íratva" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Reklamálás ideje" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "RSS kampány létrehozása" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Kampány neve" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML megengedett" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Kiválasztás" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "feliratkozók" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "RSS URL-je" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Email feladó neve" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Ez az a név, ami alatt az emailek meg fognak jelenni" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Email feladó címe" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Ez a cím, amirÅ‘l érkezni látják majd a leveleket" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable opened tracking" -msgstr "Megnyitások követésének letiltása" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:27 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Disable clicked tracking" -msgstr "Kattintások követésének letiltása" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Sablon" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Sablon kiválasztása:" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:29 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Email tárgya" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "RSS kampány szerkesztése" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Ãltalános beállítások" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 -msgid "Delete Campaign" -msgstr "Kampány törlése" - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:36 views/lists/edit.hbs:22 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:97 views/templates/edit.hbs:13 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Frissítés" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template Settings" -msgstr "Sablon beállítások" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "Template URL" -msgstr "Sablon URL" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Kampány szerkesztése" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:30 -msgid "Attachments" -msgstr "Csatolmányok" - -#: views/campaigns/edit.hbs:31 -msgid "File" -msgstr "File" - -#: views/campaigns/edit.hbs:32 -msgid "Size" -msgstr "Méret" - -#: views/campaigns/edit.hbs:33 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Nincs adat a táblázatban." - -#: views/campaigns/edit.hbs:34 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Csatolmány hozzáadása" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Megnyitásokról információ" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Feliratkozók, akik megnyitották ezt az üzenetet:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "ElsÅ‘ megnyitás" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Megnyitások száma" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Leiratkozásokról információ:" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Feliratkozók, akik leiratkoztak:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:13 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Feltöltés" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Ãttekintés" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Linkek" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "RSS státusz" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Kampány elÅ‘nezete, mint" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Teszt felhasználó hozzáadása" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Nincs még teszt felhasználó, hozzon létre egyet itt" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Készbesítve" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Azon felhasználók listázása, akik megkapták ezt az üzenetet" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "Feketelistán szereplÅ‘k" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "" -"Azon felhasználók listázása, akik feketelistára kerültek, mert a globális " -"feketelistán szerepeltek" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Visszapattant" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "óra" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "perc" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Mégse" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Küldés idÅ‘zítve" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Küldés folyamatban" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Folytatás" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Tovább" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Kampány státusza" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "AKTÃV" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Aktív" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INAKTÃV" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Jelszó megváltoztatása" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Beállítások" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Leiratkozás" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Üzenet megtekintése böngészÅ‘ben" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Kedves [FIRST_NAME/Customer]!" - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Üdvözlettel," - -#: views/index.hbs:1 -msgid "List Management" -msgstr "A lista kezelÅ‘i" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Egyedi mezÅ‘k" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "" - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "RSS kampányok" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "GPG titkosítás" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "" - -#: views/index.hbs:24 -msgid "" -"You can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Fiók" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Beállítások" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Kijelentkezés" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Bejelentkezés" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Forráskód a GitHub-on" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Feliratkozás hírlevelünkre" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Listák" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Lista létrehozása" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Lista neve" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Feliratkozás" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Nyilvános űrlapról való feliratkozás engedélyezése" - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Leiratkozás" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "" - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Lista szerkesztése" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Lista megtekintése" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "Lista ID" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Egyedi űrlap" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Alapértelmezett Mailtrain űrlap" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Egyedi űrlap ehhez a listához. Itt " -"hozhat létre új űrlapot." - -#: views/lists/edit.hbs:19 -msgid "Unsubscribe Header" -msgstr "Leiratkozás fejléc" - -#: views/lists/edit.hbs:20 -msgid "Do not send List-Unsubscribe headers" -msgstr "Leiratkozás fejléc küldésének letiltása" - -#: views/lists/edit.hbs:21 -msgid "Delete List" -msgstr "Lista törlése" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "MezÅ‘ létrehozása" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Egyedi mezÅ‘ létrehozása" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "MezÅ‘ neve" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "MezÅ‘ típusa" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Szöveg" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Szám" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Weboldal" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "GPG publikus kulcs" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Többsoros szöveg" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Dátum" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Dátum (HH/NN/ÉÉÉÉ)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Dátum (NN/HH/ÉÉÉÉ)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Születésnap" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Születésnap (HH/NN)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Születésnap (NN/HH)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Csoportosított" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Lenyíló menük" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Rádió gombok" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "JelölÅ‘mezÅ‘k" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Csoport" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Látható" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "MezÅ‘ hozzáadása" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "MezÅ‘ szerkesztése" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/mosaico/editor.hbs:2 views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "MezÅ‘ törlése" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Típus" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:183 routes/triggers.js:297 -msgid "Edit" -msgstr "Szerkesztés" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Űrlap elÅ‘nézete" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Feliratkozás" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Sablonok" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "MezÅ‘k" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Űrlap mezÅ‘k" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Űrlap törlése" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Feliratkozók" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Szabály létrehozása" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Szabály" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Érték" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Pontos találat használata" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Tartomány találat használata" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Relatív tartomány találat használata" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:18 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "KövetkezÅ‘" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Feliratkozó hozzáadása" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Email cím" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:80 views/settings.hbs:95 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Adjon meg egy GPG publikus kulcsot, amivel az üzenetek titkosítva lesznek " -"küldéskor" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "IdÅ‘zóna" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Teszt felhasználó?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Feliratkozó szerkesztése" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Vissza a listához" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Email cím" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Feliratkozás törlése" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Importálás státusza" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Hibás címek" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "" -"Role-based addresses like postmaster@example.com are blocked when importing. " -"Subscribers with role-based email addresses can join your list using the " -"subscription form" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Hiba oka" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Feliratkozók imprtálása" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:21 -#: views/users/api.hbs:36 views/users/api.hbs:44 views/users/api.hbs:52 -#: views/users/api.hbs:64 views/users/api.hbs:75 views/users/api.hbs:83 -#: views/users/api.hbs:91 views/users/api.hbs:96 views/users/api.hbs:101 -#: views/users/api.hbs:106 -msgid "Example" -msgstr "Példa" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Importálás megkezdése" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "CSV file" - -#: views/lists/subscription/import.hbs:6 -msgid "The first line must contain column headings" -msgstr "Az elsÅ‘ sor fejlécet kell, hogy tartalmazzon" - -#: views/lists/subscription/import.hbs:7 -msgid "CSV delimiter" -msgstr "CSV elválasztó" - -#: views/lists/subscription/import.hbs:8 -msgid "Categorize the imported subscribers as" -msgstr "" - -#: views/lists/subscription/import.hbs:9 routes/lists.js:206 -msgid "Subscribed" -msgstr "" - -#: views/lists/subscription/import.hbs:10 -msgid "Regular subscriber addresses" -msgstr "" - -#: views/lists/subscription/import.hbs:11 -msgid "Subscribed (Force)" -msgstr "" - -#: views/lists/subscription/import.hbs:12 -msgid "Regular subscriber addresses, resubscribe users that have unsubscribed" -msgstr "" - -#: views/lists/subscription/import.hbs:14 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "" - -#: views/lists/subscription/import.hbs:15 -msgid "Check imported emails" -msgstr "" - -#: views/lists/subscription/import.hbs:16 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "" - -#: views/lists/subscription/import.hbs:17 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Feliratkozós űrlap" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Lista műveletek" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Feliratkozó hozzáadása" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Feliratkozók importálása" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Szűrés" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:300 -msgid "Finished" -msgstr "Befejezve" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Hozzáadva" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Frissítve" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Újrakezdés" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Sikeres mentés" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "A dokumentum mentése közben hiba lépett fel." - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Az el nem mentett változtatások el fognak veszni. Bezárja?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Címkék" - -#: views/partials/codeeditor.hbs:1 views/partials/grapejs.hbs:1 -#: views/partials/mosaico.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Sablon tartalma (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "MENTÉS" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "MENTÉS FOLYMATBAN" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "BEZÃRÃS" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "GrapeJS megnyitása" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "HTML elÅ‘nézet átváltása" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" - -#: views/partials/html-to-text.hbs:2 -msgid "" -"Please note that your existing plaintext in the field above will be " -"overwritten. This feature uses the Premailer API, a third party " -"service. Their Terms of Service and Privacy Policy apply." -msgstr "" - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Mosaico megnyitása" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Sablon tartalma (sima szöveg)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Jelentések" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Sablon létrehozása" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Jelentés sablon létrehozása" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Sablon szerkesztése" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Jelentés sablon szerkesztése" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:12 -msgid "Delete Template" -msgstr "Sablon törlése" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Sablon neve" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Összes feliratkozó" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Lista exportálása CSV-be" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Jelentés sablonok" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Jelentés létrehozása" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Jelentés szerkesztése" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Jelentés törlése" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Jelentés neve" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Jelentés sablon" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Szolgáltatás címe (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Adja meg az URL-t, amirÅ‘l ez a szolgáltatás elérhetÅ‘" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Admin email" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "KövetÅ‘ ID" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Google Analytics követÅ‘kód megadása" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "KüldÅ‘ neve" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "KüldÅ‘ neve, pl.: Éncégem Kft." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Alapértelmezett postai cím" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "SMTP használata levélküldéshez" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Port" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Titkosítás" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "SMTP azonosítás letiltása" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Felhasználónév" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Felhasználónév, pl.: myaccount@example.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "Jelszó" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "SES API használata levélküldéshez" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Régió" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "" - -#: views/settings.hbs:52 -msgid "Advanced Mailer settings" -msgstr "" - -#: views/settings.hbs:53 -msgid "Log SMTP transactions" -msgstr "SMTP tranzakciók naplózása" - -#: views/settings.hbs:54 -msgid "Allow self-signed certificates" -msgstr "" - -#: views/settings.hbs:55 -msgid "Max connections" -msgstr "" - -#: views/settings.hbs:56 -msgid "The count of max connections, eg. 10" -msgstr "" - -#: views/settings.hbs:57 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:58 -msgid "Max messages" -msgstr "" - -#: views/settings.hbs:59 -msgid "The count of max messages, eg. 100" -msgstr "" - -#: views/settings.hbs:60 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" - -#: views/settings.hbs:61 -msgid "Throttling" -msgstr "" - -#: views/settings.hbs:62 -msgid "Messages per hour eg. 1000" -msgstr "" - -#: views/settings.hbs:63 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:64 -msgid "VERP bounce handling" -msgstr "" - -#: views/settings.hbs:65 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" - -#: views/settings.hbs:66 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" - -#: views/settings.hbs:67 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" - -#: views/settings.hbs:68 -msgid "Use VERP to catch bounces" -msgstr "" - -#: views/settings.hbs:69 -msgid "Server hostname" -msgstr "" - -#: views/settings.hbs:70 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "" - -#: views/settings.hbs:71 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" - -#: views/settings.hbs:72 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" - -#: views/settings.hbs:73 -msgid "GPG Signing" -msgstr "GPG aláírás" - -#: views/settings.hbs:74 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" - -#: views/settings.hbs:75 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" - -#: views/settings.hbs:76 -msgid "Private Key Passphrase" -msgstr "" - -#: views/settings.hbs:77 -msgid "Passphrase for the key if set" -msgstr "" - -#: views/settings.hbs:78 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" - -#: views/settings.hbs:79 -msgid "GPG Private Key" -msgstr "GPG privát kulcs" - -#: views/settings.hbs:81 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" - -#: views/settings.hbs:82 -msgid "DKIM Signing by ZoneMTA" -msgstr "" - -#: views/settings.hbs:83 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" - -#: views/settings.hbs:84 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" - -#: views/settings.hbs:85 -msgid "ZoneMTA DKIM API Key" -msgstr "" - -#: views/settings.hbs:86 -msgid "Some secret value" -msgstr "" - -#: views/settings.hbs:87 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" - -#: views/settings.hbs:88 -msgid "DKIM domain" -msgstr "" - -#: views/settings.hbs:89 -msgid "Domain name for the DKIM key" -msgstr "" - -#: views/settings.hbs:90 -msgid "Leave blank to use the sender email address domain" -msgstr "" - -#: views/settings.hbs:91 views/settings.hbs:92 -msgid "DKIM key selector" -msgstr "" - -#: views/settings.hbs:93 -msgid "Signing is disabled without a valid selector value" -msgstr "" - -#: views/settings.hbs:94 -msgid "DKIM Private Key" -msgstr "" - -#: views/settings.hbs:96 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:174 lib/models/subscriptions.js:895 -msgid "Email address already registered" -msgstr "Ezt az email címet már regisztrálták." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Megkaptuk a feliratkozási kérelmét, viszont címe már eddig is regisztrálva " -"volt." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Ha véletlenül kapta ezt a levelet, egyszerűen törölje. A feliratkozás " -"státusza nem fog változni." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Ha szeretné megváltoztatni feliratkozását, akkor" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "módosíthatja beállításait" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "vagy" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "leiratkozhat itt" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Visszatérés az odalunkra" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "A listával kapcsolatos kérdéseivel itt tud megkeresni minket:" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Ha szeretné megváltoztatni feliratkozását, akkor" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Kérjük erÅ‘sítse meg a feliratkozáshoz használt emailcímének változását" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Igen, szeretnék feliratkozni a listára ezzel az email-lel." - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Ha nem ön kérte ezt a levelet, nyugodtan törölheti. Ha nem kattint a fenti " -"linkre, továbbra is feliratkozva marad." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Ha nem ön kérte ezt a levelet, nyugodtan törölheti. Ha nem kattint a fenti " -"linkre, nem vesszük fel a listára." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:432 -msgid "Please Confirm Subscription" -msgstr "ErÅ‘sítse meg a feliratkozást" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Igen, szeretnék feliratkozni a listára." - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "ErÅ‘sítse meg a leiratkozást" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Igen, szeretnék leiratkozni a listáról." - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Ha nem ön kérte ezt a levelet, nyugodtan törölheti. Ha nem kattint a fenti " -"linkre, továbbra is feliratkozva marad." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Ha nem ön kérte ezt a levelet, nyugodtan törölheti. Ha nem kattint a fenti " -"linkre, továbbra is feliratkozva marad." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Feliratkozás megerÅ‘sítve" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "A listára való feliratkozása megerÅ‘sítve." - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "A listára való feliratkozása megerÅ‘sítve." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "Leiratkozott a listáról." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Email címét eltávolítottuk a listánkról." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "Ha véletlenül iratkozott le, újra feliratkozhat itt:" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Email címét eltávolítottuk a listánkról." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "meg akarja változtatni?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "Adja meg publikus GPG kulcsát, hogy kódolt üzeneteket küldhessünk" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "nem kötelezÅ‘" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Figyelem!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Ha a JavaScript nem volt engedélyezve, akkor nem küldünk megerÅ‘sítÅ‘ levelet." - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "Engedélyezni kell a JavaScriptet az űrlap használatához." - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Eddigi email cím" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Új email cím" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Az ön új email címe" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Küldünk egy megerÅ‘sítést kérÅ‘ üzenetet az új email címére. Az új cím csak " -"akkor lép érvénybe, ha az üzenetben rákattint a megerÅ‘sítésre." - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Email cím cseréje" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Profil frissítése" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Feliratkozás" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Majdnem kész" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Meg kell erÅ‘sítenie email címét. A feliratkozás befejezéséhez kattintson a " -"linkre, amit a megerÅ‘sítést kérÅ‘ üzenetben küldtünk." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Meg kell erÅ‘sítenie email címét. A leiratkozás befejezéséhez kattintson a " -"linkre, amit a megerÅ‘sítést kérÅ‘ üzenetben küldtünk." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Email cím frissítése" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Beállítások frissítése" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "Nem lehetséges az online feliratkozás." - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Vegye fel velünk a kapcsolatot itt:" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "hogy eltávolítsuk a listáról." - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Feliratkozás a listára" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Köszönjük, hogy feliratkozott!" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Sikeresen leiratkozott." - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "El lett távolítva innen:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Profil frissítve." - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "A profilja frissült." - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Küldés..." - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Úgy tűnik, korábban már feliratkozott a listára." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Sablon neve" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "HTML szerkesztÅ‘" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "" - -#: views/templates/edit.hbs:11 -msgid "Duplicate" -msgstr "Duplikálás" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Esemény" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Kampány" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "" - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "" - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" - -#: views/users/api.hbs:13 -msgid "Get list of subscriptions" -msgstr "" - -#: views/users/api.hbs:14 -msgid "" -"Retrieve a list of subscriptions to the list referenced by :listId. All " -"fields of the subscribers will be returned. Note that custom fields will " -"have generated names." -msgstr "" - -#: views/users/api.hbs:15 views/users/api.hbs:24 views/users/api.hbs:26 -#: views/users/api.hbs:39 views/users/api.hbs:41 views/users/api.hbs:47 -#: views/users/api.hbs:49 views/users/api.hbs:55 views/users/api.hbs:57 -#: views/users/api.hbs:67 views/users/api.hbs:78 views/users/api.hbs:80 -#: views/users/api.hbs:86 views/users/api.hbs:88 views/users/api.hbs:94 -#: views/users/api.hbs:99 views/users/api.hbs:104 -msgid "arguments" -msgstr "" - -#: views/users/api.hbs:16 views/users/api.hbs:25 views/users/api.hbs:40 -#: views/users/api.hbs:48 views/users/api.hbs:56 views/users/api.hbs:68 -#: views/users/api.hbs:79 views/users/api.hbs:87 views/users/api.hbs:95 -#: views/users/api.hbs:100 views/users/api.hbs:105 -msgid "your personal access token" -msgstr "" - -#: views/users/api.hbs:17 views/users/api.hbs:69 -msgid "Start position" -msgstr "" - -#: views/users/api.hbs:18 views/users/api.hbs:70 -msgid "optional, default 0" -msgstr "" - -#: views/users/api.hbs:19 -msgid "limit subscription count in response" -msgstr "" - -#: views/users/api.hbs:20 views/users/api.hbs:72 -msgid "optional, default 10000" -msgstr "" - -#: views/users/api.hbs:22 -msgid "Add subscription" -msgstr "" - -#: views/users/api.hbs:23 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" - -#: views/users/api.hbs:27 views/users/api.hbs:42 views/users/api.hbs:50 -msgid "subscriber's email address" -msgstr "" - -#: views/users/api.hbs:28 views/users/api.hbs:43 views/users/api.hbs:51 -#: views/users/api.hbs:59 views/users/api.hbs:82 views/users/api.hbs:90 -msgid "required" -msgstr "" - -#: views/users/api.hbs:29 -msgid "subscriber's first name" -msgstr "feliratkozó keresztneve" - -#: views/users/api.hbs:30 -msgid "subscriber's last name" -msgstr "feliratkozó vezetékneve" - -#: views/users/api.hbs:31 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"Feliratkozó idÅ‘zónája (pl.: \"Europe/Budapest\", \"CEST\", \"UTC\"). " -"Alapértelmezés szerint \"UTC\"." - -#: views/users/api.hbs:32 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" - -#: views/users/api.hbs:33 -msgid "Additional POST arguments" -msgstr "" - -#: views/users/api.hbs:34 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" - -#: views/users/api.hbs:35 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" - -#: views/users/api.hbs:37 -msgid "Remove subscription" -msgstr "" - -#: views/users/api.hbs:38 -msgid "This API call marks a subscription as unsubscribed" -msgstr "" - -#: views/users/api.hbs:45 -msgid "Delete subscription" -msgstr "" - -#: views/users/api.hbs:46 -msgid "This API call deletes a subscription" -msgstr "" - -#: views/users/api.hbs:53 -msgid "Add new custom field" -msgstr "" - -#: views/users/api.hbs:54 -msgid "This API call creates a new custom field for a list." -msgstr "" - -#: views/users/api.hbs:58 -msgid "field name" -msgstr "" - -#: views/users/api.hbs:60 -msgid "one of the following types:" -msgstr "" - -#: views/users/api.hbs:61 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" - -#: views/users/api.hbs:62 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" - -#: views/users/api.hbs:63 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" - -#: views/users/api.hbs:65 -msgid "Get list of blacklisted emails" -msgstr "" - -#: views/users/api.hbs:66 -msgid "This API call get list of blacklisted emails." -msgstr "" - -#: views/users/api.hbs:71 -msgid "limit emails count in response" -msgstr "" - -#: views/users/api.hbs:73 -msgid "filter by part of email" -msgstr "" - -#: views/users/api.hbs:74 -msgid "optional, default ''" -msgstr "" - -#: views/users/api.hbs:77 -msgid "This API call either add emails to blacklist" -msgstr "" - -#: views/users/api.hbs:81 views/users/api.hbs:89 -msgid "email address" -msgstr "" - -#: views/users/api.hbs:84 -msgid "Delete email from blacklist" -msgstr "" - -#: views/users/api.hbs:85 -msgid "This API call either delete emails from blacklist" -msgstr "" - -#: views/users/api.hbs:92 -msgid "Get the lists a user has subscribed to" -msgstr "" - -#: views/users/api.hbs:93 -msgid "Retrieve the lists that the user with :email has subscribed to. " -msgstr "" - -#: views/users/api.hbs:97 -msgid "Get all lists" -msgstr "" - -#: views/users/api.hbs:98 -msgid "Retrieve every list. " -msgstr "" - -#: views/users/api.hbs:102 -msgid "Get list by id" -msgstr "" - -#: views/users/api.hbs:103 -msgid "Retrieve the list with :id " -msgstr "" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "" - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "" - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Emlékezzen rám" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Elfelejtett jelszó" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "" - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "" - -#: lib/editor-helpers.js:47 routes/editorapi.js:320 -msgid "Invalid resource type" -msgstr "" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "" - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Keresztnév" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Vezetéknév" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Teljes név (vezetéknév + keresztnév)" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Dátum (NN/HH/ÉÉÉÉ)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:115 lib/models/lists.js:150 -#: lib/models/lists.js:265 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:390 -#: lib/models/subscriptions.js:566 lib/models/subscriptions.js:657 -#: lib/models/subscriptions.js:710 lib/models/subscriptions.js:773 -#: lib/models/subscriptions.js:816 -msgid "Missing List ID" -msgstr "" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "" - -#: lib/models/links.js:337 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Lista nem található." - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "" - -#: lib/models/lists.js:167 lib/models/lists.js:211 -msgid "List Name must be set" -msgstr "" - -#: lib/models/lists.js:294 -msgid "Missing List CID" -msgstr "" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "" - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Feliratkozás ideje" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "" - -#: lib/models/subscriptions.js:257 lib/models/subscriptions.js:287 -#: lib/models/subscriptions.js:394 -msgid "Missing Subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:315 -msgid "Missing Subscription email address" -msgstr "" - -#: lib/models/subscriptions.js:570 lib/models/subscriptions.js:820 -msgid "Missing subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:661 lib/models/subscriptions.js:714 -#: lib/models/subscriptions.js:750 -msgid "Missing Import ID" -msgstr "" - -#: lib/models/subscriptions.js:842 -msgid "Unknown subscription ID" -msgstr "" - -#: lib/models/subscriptions.js:847 routes/subscription.js:639 -msgid "Nothing seems to be changed" -msgstr "" - -#: lib/models/subscriptions.js:913 routes/subscription.js:473 -#: routes/subscription.js:545 routes/subscription.js:581 -#: routes/subscription.js:697 routes/subscription.js:772 -msgid "Subscription not found in this list" -msgstr "" - -#: lib/models/templates.js:26 lib/models/templates.js:102 -#: lib/models/templates.js:157 -msgid "Missing Template ID" -msgstr "" - -#: lib/models/templates.js:55 lib/models/templates.js:106 -msgid "Template Name must be set" -msgstr "" - -#: lib/models/templates.js:147 -msgid "Template does not exist" -msgstr "" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "" - -#: lib/models/triggers.js:178 lib/models/triggers.js:215 -msgid "Missing or invalid list ID" -msgstr "" - -#: lib/models/triggers.js:182 lib/models/triggers.js:267 -msgid "Days in the past are not allowed" -msgstr "" - -#: lib/models/triggers.js:186 lib/models/triggers.js:207 -#: lib/models/triggers.js:271 lib/models/triggers.js:292 -msgid "Missing or invalid trigger rule" -msgstr "" - -#: lib/models/triggers.js:193 lib/models/triggers.js:278 -msgid "Invalid subscription configuration" -msgstr "" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "Invalid campaign configuration" -msgstr "" - -#: lib/models/triggers.js:203 lib/models/triggers.js:288 -msgid "A campaing can not be a target for itself" -msgstr "" - -#: lib/models/triggers.js:236 -msgid "Could not store trigger row" -msgstr "" - -#: lib/models/triggers.js:253 -msgid "Missing or invalid Trigger ID" -msgstr "" - -#: lib/models/triggers.js:320 -msgid "Missing Trigger ID" -msgstr "" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Érvénytelen új jelszó" - -#: lib/passport.js:49 -msgid "%s logged out" -msgstr "%s kijelentkezett" - -#: lib/passport.js:64 -msgid "Failed to authenticate user" -msgstr "Felhasználó azonosítása nem sikerült" - -#: lib/passport.js:80 -msgid "Logged in as %s" -msgstr "Bejelenetezve, mint %s" - -#: lib/passport.js:180 -msgid "Incorrect username or password" -msgstr "Helytelen felhasználónév vagy jelszó" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Feliratkozás megerÅ‘sítve" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Emailcím már regisztrálva van" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Kérjük erÅ‘sítse meg email címének megváltoztatását" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Kérjük erÅ‘sítse meg a feliratkozást" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Kérjük erÅ‘sítse meg a leiratkozást" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Leiratkozás megerÅ‘sítve" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Blokkolt email cím \"%s\"" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Érvénytelen email cím \"%s\"" - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "MX rekord nem található a domain-hez" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "Nem található" - -#: routes/archive.js:121 services/sender.js:454 -msgid "Received status code %s from %s" -msgstr "" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Csatolmány nem található" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:32 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:15 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Kampány törölve" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "Kampány törlése nem sikerült" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "IdÅ‘zítve" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inaktív" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Aktív" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "" - -#: routes/editorapi.js:38 -msgid "Invalid editor name" -msgstr "" - -#: routes/editorapi.js:146 -msgid "Method not supported" -msgstr "" - -#: routes/editorapi.js:381 -msgid "Invalid resource type or ID" -msgstr "" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Lista létrehozva" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:657 routes/lists.js:714 routes/lists.js:741 -msgid "Could not find list with specified ID" -msgstr "" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Lista törölve" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "" - -#: routes/lists.js:288 -msgid "Force Subscribe" -msgstr "" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "" - -#: routes/lists.js:542 routes/lists.js:663 routes/lists.js:699 -#: routes/lists.js:727 routes/lists.js:747 -msgid "Could not find import data with specified ID" -msgstr "" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "" - -#: routes/lists.js:589 -msgid "Could not create importer" -msgstr "" - -#: routes/lists.js:643 -msgid "Empty file" -msgstr "" - -#: routes/lists.js:646 -msgid "Too few rows" -msgstr "" - -#: routes/lists.js:703 -msgid "Import started" -msgstr "" - -#: routes/lists.js:731 -msgid "Import restarted" -msgstr "" - -#: routes/lists.js:797 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "" - -#: routes/lists.js:803 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "" - -#: routes/lists.js:809 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "" - -#: routes/lists.js:815 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" - -#: routes/lists.js:821 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "" - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "" - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "" - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "" - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "" - -#: routes/subscription.js:61 routes/subscription.js:176 -#: routes/subscription.js:286 routes/subscription.js:382 -#: routes/subscription.js:459 routes/subscription.js:535 -#: routes/subscription.js:566 routes/subscription.js:626 -#: routes/subscription.js:682 routes/subscription.js:760 -#: routes/subscription.js:897 -msgid "Selected list not found" -msgstr "Lista nem található" - -#: routes/subscription.js:93 -msgid "Could not save subscription" -msgstr "Feliratkozás mentése nem sikerült" - -#: routes/subscription.js:118 -msgid "Subscriber info corrupted or missing" -msgstr "" - -#: routes/subscription.js:136 -msgid "Email address changed" -msgstr "Email cím megváltoztatva." - -#: routes/subscription.js:179 routes/subscription.js:385 -msgid "The list does not allow public subscriptions." -msgstr "A lista nem fogad nyilvános feliratkozásokat." - -#: routes/subscription.js:355 routes/subscription.js:357 -msgid "Email address not set" -msgstr "Email cím nincs megadva." - -#: routes/subscription.js:653 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "A további teendÅ‘ket tartalmazó levelet kiküldtük a megadott címre. " - -#: routes/subscription.js:861 routes/subscription.js:877 -msgid "Public key is not set" -msgstr "Publikus kulcs nincs megadva." - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Sablon létrehozása nem sikerült" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Sablon létrehozva." - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Sablon beállításai frissítve" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "" - -#: routes/templates.js:144 -msgid "Template duplicated" -msgstr "" - -#: routes/templates.js:146 -msgid "Could not duplicate specified template" -msgstr "" - -#: routes/templates.js:157 -msgid "Template deleted" -msgstr "Sablon törölve." - -#: routes/templates.js:159 -msgid "Could not delete specified template" -msgstr "" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "A jelszava sikeresen megváltoztatva." - -#: routes/users.js:87 -msgid "User data not found" -msgstr "" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "RSS bejegyzés %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Import file nem érhetÅ‘ el" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "" diff --git a/languages/it_IT.mo b/languages/it_IT.mo deleted file mode 100644 index 7e5a8f97..00000000 Binary files a/languages/it_IT.mo and /dev/null differ diff --git a/languages/it_IT.po b/languages/it_IT.po deleted file mode 100644 index b35ef79f..00000000 --- a/languages/it_IT.po +++ /dev/null @@ -1,4661 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Language-Team: \n" -"Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2018-04-11 12:42+0200\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2018-04-05 15:43+0200\n" -"X-Generator: Poedit 1.8.7.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: it\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -msgid "Self hosted email newsletter app" -msgstr "Applicazione di newsletter self-hosted" - -#: views/blacklist.hbs:1 views/campaigns/blacklisted.hbs:1 -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/forms/create.hbs:1 -#: views/lists/forms/edit.hbs:1 views/lists/forms/forms.hbs:1 -#: views/lists/lists.hbs:1 views/lists/segments/create.hbs:1 -#: views/lists/segments/edit.hbs:1 views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/report-templates/create.hbs:1 views/report-templates/edit.hbs:1 -#: views/report-templates/report-templates.hbs:1 -#: views/reports/create-select-template.hbs:1 views/reports/create.hbs:1 -#: views/reports/edit.hbs:1 views/reports/output.hbs:1 -#: views/reports/reports.hbs:1 views/reports/view.hbs:1 views/settings.hbs:1 -#: views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Home" - -#: views/blacklist.hbs:2 views/blacklist.hbs:3 views/layout.hbs:7 -#: views/lists/subscription/edit.hbs:15 -msgid "Blacklist" -msgstr "Lista nera" - -#: views/blacklist.hbs:4 views/users/api.hbs:76 -msgid "Add email to blacklist" -msgstr "Aggiungi email alla lista nera" - -#: views/blacklist.hbs:5 -msgid "Add" -msgstr "Aggiungi" - -#: views/blacklist.hbs:6 -msgid "Email" -msgstr "Email" - -#: views/campaigns/blacklisted.hbs:2 views/campaigns/bounced.hbs:2 -#: views/campaigns/campaigns.hbs:2 views/campaigns/campaigns.hbs:7 -#: views/campaigns/clicked.hbs:2 views/campaigns/complained.hbs:2 -#: views/campaigns/create-rss.hbs:2 views/campaigns/create-triggered.hbs:2 -#: views/campaigns/create.hbs:2 views/campaigns/delivered.hbs:2 -#: views/campaigns/edit-rss.hbs:2 views/campaigns/edit-triggered.hbs:2 -#: views/campaigns/edit.hbs:2 views/campaigns/opened.hbs:2 -#: views/campaigns/unsubscribed.hbs:2 views/campaigns/upload-attachment.hbs:2 -#: views/campaigns/view.hbs:2 lib/tools.js:133 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Campagne" - -#: views/campaigns/blacklisted.hbs:3 views/campaigns/blacklisted.hbs:4 -msgid "Blacklisted info" -msgstr "Informazioni lista nera" - -#: views/campaigns/blacklisted.hbs:5 views/campaigns/bounced.hbs:5 -#: views/campaigns/clicked.hbs:5 views/campaigns/complained.hbs:5 -#: views/campaigns/delivered.hbs:5 views/campaigns/edit-rss.hbs:5 -#: views/campaigns/edit-triggered.hbs:5 views/campaigns/edit.hbs:5 -#: views/campaigns/opened.hbs:5 views/campaigns/unsubscribed.hbs:5 -#: views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Vedi campagna" - -#: views/campaigns/blacklisted.hbs:6 -msgid "Subscribers who blacklisted by global blacklist:" -msgstr "Iscritti in lista nera derivati dalla lista nera globale:" - -#: views/campaigns/blacklisted.hbs:7 views/campaigns/bounced.hbs:7 -#: views/campaigns/clicked.hbs:15 views/campaigns/complained.hbs:7 -#: views/campaigns/delivered.hbs:7 views/campaigns/opened.hbs:9 -#: views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:8 views/lists/view.hbs:19 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Indirizzo" - -#: views/campaigns/blacklisted.hbs:8 views/campaigns/bounced.hbs:8 -#: views/campaigns/clicked.hbs:16 views/campaigns/complained.hbs:8 -#: views/campaigns/delivered.hbs:8 views/campaigns/opened.hbs:10 -#: views/campaigns/unsubscribed.hbs:8 views/lists/subscription/add.hbs:6 -#: views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:20 -#: views/subscription/partials/subscription-custom-fields.hbs:3 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "Nome" - -#: views/campaigns/blacklisted.hbs:9 views/campaigns/bounced.hbs:9 -#: views/campaigns/clicked.hbs:17 views/campaigns/complained.hbs:9 -#: views/campaigns/delivered.hbs:9 views/campaigns/opened.hbs:11 -#: views/campaigns/unsubscribed.hbs:9 views/lists/subscription/add.hbs:7 -#: views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:21 -#: views/subscription/partials/subscription-custom-fields.hbs:4 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Cognome" - -#: views/campaigns/blacklisted.hbs:10 -msgid "Reason" -msgstr "Ragione" - -#: views/campaigns/blacklisted.hbs:11 -msgid "Time" -msgstr "Tempo" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Informazioni rimbalzo" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Iscritti che hanno rimbalzato e sono stati rimossi:" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Risposta SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Tempo di rimbalzo" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:26 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:28 -msgid "Create Campaign" -msgstr "Crea Campagna" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "Campagna regolare" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Campagna RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "Campagna attivabile" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/forms/forms.hbs:6 -#: views/lists/lists.hbs:5 views/lists/segments/segments.hbs:6 -#: views/report-templates/partials/report-template-fields.hbs:1 -#: views/report-templates/report-templates.hbs:10 -#: views/reports/partials/report-fields.hbs:1 -#: views/reports/partials/report-fields.hbs:5 -#: views/reports/partials/report-fields.hbs:9 views/reports/reports.hbs:6 -#: views/templates/templates.hbs:5 views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nome" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:74 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 -#: views/lists/forms/edit.hbs:9 views/lists/forms/forms.hbs:7 -#: views/lists/lists.hbs:8 views/mosaico/editor.hbs:3 -#: views/partials/merge-tag-reference.hbs:4 -#: views/report-templates/partials/report-template-fields.hbs:3 -#: views/report-templates/report-templates.hbs:11 -#: views/reports/partials/report-fields.hbs:3 -#: views/reports/partials/report-fields.hbs:6 views/reports/reports.hbs:8 -#: views/templates/create.hbs:9 views/templates/edit.hbs:8 -#: views/templates/templates.hbs:6 views/triggers/create.hbs:7 -#: views/triggers/edit.hbs:8 views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Descrizione" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:75 -#: views/lists/view.hbs:22 views/lists/view.hbs:30 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Stato" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:76 -#: views/lists/view.hbs:23 views/lists/view.hbs:24 -#: views/report-templates/report-templates.hbs:12 -#: views/reports/partials/report-fields.hbs:7 views/reports/reports.hbs:9 -msgid "Created" -msgstr "Creato" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Informazioni link" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:63 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:64 -msgid "Clicks" -msgstr "Clicks" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:65 -msgid "% of clicks" -msgstr "% di clicks" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:66 -msgid "% of messages" -msgstr "% di messagi" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:69 -msgid "Aggregated clicks" -msgstr "Clicks aggregati" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Iscritti che hanno cliccato un link:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Iscritti che hanno cliccato questo link:" - -#: views/campaigns/clicked.hbs:13 views/campaigns/opened.hbs:7 -msgid "Stats by country" -msgstr "Statistiche per nazione" - -#: views/campaigns/clicked.hbs:14 views/campaigns/opened.hbs:8 -msgid "Stats by device type" -msgstr "Statistiche per tipo di dispositivo" - -#: views/campaigns/clicked.hbs:18 -msgid "First click time" -msgstr "Tempo primo click" - -#: views/campaigns/clicked.hbs:19 -msgid "Click count" -msgstr "Conteggio clicks" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Informazioni reclamo" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Iscritti che hanno reclamato e sono stati rimossi" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Tempo reclamo" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:21 -msgid "Create RSS Campaign" -msgstr "Crea campagna RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Le campagne RSS configurano un registratore per gli indirizzi dei feed RSS. " -"Qualvolta un nuovo elemento venga trovato per il feed, viene inviato alle " -"liste selezionate come una email." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nome campagna" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/report-templates/partials/report-template-fields.hbs:4 -#: views/reports/partials/report-fields.hbs:4 views/templates/create.hbs:11 -#: views/templates/edit.hbs:10 views/triggers/create.hbs:9 -#: views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML è consentito" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/reports/partials/report-select-template.hbs:2 -#: views/subscription/partials/subscription-custom-fields.hbs:9 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Seleziona" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "Iscritti" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "URL del feed RSS" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"I nuovi elementi per questo feed RSS sono inviati agli iscritti come " -"messaggi email." - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "Email da \"Nome\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit-triggered.hbs:17 views/campaigns/edit.hbs:18 -#: views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "Questo è il nome che verrà' visualizzato come mittente" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "Email dall'indirizzo" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:21 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "Questo è l'indirizzo a cui gli iscritti risponderanno" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable opened tracking" -msgstr "Disabilita tracciamento aperture" - -#: views/campaigns/create-rss.hbs:20 views/campaigns/create-triggered.hbs:25 -#: views/campaigns/create.hbs:27 views/campaigns/edit-rss.hbs:23 -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Disable clicked tracking" -msgstr "Disabilita tracciamento clicks" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Crea una campagna attivabile" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/reports/reports.hbs:7 views/templates/create.hbs:13 -msgid "Template" -msgstr "Template" - -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Seleziona un template:" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Selezionando un template, si crea una copia su cui andare a lavorare" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "In alternativa utilizza un URL per il contenuto del messaggio:" - -#: views/campaigns/create-triggered.hbs:17 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:26 views/campaigns/edit.hbs:29 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"Se un messaggio viene inviato questa URL verrà' richiamata assorbendo i " -"merge tags come body del messaggio. Utilizza questa opzione se vuoi scrivere " -"tu l'HTML del messaggio" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "Oggetto dell'email" - -#: views/campaigns/create-triggered.hbs:23 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Ricordati di mantenerla rilevante e non creare spam" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"Questo è l'indirizzo a cui gli iscritti risponderanno se non specifichi un " -"indirizzo email 'reply-to'" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Indirizzo email 'reply-to'" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "Se impostato, questo sarà' l'indirizzo a cui le persone risponderanno" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Informazioni della consegna" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Iscritti che hanno ricevuto il messaggio e non hanno reclamato e non si sono " -"rimossi" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Ora di consegna" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Modifica campagna RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Impostazioni generali" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Utilizza tag di assorbimento speciali [RSS_ENTRY] per evidenziare il " -"contenuto del messaggio all'interno del RSS. Puoi inoltre utilizzare " -"qualsiasi tag di merge valido." - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 -msgid "Delete Campaign" -msgstr "Cancella " - -#: views/campaigns/edit-rss.hbs:25 views/campaigns/edit-triggered.hbs:28 -#: views/campaigns/edit.hbs:36 views/lists/edit.hbs:20 -#: views/lists/fields/edit.hbs:39 views/lists/forms/edit.hbs:33 -#: views/lists/forms/forms.hbs:12 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:18 -#: views/reports/edit.hbs:6 views/settings.hbs:97 views/templates/edit.hbs:13 -#: views/triggers/edit.hbs:30 views/users/account.hbs:18 -msgid "Update" -msgstr "Aggiorna" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Modifica campagna azionabile" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -#: routes/forms.js:143 -msgid "General" -msgstr "Generale" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template Settings" -msgstr "Impostazioni Template" - -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "Template URL" -msgstr "URL Template" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Modifica Campagna" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:30 -msgid "Attachments" -msgstr "Allegati" - -#: views/campaigns/edit.hbs:31 -msgid "File" -msgstr "File" - -#: views/campaigns/edit.hbs:32 -msgid "Size" -msgstr "Dimensione" - -#: views/campaigns/edit.hbs:33 views/campaigns/view.hbs:68 -#: views/lists/fields/fields.hbs:12 views/lists/forms/forms.hbs:9 -#: views/lists/view.hbs:33 -msgid "No data available in table" -msgstr "Non ci sono dati disponibili nella tabella" - -#: views/campaigns/edit.hbs:34 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Aggiungi allegato" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Informazioni apertura" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Iscritti che hanno aperto il messaggio:" - -#: views/campaigns/opened.hbs:12 -msgid "First open" -msgstr "Prima apertura" - -#: views/campaigns/opened.hbs:13 -msgid "Opened count" -msgstr "Numero di aperture" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Informazioni utenti rimossi" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Iscritti che si sono rimossi:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:28 -#: views/lists/subscription/import.hbs:13 routes/lists.js:206 -msgid "Unsubscribed" -msgstr "Rimossi" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "Carica" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "Panoramica" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Links" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "Feed URL" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Ultimo controllo" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Non ancora controllati" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "attiva la campagna per controllare il feed per nuovi messaggi" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Stato RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "Guarda l'anteprima come" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Aggiungi un utente di test" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Non sono presenti utenti di test, creane uno qui" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Vai" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:26 -msgid "Delivered" -msgstr "Consegnato" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Elenca iscritti che hanno ricevuto il messaggio" - -#: views/campaigns/view.hbs:22 -msgid "Blacklisted" -msgstr "In lista nera" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who blacklisted by global blacklist" -msgstr "Lista degli iscritti in lista nera per la lista nera globale" - -#: views/campaigns/view.hbs:24 routes/lists.js:206 -msgid "Bounced" -msgstr "Rimbalzato" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who bounced" -msgstr "Lista utenti che hanno rimbalzato" - -#: views/campaigns/view.hbs:26 -msgid "Complaints" -msgstr "Reclami" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who complained for this message" -msgstr "Lista degli iscritti che hanno fatto un reclamo per questo messaggio" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who unsubscribed after this message" -msgstr "" -"Lista degli utenti che si sono cancellati in seguito a questo messaggio" - -#: views/campaigns/view.hbs:30 -msgid "Opened" -msgstr "Aperta" - -#: views/campaigns/view.hbs:31 -msgid "List subscribers who opened this message" -msgstr "Lista degli iscritti che hanno aperto questo messaggio" - -#: views/campaigns/view.hbs:32 -msgid "Clicked" -msgstr "Cliccate" - -#: views/campaigns/view.hbs:33 views/campaigns/view.hbs:70 -msgid "List subscribers who clicked on a link" -msgstr "Lista degli iscritti che hanno cliccato su di un link" - -#: views/campaigns/view.hbs:34 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione farà iniziare l'invio dei messaggi alla lista " -"selezionata" - -#: views/campaigns/view.hbs:35 -msgid "Delay sending" -msgstr "Ritarda invio" - -#: views/campaigns/view.hbs:36 -msgid "hours" -msgstr "ore" - -#: views/campaigns/view.hbs:37 -msgid "minutes" -msgstr "minuti" - -#: views/campaigns/view.hbs:38 -msgid "Send to subscribers:" -msgstr "Invia agli iscritti:" - -#: views/campaigns/view.hbs:39 -msgid "Are you sure? This action would reset scheduling" -msgstr "Sei sicuro? Questa azione resetterà la programmazione" - -#: views/campaigns/view.hbs:40 -msgid "Cancel" -msgstr "Annulla" - -#: views/campaigns/view.hbs:41 -msgid "Sending scheduled" -msgstr "Invio programmato" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:54 -msgid "Pause" -msgstr "Pausa" - -#: views/campaigns/view.hbs:43 routes/campaigns.js:253 -msgid "Sending" -msgstr "Invio in corso" - -#: views/campaigns/view.hbs:44 views/campaigns/view.hbs:48 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione riprenderà l'invio dei messaggi alla lista " -"selzionata" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"Sei sicuro? Questa azione resetterà tutte le statistiche riguardanti il " -"progresso attuale" - -#: views/campaigns/view.hbs:46 -msgid "Resume" -msgstr "Riprendi" - -#: views/campaigns/view.hbs:47 views/campaigns/view.hbs:51 -msgid "Reset" -msgstr "Resetta" - -#: views/campaigns/view.hbs:50 -msgid "Continue" -msgstr "Continua" - -#: views/campaigns/view.hbs:52 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Tutti i messaggi inviati! Premi \"Continua\" se vuoi inviare questa campagna " -"ai nuovi iscritti" - -#: views/campaigns/view.hbs:53 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione metterà in pausa l'invio dei nuovi ingressi dal " -"feed RSS come email alla lista selezionata" - -#: views/campaigns/view.hbs:55 views/campaigns/view.hbs:59 -msgid "Campaign status:" -msgstr "Stato campagna:" - -#: views/campaigns/view.hbs:56 -msgid "ACTIVE" -msgstr "ATTIVA" - -#: views/campaigns/view.hbs:57 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"Sei sicuro? Questa azione iniziera ad inviare i nuovi ingressi dal feed RSS " -"come email alla lista selezionata" - -#: views/campaigns/view.hbs:58 -msgid "Activate" -msgstr "Attiva" - -#: views/campaigns/view.hbs:60 -msgid "INACTIVE" -msgstr "INATTIVA" - -#: views/campaigns/view.hbs:61 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"Questa e' una campagna innescabile. I messaggi sono inviati solo agli " -"iscritti che hanno innescato questa campagna" - -#: views/campaigns/view.hbs:62 -msgid "see more" -msgstr "guarda di più" - -#: views/campaigns/view.hbs:67 -msgid "List subscribers who clicked this link" -msgstr "Lista iscritti che hanno cliccato questo link" - -#: views/campaigns/view.hbs:71 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"I clicks sono contati come iscritti unici che hanno cliccato un link " -"specifico o (nella vista aggregata) su di un qualsiasi link" - -#: views/campaigns/view.hbs:72 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"Se un nuovo ingresso è trovato nel feed della campagna, una nuova sotto-" -"campagna verrà creata per quella entry e sarà visualizzata ui" - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "Cambia la tua password" - -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "" -"Abbiamo ricevuto una richiesta di cambio password per il tuo account " -"Mailtrain" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Cambia password" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"Se non hai chiesto tu di cambiare password, puoi ignorare questa email e la " -"tua password resterà la stessa." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Preferenze" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/forms/edit.hbs:20 -#: views/lists/subscription/edit.hbs:16 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:2 -#: views/subscription/web-manage.mjml.hbs:3 -#: views/subscription/web-unsubscribe.mjml.hbs:1 -#: views/subscription/web-unsubscribe.mjml.hbs:2 routes/forms.js:223 -#: routes/lists.js:288 -msgid "Unsubscribe" -msgstr "Cancella iscrizione" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Guarda questa email nel tuo browser" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Ciao [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Ringraziandoti" - -#: views/index.hbs:1 -msgid "List Management" -msgstr "Gestione lista" - -#: views/index.hbs:2 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain ti permette di gestire facilmente grosse liste. Milioni di " -"iscritti? Nessun problema. Puoi aggiungere iscritti manualmente, via API " -"oppure importarli tramite CSV. Tutte le liste hanno la possibilità di " -"aggiungere campi personalizzati e tag di merge." - -#: views/index.hbs:3 views/index.hbs:7 views/index.hbs:10 views/index.hbs:13 -#: views/index.hbs:16 views/index.hbs:19 views/index.hbs:22 views/index.hbs:25 -#: views/index.hbs:28 -msgid "Show more" -msgstr "Guarda di più" - -#: views/index.hbs:4 views/lists/fields/create.hbs:3 -#: views/lists/fields/edit.hbs:3 views/lists/fields/fields.hbs:3 -#: views/lists/fields/fields.hbs:5 views/lists/view.hbs:6 -msgid "Custom Fields" -msgstr "Campi personalizzati" - -#: views/index.hbs:5 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Campi di testo, numeri, drop downs o segni di spunta, Mailtrain li " -"implementa tutti. Ogni campo personalizzato può essere incluso nella " -"newsletter generata tramite i tag di merge." - -#: views/index.hbs:6 -msgid "Mailtrain also supports custom forms." -msgstr "Mailtrain supporta form personalizzati" - -#: views/index.hbs:8 -msgid "List Segmentation" -msgstr "Segmentazione della lista" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"Invia messaggi solo agli iscritti che rientrano in una regola di " -"segmentazione predefinita. Non c'è bisogno di creare liste separate con " -"piccole differenze." - -#: views/index.hbs:11 -msgid "RSS Campaigns" -msgstr "Campagne RSS" - -#: views/index.hbs:12 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Configura Mailtrain per tracciare i feed RSS e se viene identificato un " -"nuovo ingresso Mailtrain auto genera una nuova campagna utilizzando i dati " -"del contenuto del messaggio del feed e lo invia agli iscritti selezionati." - -#: views/index.hbs:14 -msgid "GPG Encryption" -msgstr "Crittografia GPG" - -#: views/index.hbs:15 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"Se una lista ha un campo personalizzato per un set di chiave pubblica GPG " -"allora gli iscritti possono caricare la loro chiave GPG pubblica per " -"ricevere messaggi criptati dalla lista." - -#: views/index.hbs:17 -msgid "Click Stats" -msgstr "Statistiche click" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Dopo che una campagna è stata inviata, controlla le statistiche di ogni " -"click per ogni link incluso nel messaggio." - -#: views/index.hbs:20 -msgid "Template Editors" -msgstr "Editors dei templates" - -#: views/index.hbs:21 -msgid "" -"Mailtrain ships with GrapeJS and Mosaico built in, two advanced template " -"editors. Mailtrain also offers a code editor if you prefer to handcraft the " -"HTML yourself." -msgstr "" -"Mailtrain include GrapeJS e Mosaico, due editors di template avanzati. " -"Mailtrain offre inoltre un editor di codice se preferisci scrivere tu l'HTML." - -#: views/index.hbs:23 -msgid "Send via Any Provider" -msgstr "Invia tramite qualsiasi provider" - -#: views/index.hbs:24 -msgid "" -"You can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Puoi utilizzare qualsiasi provider che supporti SMTP per inviare la tua " -"newsletter. La gestione di rimbalzi e reclami via webhooks è supportata per " -"SES, SparkPost, SendGrid, Mailgun, Postfix e ZoneMTA." - -#: views/index.hbs:26 lib/tools.js:137 -msgid "Automation" -msgstr "Automazione" - -#: views/index.hbs:27 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Definisci gli inneschi di automazione per l'invio di messaggi specifici " -"quando un utente innesca una azione specifica." - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Attiva navigazione" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Account" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Impostazioni" - -#: views/layout.hbs:8 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:9 -msgid "Log out" -msgstr "Esci" - -#: views/layout.hbs:10 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Log in" - -#: views/layout.hbs:11 -msgid "Self Hosted Newsletter App Built on Top of Nodemailer" -msgstr "" -"Applicazione per newsletter self hosted costruita sulla base di Nodemailer" - -#: views/layout.hbs:12 views/layout.hbs:14 -msgid "Source on GitHub" -msgstr "Sorgenti su GitHub" - -#: views/layout.hbs:13 -msgid "Subscribe to Our Newsletter" -msgstr "Iscriviti alla nostra Newsletter" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/forms/create.hbs:2 -#: views/lists/forms/edit.hbs:2 views/lists/forms/forms.hbs:2 -#: views/lists/lists.hbs:2 views/lists/lists.hbs:4 -#: views/lists/segments/create.hbs:2 views/lists/segments/edit.hbs:2 -#: views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:125 routes/lists.js:59 -msgid "Lists" -msgstr "Liste" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:13 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Crea Lista" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nome lista" - -#: views/lists/create.hbs:9 views/lists/edit.hbs:15 -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Iscrizione" - -#: views/lists/create.hbs:10 views/lists/edit.hbs:16 -msgid "Allow public users to subscribe themselves" -msgstr "Permetti utenti pubblici di iscriversi da soli" - -#: views/lists/create.hbs:11 views/lists/edit.hbs:17 -msgid "Unsubscription" -msgstr "Cancellazione iscrizione" - -#: views/lists/create.hbs:12 views/lists/edit.hbs:18 -msgid "Select how an unsuscription request by subscriber is handled." -msgstr "" -"Seleziona come una richiesta di rimozione dell'iscrizione viene gestita." - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:8 -msgid "Edit List" -msgstr "Modifica lista" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "Guarda Lista" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "ID lista" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "Questo è l'ID della lista mostrato agli iscritti" - -#: views/lists/edit.hbs:12 -msgid "Custom Form" -msgstr "Form personalizzato" - -#: views/lists/edit.hbs:13 views/lists/forms/forms.hbs:11 -msgid "Default Mailtrain Form" -msgstr "Form predefinito di Mailtrain" - -#: views/lists/edit.hbs:14 -msgid "" -"The custom form used for this list. You can create a form here." -msgstr "" -"Il form personalizzato per questa lista. Puoi creare un form qui." - -#: views/lists/edit.hbs:19 -msgid "Delete List" -msgstr "Cancella lista" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Crea campo" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Crea campo personalizzato" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nome campo" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Tipo campo" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Testo" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Numero" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Sito web" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Chiave pubblica GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Testo multi linea" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Data" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Data (MM/GG/ANNO)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Data (GG/MM/ANNO)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Compleanno" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Compleanno (MM/GG)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Compleanno (GG/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Raggruppati" - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Drop Downs" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Radio Buttons" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxes" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Option for group value" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Group" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Richiesto per le group options" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "Valore di merge tag di default" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"Per i gruppi di elementi come i checkboxes, puoi controllare l'aspetto " -"visivo del merge tag con un template opzionale. Il template usa la sintassi " -"di handlebars e puoi trovare tutti i valori dall'array {{values}}, per esempio {{#each values}} {{this}} {{/each}}. Se il " -"template non è definito allora i valori multipli vengono uniti dalla " -"virgola. Puoi anche utilizzare questo template per visualizzare valori JSON " -"(se il valore JSON è un array allora l'array viene esposto come " -"values, altrimenti puoi accedere direttamente alle keys del " -"JSON)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Visibile" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Aggiungi campo" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Modifica campo" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Modifica campo personalizzato" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Indietro ai campi" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/mosaico/editor.hbs:2 views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "Merge tag" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Merge Tag" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Metti questo tag nel tuo contenuto:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "Elimina campo" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:26 -#: views/report-templates/partials/report-template-fields.hbs:5 -msgid "Type" -msgstr "Tipo" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/forms/edit.hbs:26 views/lists/forms/forms.hbs:8 -#: views/lists/segments/segments.hbs:8 views/lists/segments/view.hbs:12 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:276 -#: routes/campaigns.js:568 routes/campaigns.js:657 routes/campaigns.js:706 -#: routes/lists.js:170 routes/lists.js:257 routes/report-templates.js:51 -#: routes/templates.js:183 routes/triggers.js:297 -msgid "Edit" -msgstr "Modifica" - -#: views/lists/forms/create.hbs:3 views/lists/forms/edit.hbs:3 -#: views/lists/forms/forms.hbs:3 views/lists/forms/forms.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Forms" -msgstr "Form personalizzati" - -#: views/lists/forms/create.hbs:4 -msgid "Create Form" -msgstr "Crea form" - -#: views/lists/forms/create.hbs:5 views/lists/forms/forms.hbs:4 -msgid "Create Custom Form" -msgstr "Crea form personalizzato" - -#: views/lists/forms/create.hbs:6 views/lists/forms/create.hbs:7 -#: views/lists/forms/edit.hbs:7 views/lists/forms/edit.hbs:8 -msgid "Form Name" -msgstr "Nome form" - -#: views/lists/forms/create.hbs:8 -msgid "Add Form" -msgstr "Aggiungi form" - -#: views/lists/forms/edit.hbs:4 -msgid "Edit Form" -msgstr "Modifica Form" - -#: views/lists/forms/edit.hbs:5 -msgid "Edit Custom Form" -msgstr "Modifica form personalizzato" - -#: views/lists/forms/edit.hbs:6 -msgid "Back to forms" -msgstr "Indietro ai forms" - -#: views/lists/forms/edit.hbs:10 -msgid "Optional comments about this form" -msgstr "Commenti opzionali per questo form" - -#: views/lists/forms/edit.hbs:11 -msgid "Form Preview" -msgstr "Anteprima Form" - -#: views/lists/forms/edit.hbs:12 -msgid "" -"Note: These links are solely for a quick preview. If you submit a preview " -"form you'll get redirected to the list's default form." -msgstr "" -"Nota: Questi links sono solo per un'anteprima veloce. Se confermi l'invio di " -"un form in anteprima verrai rediretto al form di default della lista." - -#: views/lists/forms/edit.hbs:13 views/lists/subscription/add.hbs:16 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:4 -#: routes/forms.js:157 routes/lists.js:288 -msgid "Subscribe" -msgstr "Iscriviti" - -#: views/lists/forms/edit.hbs:14 -msgid "Confirm Subscription Notice" -msgstr "Notifica iscrizione confermata" - -#: views/lists/forms/edit.hbs:15 -msgid "Confirm Unsubscription Notice" -msgstr "Conferma notifica di cancellazione iscrizione" - -#: views/lists/forms/edit.hbs:16 -msgid "Subscribed Notice" -msgstr "Notifica iscrizione" - -#: views/lists/forms/edit.hbs:17 -msgid "Updated Notice" -msgstr "Notifica di aggiornamento" - -#: views/lists/forms/edit.hbs:18 -msgid "Unsubscribed Notice" -msgstr "Notifica di cancellazione di iscrizione" - -#: views/lists/forms/edit.hbs:19 -msgid "Manual Unsubscribe Notice" -msgstr "Notifica di cancellazione iscrizione manuale" - -#: views/lists/forms/edit.hbs:21 routes/forms.js:205 -msgid "Manage" -msgstr "Gestisci" - -#: views/lists/forms/edit.hbs:22 -msgid "Manage Address" -msgstr "Gestisci indirizzo" - -#: views/lists/forms/edit.hbs:23 -msgid "Create a test user for additional options" -msgstr "Crea un utente di test per le opzioni aggiuntive" - -#: views/lists/forms/edit.hbs:24 views/report-templates/create.hbs:3 -#: views/report-templates/edit.hbs:3 -#: views/report-templates/report-templates.hbs:3 views/templates/create.hbs:2 -#: views/templates/edit.hbs:2 views/templates/templates.hbs:2 -#: views/templates/templates.hbs:4 lib/tools.js:129 routes/templates.js:27 -msgid "Templates" -msgstr "Templates" - -#: views/lists/forms/edit.hbs:25 -msgid "Fields" -msgstr "Campi" - -#: views/lists/forms/edit.hbs:27 -msgid "Form Fields" -msgstr "Campi del form" - -#: views/lists/forms/edit.hbs:28 -msgid "Fields hidden on subscription page:" -msgstr "Campi nascosti sulla pagina di iscrizione:" - -#: views/lists/forms/edit.hbs:29 -msgid "Fields shown on subscription page:" -msgstr "Campi mostrati sulla pagina di iscrizione:" - -#: views/lists/forms/edit.hbs:30 -msgid "Fields hidden on preferences page:" -msgstr "Campi nascosti sulla pagina delle preferenze:" - -#: views/lists/forms/edit.hbs:31 -msgid "Fields shown on preferences page:" -msgstr "Campi mostrati sulla pagina delle preferenze:" - -#: views/lists/forms/edit.hbs:32 -msgid "Delete Form" -msgstr "Cancella form" - -#: views/lists/forms/forms.hbs:10 -msgid "The default form for this list is:" -msgstr "Il form di default per questa lista:" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 views/reports/partials/report-fields.hbs:10 -msgid "Subscribers" -msgstr "Iscritti" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:7 -#: views/lists/view.hbs:14 -msgid "Segments" -msgstr "Segmenti" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Crea segmento" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nome segmento" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Regola di corrispondenza" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Tutte le regole devono corrispondere con" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Qualsiasi regola può corrispondere con" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Aggiungi segmento" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:12 -msgid "Edit Segment" -msgstr "Modifica segmento" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Indietro ai segmenti" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "Elimina segmento" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Crea regola" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "Regola" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Valore" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Usa % come carattere jolly, per esempio \"%test\" fa passare tutti i valori " -"che finiscono con \"test\"" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Usa corrispondenza esatta" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Usa range di corrispondenza" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Usa range di corrispondenza relativo" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "Da" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "giorni" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "prima di oggi" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "dopo di oggi" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "a" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Selezionati" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "Non selezionati" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Aggiungi regola" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:18 -#: views/reports/create-select-template.hbs:5 -#: views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Avanti" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "Cancella regola" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Corrispondi" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:13 -msgid "Segment" -msgstr "Segmento" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "Corrisponde alla regola" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Iscritti corrispondenti" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "mostra" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Aggiungi iscritto" - -#: views/lists/subscription/add.hbs:5 -#: views/subscription/partials/subscription-custom-fields.hbs:1 -#: views/users/account.hbs:7 -msgid "Email Address" -msgstr "Indirizzo Email" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:80 views/settings.hbs:95 -#: views/subscription/partials/subscription-custom-fields.hbs:6 -msgid "Begins with" -msgstr "Inizia con" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Inserisci chiave pubblica GPG che verrà usata per crittografare i messaggi " -"per questo iscritto" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Fuso orario" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Utente di test?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"Se selezionato, questa iscrizione può essere usata per l'anteprima dei " -"messaggi della campagna" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Questa persona non riceverà una email di conferma, quindi assicurati di " -"avere il permesso di inviargli emails." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Modifica iscrizione" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Indietro alla lista" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/partials/subscription-unsubscribe-form.hbs:1 -#: lib/helpers.js:42 lib/models/segments.js:11 -msgid "Email address" -msgstr "Indirizzo email" - -#: views/lists/subscription/edit.hbs:17 -msgid "Delete Subscription" -msgstr "Elimina iscrizione" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Stato dell' Import" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Indiirizzi falliti" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "" -"Role-based addresses like postmaster@example.com are blocked when importing. " -"Subscribers with role-based email addresses can join your list using the " -"subscription form" -msgstr "" -"Gli indirizzi di ruolo come postmaster@example.com sono bloccati durante " -"l'import. Questi indirizzi possono iscriversi alla tua lista con il form di " -"iscrizione online." - -#: views/lists/subscription/import-failed.hbs:7 -msgid "see here" -msgstr "guarda qui" - -#: views/lists/subscription/import-failed.hbs:9 -msgid "Fail reason" -msgstr "Motivo di errore" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Importa iscritti" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:21 -#: views/users/api.hbs:36 views/users/api.hbs:44 views/users/api.hbs:52 -#: views/users/api.hbs:64 views/users/api.hbs:75 views/users/api.hbs:83 -#: views/users/api.hbs:91 views/users/api.hbs:96 -msgid "Example" -msgstr "Esempio" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Inizia import" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "File CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "The first line must contain column headings" -msgstr "La prima linea deve contenere le intestazioni di colonna" - -#: views/lists/subscription/import.hbs:7 -msgid "CSV delimiter" -msgstr "Delimitatore file CSV" - -#: views/lists/subscription/import.hbs:8 -msgid "Categorize the imported subscribers as" -msgstr "Categorizza gli iscritti importati come" - -#: views/lists/subscription/import.hbs:9 routes/lists.js:206 -msgid "Subscribed" -msgstr "Iscritto" - -#: views/lists/subscription/import.hbs:10 -msgid "Regular subscriber addresses" -msgstr "Indirizzi regolari degli iscritti" - -#: views/lists/subscription/import.hbs:11 -msgid "Subscribed (Force)" -msgstr "Iscrizione (Forzata)" - -#: views/lists/subscription/import.hbs:12 -msgid "Regular subscriber addresses, resubscribe users that have unsubscribed" -msgstr "" -"Indirizzi regolari degli utenti registrati, riscrizione utenti che hanno " -"cancellato l'iscrizione" - -#: views/lists/subscription/import.hbs:14 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Email soppresse che saranno cancellate dalla tua lista" - -#: views/lists/subscription/import.hbs:15 -msgid "Check imported emails" -msgstr "Controlla le emails importate" - -#: views/lists/subscription/import.hbs:16 views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Abilitato" - -#: views/lists/subscription/import.hbs:17 views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Disabilitato" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Form di iscrizione" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Lista azioni" - -#: views/lists/view.hbs:9 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Crea innesco" - -#: views/lists/view.hbs:10 -msgid "Add Subscriber" -msgstr "Aggiungi iscrizione" - -#: views/lists/view.hbs:11 -msgid "Import Subscribers" -msgstr "Importa iscrizioni" - -#: views/lists/view.hbs:15 -msgid "Create New Segment" -msgstr "Crea nuovo segmento" - -#: views/lists/view.hbs:16 -msgid "Filter" -msgstr "Filtra" - -#: views/lists/view.hbs:17 -msgid "Subscriptions" -msgstr "Iscrizioni" - -#: views/lists/view.hbs:18 -msgid "Imports" -msgstr "Importazioni" - -#: views/lists/view.hbs:25 routes/campaigns.js:255 routes/lists.js:300 -msgid "Finished" -msgstr "Finito" - -#: views/lists/view.hbs:27 -msgid "Added" -msgstr "Aggiunto" - -#: views/lists/view.hbs:28 -msgid "Updated" -msgstr "Aggiornato" - -#: views/lists/view.hbs:29 -msgid "Failed" -msgstr "Errore" - -#: views/lists/view.hbs:31 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"Sei sicuro? Questa azione deve essere chiamata solo per risolvere " -"importazioni in stato di stallo" - -#: views/lists/view.hbs:32 -msgid "Restart" -msgstr "Riavvia" - -#: views/mosaico/editor.hbs:1 views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Referenza dei tag di merge" - -#: views/mosaico/editor.hbs:4 -msgid "MOSAICO Responsive Email Designer" -msgstr "MOSAICO REsponsive Email Designer" - -#: views/mosaico/editor.hbs:5 -msgid "Sucessfully saved" -msgstr "Salvato con successo" - -#: views/mosaico/editor.hbs:6 -msgid "An error occured while saving the document" -msgstr "Errore durante il salvataggio del documento" - -#: views/mosaico/editor.hbs:7 -msgid "Unsaved changes will be lost. Close now?" -msgstr "Le modifiche non salvate andranno perdute, Chiudere ora?" - -#: views/mosaico/editor.hbs:8 views/mosaico/editor.hbs:9 -msgid "Tags" -msgstr "Tags" - -#: views/partials/codeeditor.hbs:1 views/partials/grapejs.hbs:1 -#: views/partials/mosaico.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Contenuto template (HTML)" - -#: views/partials/editor-navbar.hbs:1 -msgid "SAVE" -msgstr "SALVA" - -#: views/partials/editor-navbar.hbs:2 -msgid "SAVING" -msgstr "STO SALVANDO" - -#: views/partials/editor-navbar.hbs:3 -msgid "CLOSE" -msgstr "CHIUDI" - -#: views/partials/grapejs.hbs:2 -msgid "Open GrapeJS" -msgstr "Apri GrapeJS" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Attiva anteprima HTML" - -#: views/partials/html-to-text.hbs:1 -msgid "" -"To extract the text from HTML click here." -msgstr "" -"Per estrarre il testo dal codice HTML clicca qui." - -#: views/partials/html-to-text.hbs:2 -msgid "" -"Please note that your existing plaintext in the field above will be " -"overwritten. This feature uses the Premailer API, a third party " -"service. Their Terms of Service and Privacy Policy apply." -msgstr "" -"Per favore nota che il tuo testo nel campo qui sopra verrà sovrascritto. " -"Questa caratteristica usa le Premailer API, un servizio di " -"terzi. I loro Termini per il servizio e la loro Privacy Policy è applicato." - -#: views/partials/html-to-text.hbs:3 -msgid "An error occurred while talking to the server" -msgstr "C'è stato un errore nel comunicare con il server" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge tags sono tags che sono sostituiti prima dell'invio del messaggio. Il " -"formato del merge tag è il seguente [TAG_NAME] oppure " -"[TAG_NAME/fallback] dove fallback è un valore " -"opzionale di testo utilizzato quando TAG_NAME è vuoto." - -#: views/partials/modal-carousel.hbs:1 -msgid "{{title}}" -msgstr "{{}}" - -#: views/partials/mosaico.hbs:2 -msgid "Open Mosaico" -msgstr "Apri Mosaico" - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Contenuto del template (test semplice)" - -#: views/report-templates/create.hbs:2 views/report-templates/edit.hbs:2 -#: views/report-templates/report-templates.hbs:2 -#: views/reports/create-select-template.hbs:2 views/reports/create.hbs:2 -#: views/reports/edit.hbs:2 views/reports/output.hbs:2 -#: views/reports/reports.hbs:2 views/reports/reports.hbs:5 -#: views/reports/view.hbs:2 lib/tools.js:144 routes/reports.js:31 -msgid "Reports" -msgstr "Reports" - -#: views/report-templates/create.hbs:4 views/report-templates/create.hbs:6 -#: views/report-templates/report-templates.hbs:4 views/templates/create.hbs:3 -#: views/templates/create.hbs:4 views/templates/create.hbs:12 -#: views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Crea template" - -#: views/report-templates/create.hbs:5 routes/report-templates.js:231 -msgid "Create Report Template" -msgstr "Crea Template di report" - -#: views/report-templates/edit.hbs:4 views/templates/edit.hbs:3 -#: views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Modifica Template" - -#: views/report-templates/edit.hbs:5 routes/report-templates.js:262 -msgid "Edit Report Template" -msgstr "Modifica template report" - -#: views/report-templates/edit.hbs:6 views/templates/edit.hbs:12 -msgid "Delete Template" -msgstr "Elimina template" - -#: views/report-templates/edit.hbs:7 -msgid "Update and Stay" -msgstr "Salva e continua" - -#: views/report-templates/edit.hbs:8 -msgid "Update and Leave" -msgstr "Salva ed esci" - -#: views/report-templates/partials/report-template-fields.hbs:2 -msgid "Template Name" -msgstr "Nome template" - -#: views/report-templates/partials/report-template-fields.hbs:6 -msgid "User selectable fields" -msgstr "Campi selezionabili dagli utenti" - -#: views/report-templates/partials/report-template-fields.hbs:7 -msgid "Data processing code" -msgstr "Codice che processa data" - -#: views/report-templates/partials/report-template-fields.hbs:8 -msgid "Rendering template" -msgstr "Template di rendering" - -#: views/report-templates/report-templates.hbs:5 -msgid "Blank" -msgstr "Vuoto" - -#: views/report-templates/report-templates.hbs:6 -msgid "All Subscribers" -msgstr "Tutti gli iscritti" - -#: views/report-templates/report-templates.hbs:7 -msgid "Grouped Subscribers" -msgstr "Iscritti raggruppati" - -#: views/report-templates/report-templates.hbs:8 -msgid "Export List as CSV" -msgstr "Esporta lista come CSV" - -#: views/report-templates/report-templates.hbs:9 views/reports/reports.hbs:4 -#: routes/report-templates.js:29 -msgid "Report Templates" -msgstr "Templates di report" - -#: views/reports/create-select-template.hbs:3 -#: views/reports/create-select-template.hbs:4 views/reports/create.hbs:3 -#: views/reports/create.hbs:4 views/reports/create.hbs:5 -#: views/reports/reports.hbs:3 routes/reports.js:81 -msgid "Create Report" -msgstr "Crea report" - -#: views/reports/edit.hbs:3 views/reports/edit.hbs:4 routes/reports.js:151 -msgid "Edit Report" -msgstr "Modifica Report" - -#: views/reports/edit.hbs:5 -msgid "Delete Report" -msgstr "Elimina report" - -#: views/reports/partials/report-fields.hbs:2 -msgid "Report Name" -msgstr "Nome report" - -#: views/reports/partials/report-fields.hbs:8 -#: views/reports/partials/report-fields.hbs:11 -msgid "" -"Select a campaign in the table above by clicking on the respective row " -"number." -msgstr "" -"Seleziona una campagna nella tabella qui sopra cliccando sul numero della " -"riga." - -#: views/reports/partials/report-select-template.hbs:1 -msgid "Report Template" -msgstr "Template del report" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Indirizzo del servizio (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Inserisci l'URL a cui puoi accedere a questo servizio" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "Email amministratore" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Inserisci l'indirizzo mail che verra' utilizzato nel campo \"Da\" per i " -"messaggi di sistemi" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Disabilita l'editor avanzato WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "" -"Se selezionato l'editor del messaggio visualizza il codice HTML senza " -"anteprima" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Disabilita i messaggi di conferma iscrizione" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"Se selezionato il software non invia messaggi di avvenuta iscrizione e " -"cancellazione. Questo non disabilita l'invio di messaggi per i link di " -"conferma delle azioni." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "ID Tracciamento" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Inserisci il codice di tracciamento di Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "Annuncio pagina iniziale" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Codice HTML visualizzato nell'header dell'home page" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "Valori predefiniti campagna" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Nome mittente" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nome mittente, per esempio : Super Compagnia S.r.l." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "Indirizzo predefinito" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Indirizzo fisico di contatto, per esempio: via Duomo 71, Milano, 20100 (MI)" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "Valore predefinito nome mittente" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "Valore predefinito email mittente" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "Valore predefinito oggetto" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "Valore predefinito sito (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "" -"URL a cui reindirizzare gli utenti iscritti alla newsletter, per esempio " -"http://example.com" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Impostazioni mailer" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Queste impostazioni sono richieste per inviare messaggi email" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "Usa SMTP per spedire le email" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Crittografia" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "Disabilita autenticazione SMTP" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Nome utente" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Nome utente (per esempio account@example.com)" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Regione" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Controllo" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Controlla la configurazione del mailer" - -#: views/settings.hbs:52 -msgid "Advanced Mailer settings" -msgstr "Impostazioni Mailer avanzate" - -#: views/settings.hbs:53 -msgid "Log SMTP transactions" -msgstr "" - -#: views/settings.hbs:54 -msgid "Allow self-signed certificates" -msgstr "" - -#: views/settings.hbs:55 -msgid "Max connections" -msgstr "Massime connessioni" - -#: views/settings.hbs:56 -msgid "The count of max connections, eg. 10" -msgstr "Numero massimo di connessioni (per esempio 10)" - -#: views/settings.hbs:57 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" - -#: views/settings.hbs:58 -msgid "Max messages" -msgstr "Massimo messaggi" - -#: views/settings.hbs:59 -msgid "The count of max messages, eg. 100" -msgstr "Il numero dei messaggi massimi, per esempio 1000" - -#: views/settings.hbs:60 -msgid "" -"The number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" - -#: views/settings.hbs:61 -msgid "Throttling" -msgstr "" - -#: views/settings.hbs:62 -msgid "Messages per hour eg. 1000" -msgstr "Messaggi all'ora" - -#: views/settings.hbs:63 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Numero di messaggi massimo da inviare all'ora. Lascia il campo vuoto o con 0 " -"per non rallentare. Se il tuo provider usa diversi limiti di velocità di " -"invio (messaggi al minuto o al secondo), converti il valore per adattarlo (1 " -"mail / secondo => 3600 mail / ora ). Questo valore è per ogni singolo " -"processo di invio." - -#: views/settings.hbs:64 -msgid "VERP bounce handling" -msgstr "" - -#: views/settings.hbs:65 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" - -#: views/settings.hbs:66 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" - -#: views/settings.hbs:67 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" - -#: views/settings.hbs:68 -msgid "Use VERP to catch bounces" -msgstr "" - -#: views/settings.hbs:69 -msgid "Server hostname" -msgstr "" - -#: views/settings.hbs:70 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "" - -#: views/settings.hbs:71 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" - -#: views/settings.hbs:72 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" - -#: views/settings.hbs:73 -msgid "GPG Signing" -msgstr "" - -#: views/settings.hbs:74 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" - -#: views/settings.hbs:75 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" - -#: views/settings.hbs:76 -msgid "Private Key Passphrase" -msgstr "" - -#: views/settings.hbs:77 -msgid "Passphrase for the key if set" -msgstr "" - -#: views/settings.hbs:78 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "" - -#: views/settings.hbs:79 -msgid "GPG Private Key" -msgstr "" - -#: views/settings.hbs:81 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" - -#: views/settings.hbs:82 -msgid "DKIM Signing by ZoneMTA" -msgstr "" - -#: views/settings.hbs:83 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" - -#: views/settings.hbs:84 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" - -#: views/settings.hbs:85 -msgid "ZoneMTA DKIM API Key" -msgstr "" - -#: views/settings.hbs:86 -msgid "Some secret value" -msgstr "" - -#: views/settings.hbs:87 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" - -#: views/settings.hbs:88 -msgid "DKIM domain" -msgstr "" - -#: views/settings.hbs:89 -msgid "Domain name for the DKIM key" -msgstr "" - -#: views/settings.hbs:90 -msgid "Leave blank to use the sender email address domain" -msgstr "" - -#: views/settings.hbs:91 views/settings.hbs:92 -msgid "DKIM key selector" -msgstr "" - -#: views/settings.hbs:93 -msgid "Signing is disabled without a valid selector value" -msgstr "" - -#: views/settings.hbs:94 -msgid "DKIM Private Key" -msgstr "" - -#: views/settings.hbs:96 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:1 -#: views/subscription/mail-already-subscribed-text.hbs:1 -#: lib/models/subscriptions.js:174 lib/models/subscriptions.js:895 -msgid "Email address already registered" -msgstr "Indirizzo email già registrato" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:2 -#: views/subscription/mail-already-subscribed-text.hbs:2 -msgid "" -"We have received a subscription request. Your email address is however " -"already registered." -msgstr "" -"Abbiamo ricevuto una richiesta di iscrizione alla nostra newsletter. La tua " -"email è già registrata." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:3 -#: views/subscription/mail-already-subscribed-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. Your existing " -"subscription won't be affected." -msgstr "" -"Se tu ricevi questa email per errore, cancellala semplicemente. La tua " -"registrazione non subirà alcuna modifica." - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:3 -msgid "If you want to modify your subscription then you can " -msgstr "Se vuoi modificare la tua iscrizione allora puoi" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:5 -#: views/subscription/mail-already-subscribed-text.hbs:5 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:4 -msgid "manage your preferences" -msgstr "gestire le tue preferenze" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:6 -#: views/subscription/mail-already-subscribed-text.hbs:6 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-subscription-confirmed-text.hbs:5 -#: views/users/login.hbs:10 -msgid "or" -msgstr "oppure" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:7 -#: views/subscription/mail-already-subscribed-text.hbs:7 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:6 -#: views/subscription/mail-subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "cancellare l'iscrizione qui" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:7 -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:3 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:3 -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:4 -#: views/subscription/web-subscribed-notice.mjml.hbs:4 -#: views/subscription/web-unsubscribed-notice.mjml.hbs:3 -#: views/subscription/web-updated-notice.mjml.hbs:3 -msgid "Return to our website" -msgstr "Torna sul nostro sito" - -#: views/subscription/mail-already-subscribed-html.mjml.hbs:9 -#: views/subscription/mail-already-subscribed-text.hbs:8 -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:4 -#: views/subscription/mail-confirm-address-change-text.hbs:4 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-subscription-text.hbs:4 -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:4 -#: views/subscription/mail-confirm-unsubscription-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:8 -#: views/subscription/mail-subscription-confirmed-text.hbs:7 -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:5 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "Per domande riguardanti questa newsletter, contatta:" - -#: views/subscription/mail-already-subscribed-text.hbs:4 -#: views/subscription/mail-subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "Se vuoi modificare la tua iscrizione allora puoi:" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:1 -#: views/subscription/mail-confirm-address-change-text.hbs:1 -msgid "Please Confirm Subscription Address Change" -msgstr "Per favore conferma il cambio dell'indirizzo dell'iscrizione" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:2 -#: views/subscription/mail-confirm-address-change-text.hbs:2 -msgid "Yes, subscribe this email address to the list" -msgstr "Sì, iscrivimi alla lista" - -#: views/subscription/mail-confirm-address-change-html.mjml.hbs:3 -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"Se ricevi questa email per errore, semplicemente cancellala. Non verrai " -"registrato se non clicchi sul link di conferma qui sopra." - -#: views/subscription/mail-confirm-address-change-text.hbs:3 -#: views/subscription/mail-confirm-subscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"Se ricevi questa email per errore, semplicemente cancellala. Non verrai " -"registrato se non clicchi sul link di conferma qui sopra." - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:1 -#: views/subscription/mail-confirm-subscription-text.hbs:1 -#: views/subscription/mail-confirm-unsubscription-text.hbs:1 -#: routes/subscription.js:432 -msgid "Please Confirm Subscription" -msgstr "Per favore conferma la tua iscrizione" - -#: views/subscription/mail-confirm-subscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-subscription-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Sì, iscrivimi a questa lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:1 -msgid "Please Confirm Unsubscription" -msgstr "Per favore conferma la cancellazione dell'iscrizione" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:2 -#: views/subscription/mail-confirm-unsubscription-text.hbs:2 -msgid "Yes, unsubscribe me from this list" -msgstr "Sì, cancella la mia iscrizione alla lista" - -#: views/subscription/mail-confirm-unsubscription-html.mjml.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed if you don't click the confirmation link above." -msgstr "" -"Se ricevi questo messaggio per errore, cancellalo pure. Non sarai cancellato " -"dalla tua iscrizione se non clicchi sul link di conferma." - -#: views/subscription/mail-confirm-unsubscription-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"unsubscribed unless you click the confirmation link above." -msgstr "" -"Se ricevi questo messaggio per errore, cancellalo pure. Non sarai cancellato " -"dalla tua iscrizione se non clicchi sul link di conferma." - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-subscription-confirmed-text.hbs:1 -#: views/subscription/web-subscribed-notice.mjml.hbs:1 -msgid "Subscription Confirmed" -msgstr "Iscrizione confermata" - -#: views/subscription/mail-subscription-confirmed-html.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed" -msgstr "La tua iscrizione alla nostra lista è stata confermata" - -#: views/subscription/mail-subscription-confirmed-text.hbs:2 -#: views/subscription/web-subscribed-notice.mjml.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "La tua iscrizione alla nostra lista è stata confermata." - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:1 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:1 -msgid "You Are Now Unsubscribed" -msgstr "La tua iscrizione è stata cancellata" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:2 -msgid "We have removed your email address from our list" -msgstr "Ti abbiamo rimosso dalla nostra lista" - -#: views/subscription/mail-unsubscription-confirmed-html.mjml.hbs:3 -#: views/subscription/mail-unsubscription-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "Se ti sei cancellato per sbaglio, puoi iscriverti nuovamente qui:" - -#: views/subscription/mail-unsubscription-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "Abbiamo rimosso la tua email dalla nostra lista." - -#: views/subscription/partials/subscription-custom-fields.hbs:2 -msgid "want to change it?" -msgstr "vuoi cambiarlo?" - -#: views/subscription/partials/subscription-custom-fields.hbs:5 -msgid "Download signature verification key" -msgstr "Scarica la chiave di verifica" - -#: views/subscription/partials/subscription-custom-fields.hbs:7 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Inserisci la tua chiave pubblica GPG qui per cifrare i messaggi inviati al " -"tuo server" - -#: views/subscription/partials/subscription-custom-fields.hbs:8 -msgid "optional" -msgstr "opzionale" - -#: views/subscription/partials/subscription-flash-messages.hbs:1 -#: views/subscription/partials/subscription-flash-messages.hbs:3 -msgid "Warning!" -msgstr "Attenzione!" - -#: views/subscription/partials/subscription-flash-messages.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "" -"Se JavaScript non è abilitato, non verrà inviato alcun messaggio di conferma" - -#: views/subscription/partials/subscription-flash-messages.hbs:4 -msgid "JavaScript must be enabled in order for this form to work" -msgstr "" -"JavaScript deve essere abilitato per il funzionamento di questo modulo da " -"compilare" - -#: views/subscription/partials/subscription-manage-address-form.hbs:1 -msgid "Existing Email Address" -msgstr "Indirizzo email esistente" - -#: views/subscription/partials/subscription-manage-address-form.hbs:2 -msgid "New Email Address" -msgstr "Nuovo indirizzo email" - -#: views/subscription/partials/subscription-manage-address-form.hbs:3 -msgid "Your new email address" -msgstr "Il tuo nuovo indirizzo email" - -#: views/subscription/partials/subscription-manage-address-form.hbs:4 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Riceverai una richiesta di conferma al tuo nuovo indirizzo di posta e devi " -"confermarlo per far sì che la modifica abbia effetto" - -#: views/subscription/partials/subscription-manage-address-form.hbs:5 -#: views/subscription/web-manage-address.mjml.hbs:2 -msgid "Update Email Address" -msgstr "Aggiorna indirizzo email" - -#: views/subscription/partials/subscription-manage-form.hbs:1 -#: views/subscription/web-manage.mjml.hbs:2 -msgid "Update Profile" -msgstr "Aggiorna profilo" - -#: views/subscription/partials/subscription-subscribe-form.hbs:1 -#: views/subscription/web-subscribe.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:1 -msgid "Subscribe to list" -msgstr "Iscrivita alla lista" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:1 -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:1 -#: views/subscription/widget-subscribe.hbs:4 -msgid "Almost Finished" -msgstr "Quasi finito" - -#: views/subscription/web-confirm-subscription-notice.mjml.hbs:2 -#: views/subscription/widget-subscribe.hbs:5 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Dobbiamo confermare il tuo indirizzo email. Per completare l'iscrizione, " -"clicca sul link che ti abbiamo inviato al tuo indirizzo email." - -#: views/subscription/web-confirm-unsubscription-notice.mjml.hbs:2 -msgid "" -"We need to confirm your email address. To complete the unsubscription " -"process, please click the link in the email we just sent you." -msgstr "" -"Abbiamo bisogno che confermi il tuo indirizzo email. Per completare il " -"processo di rimossione, si prega di cliccare il link che ti abbiamo appena " -"spedito." - -#: views/subscription/web-manage-address.mjml.hbs:1 -msgid "Update Your Email Address" -msgstr "Aggiorna il tuo indirizzo email" - -#: views/subscription/web-manage.mjml.hbs:1 -msgid "Update Your Preferences" -msgstr "Aggiorna le tue preferenze" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:1 -msgid "Online Unsubscription Is Not Possible" -msgstr "La rimozione dell'iscrizione non è fattibile online" - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:2 -msgid "Please contact us at" -msgstr "Puoi contattarci all'indirizzo " - -#: views/subscription/web-manual-unsubscribe-notice.mjml.hbs:3 -msgid "to get removed from the list" -msgstr "per essere rimosso dalla lista" - -#: views/subscription/web-subscribe.mjml.hbs:1 -msgid "Subscribe to List" -msgstr "Iscriviti alla lista" - -#: views/subscription/web-subscribed-notice.mjml.hbs:3 -msgid "Thank you for subscribing!" -msgstr "Grazie per la tua iscrizione!" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Rimozione eseguita con successo" - -#: views/subscription/web-unsubscribed-notice.mjml.hbs:2 -msgid "You have been removed from:" -msgstr "Se stato rimosso da:" - -#: views/subscription/web-updated-notice.mjml.hbs:1 -msgid "Profile Updated" -msgstr "Profilo Aggiornato" - -#: views/subscription/web-updated-notice.mjml.hbs:2 -msgid "Your profile information has been updated." -msgstr "Le informazioni del tuo profilo sono stato aggiornate." - -#: views/subscription/widget-subscribe.hbs:2 -msgid "Sending ..." -msgstr "Invio ..." - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "Sembra che tu ti sia già iscritto a questa lista." - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nome Template" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nome di questo template eg. Newsletter promozioni" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Editor HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Commenti opzionali per questo template" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Indietro ai templates" - -#: views/templates/edit.hbs:11 -msgid "Duplicate" -msgstr "Duplica" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Trigger di automazione" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Seleziona una lista per questo trigger" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nome trigger" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nome per questo trigger, per esempio: iscritti inattivi" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Commenti opzionali per questo trigger" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "Regola trigger" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Attivazione trigger" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "dopo giorni:" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Evento" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Campagna" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Azione trigger" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "Invia campagna" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Modifica trigger" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Indietro ai triggers" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Il trigger è abilitato" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "Elimina trigger" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "Trigger azionato" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "Iscritti con trigger azionati" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Iscritti che hanno azionato questo trigger" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Ora azionamento Trigger" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Campagna targetizzata" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Conteggio trigger azionati" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "Questo account è controllato tramite LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "Indirizzo email associato" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Il tuo indirizzo email" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "Questo indirizzo è utilizzato per il recupero della password" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Cambia password" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "" -"Hai bisogno di completare questo form solo se vuoi cambiare la tua password " -"attuale" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Password attuale" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nuova password" - -#: views/users/account.hbs:16 views/users/reset.hbs:8 -msgid "Confirm Password" -msgstr "Conferma password" - -#: views/users/account.hbs:17 views/users/reset.hbs:9 -msgid "Confirm New Password" -msgstr "Conferma nuova password" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "Sei sicuro? Il reset invaliderà i tokens che esistono al momento" - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "Sei sicuro?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Resetta token di accesso" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Genera token di accesso" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Token di accesso personale:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Token di accesso non generato" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Note sull'API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"La risposta API è una struttura JSON con proprietà error e " -"data. Se la risposta ha il valore error impostato, " -"la richiesta è fallita." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Devi definire il giusto Content-Type quando esegui una " -"richiesta. Puoi usare application/x-www-form-urlencoded per i " -"dati dei form normali, oppure application/json per JSON " -"payload. Non è supportato multipart/form-data." - -#: views/users/api.hbs:13 -msgid "Get list of subscriptions" -msgstr "Ottieni lista delle iscrizioni" - -#: views/users/api.hbs:14 -msgid "" -"Retrieve a list of subscriptions to the list referenced by :listId. All " -"fields of the subscribers will be returned. Note that custom fields will " -"have generated names." -msgstr "" -"Ottieni una lista delle iscrizioni alla lista :listId. Tutti i campi degli " -"iscritti saranno restituiti. Nota che i campi personalizzati avranno dei " -"nomi automaticamente generati." - -#: views/users/api.hbs:15 views/users/api.hbs:24 views/users/api.hbs:26 -#: views/users/api.hbs:39 views/users/api.hbs:41 views/users/api.hbs:47 -#: views/users/api.hbs:49 views/users/api.hbs:55 views/users/api.hbs:57 -#: views/users/api.hbs:67 views/users/api.hbs:78 views/users/api.hbs:80 -#: views/users/api.hbs:86 views/users/api.hbs:88 views/users/api.hbs:94 -msgid "arguments" -msgstr "argomenti" - -#: views/users/api.hbs:16 views/users/api.hbs:25 views/users/api.hbs:40 -#: views/users/api.hbs:48 views/users/api.hbs:56 views/users/api.hbs:68 -#: views/users/api.hbs:79 views/users/api.hbs:87 views/users/api.hbs:95 -msgid "your personal access token" -msgstr "il tuo token di accesso personale" - -#: views/users/api.hbs:17 views/users/api.hbs:69 -msgid "Start position" -msgstr "Posizionale di inizio" - -#: views/users/api.hbs:18 views/users/api.hbs:70 -msgid "optional, default 0" -msgstr "opzionale, 0 di default" - -#: views/users/api.hbs:19 -msgid "limit subscription count in response" -msgstr "limita il numero di iscrizioni in risposta" - -#: views/users/api.hbs:20 views/users/api.hbs:72 -msgid "optional, default 10000" -msgstr "opzionale, default 10000" - -#: views/users/api.hbs:22 -msgid "Add subscription" -msgstr "Aggiungi iscrizione" - -#: views/users/api.hbs:23 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"Questa chiamata API aggiunge o aggiorna una iscrizione. I campi non inclusi " -"saranno lasciati come erano, quindi se si aggiorna LAST_NAME, FIRST_NAME " -"rimarrà invariato per quella iscrizione." - -#: views/users/api.hbs:27 views/users/api.hbs:42 views/users/api.hbs:50 -msgid "subscriber's email address" -msgstr "indirizzo email dell'iscritto" - -#: views/users/api.hbs:28 views/users/api.hbs:43 views/users/api.hbs:51 -#: views/users/api.hbs:59 views/users/api.hbs:82 views/users/api.hbs:90 -msgid "required" -msgstr "richiesto" - -#: views/users/api.hbs:29 -msgid "subscriber's first name" -msgstr "nome dell'iscritto" - -#: views/users/api.hbs:30 -msgid "subscriber's last name" -msgstr "cognome dell'iscritto" - -#: views/users/api.hbs:31 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"timezone dell'iscritto (esempio: \"Europe/Tallinn\", \"PST\" or \"UTC\"). Se " -"non impostato il valore di default è \"UTC\"" - -#: views/users/api.hbs:32 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"valore dei campi personalizzati. Usa si/no per i valori dei gruppi di " -"opzioni (checkboxes, radios, drop downs) " - -#: views/users/api.hbs:33 -msgid "Additional POST arguments" -msgstr "" - -#: views/users/api.hbs:34 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"selezionare \"sì\" se vuoi essere sicuro che la mail venga salvata come " -"iscritta anche se precedentemente cancellata. Se la mail si era già " -"cancellata o bloccata, lo stato di iscrizione non cambierà." - -#: views/users/api.hbs:35 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"selezionare \"sì\" se vuoi inviare la mail di conferma all'email " -"delliscrizione prima di salvarlo come iscritto" - -#: views/users/api.hbs:37 -msgid "Remove subscription" -msgstr "Rimuovi iscrizione" - -#: views/users/api.hbs:38 -msgid "This API call marks a subscription as unsubscribed" -msgstr "Questa chiamata API segna una iscrizione come rimossa." - -#: views/users/api.hbs:45 -msgid "Delete subscription" -msgstr "Cancella iscrizione" - -#: views/users/api.hbs:46 -msgid "This API call deletes a subscription" -msgstr "Questa API cancella una iscrizione" - -#: views/users/api.hbs:53 -msgid "Add new custom field" -msgstr "Aggiungi un campo personalizzato" - -#: views/users/api.hbs:54 -msgid "This API call creates a new custom field for a list." -msgstr "Questa chiamata API crea un nuovo campo personalizzato per una lista." - -#: views/users/api.hbs:58 -msgid "field name" -msgstr "nome campo" - -#: views/users/api.hbs:60 -msgid "one of the following types:" -msgstr "uno dei seguenti tipi:" - -#: views/users/api.hbs:61 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "" -"Se il tipo è 'option' devi anche specificare l'ID dell'elemento parente" - -#: views/users/api.hbs:62 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" -"Template per il gruppo di elementi. Se non impostato, allora i valori " -"verranno separati da una virgola" - -#: views/users/api.hbs:63 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" -"se non visibile l'iscritto non potrà modificare questo valore nella pagina " -"del profilo" - -#: views/users/api.hbs:65 -msgid "Get list of blacklisted emails" -msgstr "Ottieni emails in lista nera" - -#: views/users/api.hbs:66 -msgid "This API call get list of blacklisted emails." -msgstr "Questa chiamata API ottiene una lista delle email in lista nera." - -#: views/users/api.hbs:71 -msgid "limit emails count in response" -msgstr "limita il numero di emails nella risposta" - -#: views/users/api.hbs:73 -msgid "filter by part of email" -msgstr "filtra per parte della email" - -#: views/users/api.hbs:74 -msgid "optional, default ''" -msgstr "opzionale, default ''" - -#: views/users/api.hbs:77 -msgid "This API call either add emails to blacklist" -msgstr "Questa chiamata API aggiunge emails alla lista nera" - -#: views/users/api.hbs:81 views/users/api.hbs:89 -msgid "email address" -msgstr "indirizzo email" - -#: views/users/api.hbs:84 -msgid "Delete email from blacklist" -msgstr "Cancella email dalla lista nera." - -#: views/users/api.hbs:85 -msgid "This API call either delete emails from blacklist" -msgstr "Questa chiamata API cancella emails dalla lista nera" - -#: views/users/api.hbs:92 -msgid "Get the lists a user has subscribed to" -msgstr "Ottini le listi a cui un utente si è iscritto" - -#: views/users/api.hbs:93 -msgid "Retrieve the lists that the user with :email has subscribed to. " -msgstr "Ottieni le liste a cui l'utente con :email si è iscritto" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Resetta password" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Resettare la password?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Gli accounts sono gestiti tramite LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Resetta password" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Si prega di inserire lo username o la email inserita al momento della " -"registrazione." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "Ti invieremo una email che ti permetterà di cambiare password." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Username o email" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "Invia email di verifica" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "Ricordati di me" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "Password dimenticata?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Scegli la tua nuova password" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Inserire una nuova password." - -#: lib/editor-helpers.js:17 routes/templates.js:95 -msgid "Could not find template with specified ID" -msgstr "Template con l'ID specificato non trovato" - -#: lib/editor-helpers.js:33 routes/archive.js:145 routes/campaigns.js:131 -#: routes/campaigns.js:284 routes/campaigns.js:379 routes/campaigns.js:427 -#: routes/campaigns.js:467 routes/campaigns.js:844 routes/campaigns.js:867 -#: routes/campaigns.js:886 routes/campaigns.js:908 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "Campagna con l'ID specificato non trovata" - -#: lib/editor-helpers.js:47 routes/editorapi.js:320 -msgid "Invalid resource type" -msgstr "Tipo di risorsa invalida" - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "Codice %s di stato sbagliato " - -#: lib/helpers.js:33 -msgid "URL that points to the unsubscribe page" -msgstr "URL per la pagina di rimozione dall'iscrizione" - -#: lib/helpers.js:36 -msgid "URL that points to the preferences page of the subscriber" -msgstr "URL per la pagina delle preferenze dell'iscritto" - -#: lib/helpers.js:39 -msgid "URL to preview the message in a browser" -msgstr "URL per l'anteprima del messaggio nel browser" - -#: lib/helpers.js:45 lib/models/segments.js:31 -msgid "First name" -msgstr "Nome" - -#: lib/helpers.js:48 lib/models/segments.js:35 -msgid "Last name" -msgstr "Cognome" - -#: lib/helpers.js:51 -msgid "Full name (first and last name combined)" -msgstr "Nome e Cognome" - -#: lib/helpers.js:54 -msgid "Unique ID that identifies the recipient" -msgstr "ID unico che identifica il destinatario" - -#: lib/helpers.js:57 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "ID unico che identifica la lista usata per questa campagna" - -#: lib/helpers.js:60 -msgid "Unique ID that identifies current campaign" -msgstr "ID unico che identifica la campagna corrente" - -#: lib/helpers.js:68 lib/helpers.js:80 -msgid "content from an RSS entry" -msgstr "contenuto dal messaggio RSS" - -#: lib/helpers.js:71 -msgid "RSS entry title" -msgstr "Titolo RSS entry" - -#: lib/helpers.js:74 -msgid "RSS entry date" -msgstr "" - -#: lib/helpers.js:77 -msgid "RSS entry link" -msgstr "" - -#: lib/helpers.js:83 -msgid "RSS entry summary" -msgstr "" - -#: lib/helpers.js:86 -msgid "RSS entry image URL" -msgstr "" - -#: lib/mailer.js:245 -msgid "Invalid mail transport" -msgstr "Trasporto mail invalido" - -#: lib/models/campaigns.js:105 lib/models/campaigns.js:132 -#: lib/models/campaigns.js:205 lib/models/campaigns.js:328 -#: lib/models/campaigns.js:590 lib/models/campaigns.js:723 -msgid "Missing Campaign ID" -msgstr "ID campagna mancante" - -#: lib/models/campaigns.js:241 -msgid "Emtpy or too large attahcment" -msgstr "Allegato troppo grande o mancante" - -#: lib/models/campaigns.js:408 lib/models/campaigns.js:600 -msgid "Campaign Name must be set" -msgstr "Il nome della campagna è obbligatorio" - -#: lib/models/campaigns.js:412 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" - -#: lib/models/campaigns.js:568 -msgid "Selected template not found" -msgstr "Template selezionato non trovato" - -#: lib/models/campaigns.js:924 -msgid "Invalid or missing message ID" -msgstr "ID messaggio mancante o invalido" - -#: lib/models/campaigns.js:1065 -msgid "Unrecognized message status" -msgstr "Stato del messaggio non riconosciuto" - -#: lib/models/confirmations.js:27 -msgid "Could not store confirmation data" -msgstr "Impossibile salvare i dati di conferma" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Drop Down" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Data (MM/GG/AAAA)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "Valore JSON per visualizzazione personalizzata" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Opzione" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/forms.js:46 lib/models/lists.js:115 lib/models/lists.js:150 -#: lib/models/lists.js:264 lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:79 lib/models/subscriptions.js:390 -#: lib/models/subscriptions.js:566 lib/models/subscriptions.js:657 -#: lib/models/subscriptions.js:710 lib/models/subscriptions.js:773 -#: lib/models/subscriptions.js:816 -msgid "Missing List ID" -msgstr "ID lista mancante" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Il campo Option richiede la selezione di un gruppo" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "ID campo manvante" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Il nome del campo deve essere impostato" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Campo personalizzato non trovato" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Tipo di colonna %s non riconosciuto" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "nome colonna mancante" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "ID lista mancante" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "ID lista non trovato" - -#: lib/models/forms.js:70 lib/models/forms.js:113 lib/models/forms.js:201 -#: lib/models/forms.js:291 -msgid "Missing Form ID" -msgstr "ID Form mancante" - -#: lib/models/forms.js:121 lib/models/forms.js:205 -msgid "Form Name must be set" -msgstr "Il nome del form è obbligatorio" - -#: lib/models/forms.js:307 -msgid "Custom form not found" -msgstr "Form personalizzato non trovato" - -#: lib/models/links.js:337 routes/campaigns.js:533 routes/campaigns.js:581 -#: routes/campaigns.js:621 routes/campaigns.js:671 services/sender.js:305 -msgid "Campaign not found" -msgstr "Campagna non trovata" - -#: lib/models/links.js:345 routes/lists.js:181 services/sender.js:312 -msgid "List not found" -msgstr "Lista non trovat" - -#: lib/models/links.js:353 -msgid "Subscription not found" -msgstr "Iscrizione non trovata" - -#: lib/models/lists.js:166 lib/models/lists.js:210 -msgid "List Name must be set" -msgstr "Il nome della lista è obbligatorio" - -#: lib/models/lists.js:293 -msgid "Missing List CID" -msgstr "CID lista mancante" - -#: lib/models/report-templates.js:26 lib/models/report-templates.js:70 -#: lib/models/report-templates.js:142 -msgid "Missing report template ID" -msgstr "ID template di reportistica mancante" - -#: lib/models/report-templates.js:77 -msgid "Report template name must be set" -msgstr "Il nome del template di report è obbligatorio" - -#: lib/models/reports.js:40 lib/models/reports.js:110 lib/models/reports.js:188 -msgid "Missing report ID" -msgstr "ID report mancante" - -#: lib/models/reports.js:116 -msgid "Report name must be set" -msgstr "Il nome del report è obblicatorio" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Nazione di registrazione" - -#: lib/models/segments.js:19 lib/models/triggers.js:12 -msgid "Sign up date" -msgstr "Data registrazione" - -#: lib/models/segments.js:23 lib/models/triggers.js:16 -msgid "Latest open" -msgstr "Ultima apertura" - -#: lib/models/segments.js:27 lib/models/triggers.js:20 -msgid "Latest click" -msgstr "Ultimo click" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "ID segmento mancante" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "Segmento non trovato" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s giorni a partire da oggi" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "$s giorni fa" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "oggi" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "Tipo di regola del segmento non valido" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Segmento selezionato non trovato" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "Tipo di regola non valida" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "ID regola mancante" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "Regola specificata non trovata" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "Segmento selezionato non trovato" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "Regola selezionata non trovata" - -#: lib/models/subscriptions.js:257 lib/models/subscriptions.js:287 -#: lib/models/subscriptions.js:394 -msgid "Missing Subscription ID" -msgstr "ID iscrizione mancante" - -#: lib/models/subscriptions.js:315 -msgid "Missing Subscription email address" -msgstr "Indirizzo email di iscrizione mancante" - -#: lib/models/subscriptions.js:570 lib/models/subscriptions.js:820 -msgid "Missing subscription ID" -msgstr "ID di iscrizione mancante" - -#: lib/models/subscriptions.js:661 lib/models/subscriptions.js:714 -#: lib/models/subscriptions.js:750 -msgid "Missing Import ID" -msgstr "ID di import mancante" - -#: lib/models/subscriptions.js:842 -msgid "Unknown subscription ID" -msgstr "ID iscrizione sconosciuto" - -#: lib/models/subscriptions.js:847 routes/subscription.js:639 -msgid "Nothing seems to be changed" -msgstr "Nulla sembra essere cambiato" - -#: lib/models/subscriptions.js:913 routes/subscription.js:473 -#: routes/subscription.js:545 routes/subscription.js:581 -#: routes/subscription.js:697 routes/subscription.js:772 -msgid "Subscription not found in this list" -msgstr "Iscrizione non trovata nella lista" - -#: lib/models/templates.js:26 lib/models/templates.js:102 -#: lib/models/templates.js:157 -msgid "Missing Template ID" -msgstr "ID template mancante" - -#: lib/models/templates.js:55 lib/models/templates.js:106 -msgid "Template Name must be set" -msgstr "Nome template obbligatorio" - -#: lib/models/templates.js:147 -msgid "Template does not exist" -msgstr "Il template non esiste" - -#: lib/models/triggers.js:29 -msgid "Has Opened" -msgstr "Ha aperto" - -#: lib/models/triggers.js:32 -msgid "Has Clicked" -msgstr "Ha cliccato" - -#: lib/models/triggers.js:35 -msgid "Not Opened" -msgstr "Non aperto" - -#: lib/models/triggers.js:38 -msgid "Not Clicked" -msgstr "Non cliccato" - -#: lib/models/triggers.js:178 lib/models/triggers.js:215 -msgid "Missing or invalid list ID" -msgstr "ID Lista mancante on non valido" - -#: lib/models/triggers.js:182 lib/models/triggers.js:267 -msgid "Days in the past are not allowed" -msgstr "Giorni nel passato non sono permessi" - -#: lib/models/triggers.js:186 lib/models/triggers.js:207 -#: lib/models/triggers.js:271 lib/models/triggers.js:292 -msgid "Missing or invalid trigger rule" -msgstr "Regola di trigger mancante o non valido" - -#: lib/models/triggers.js:193 lib/models/triggers.js:278 -msgid "Invalid subscription configuration" -msgstr "Configurazione di iscrizione non valida" - -#: lib/models/triggers.js:200 lib/models/triggers.js:285 -msgid "Invalid campaign configuration" -msgstr "Configurazione della campagna non valid" - -#: lib/models/triggers.js:203 lib/models/triggers.js:288 -msgid "A campaing can not be a target for itself" -msgstr "Una campagna non può' essere il target di sè stessa" - -#: lib/models/triggers.js:236 -msgid "Could not store trigger row" -msgstr "Impossibile salvare la riga di trigger" - -#: lib/models/triggers.js:253 -msgid "Missing or invalid Trigger ID" -msgstr "ID trigger mancante o non valido" - -#: lib/models/triggers.js:320 -msgid "Missing Trigger ID" -msgstr "ID trigger mancante" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "Impossibile salvare riga utente" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "Indirizzo email obbligatorio" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Controllo dati inseriti fallito" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"Impossibile cambiare indirizzo email poiché esiste un account già associato " -"all'indirizzo" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "Password corrente errata" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Nuova password non impostata" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "Le password non corrispondono" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "ID utente non impostato" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Il nome utente è obbligatorio" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Richiesta cambio password del Mailer" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "nome utente o tocken di accesso invalido" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "Nuova password non valida" - -#: lib/passport.js:49 -msgid "%s logged out" -msgstr "%s è uscito" - -#: lib/passport.js:63 -msgid "Failed to authenticate user" -msgstr "Impossibile verificare utente" - -#: lib/passport.js:79 -msgid "Logged in as %s" -msgstr "Connesso come %s" - -#: lib/passport.js:179 -msgid "Incorrect username or password" -msgstr "Nome utente o password errata" - -#: lib/subscription-mail-helpers.js:28 -msgid "%s: Subscription Confirmed" -msgstr "%s: Iscrizione confermata" - -#: lib/subscription-mail-helpers.js:39 -msgid "%s: Email Address Already Registered" -msgstr "%s: Indirizzo email già iscritto" - -#: lib/subscription-mail-helpers.js:49 -msgid "%s: Please Confirm Email Change in Subscription" -msgstr "%s: Per favore conferma il cambio di indirizzo email nell'iscrizione" - -#: lib/subscription-mail-helpers.js:59 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Per favore conferma la tua iscrizione" - -#: lib/subscription-mail-helpers.js:69 -msgid "%s: Please Confirm Unsubscription" -msgstr "%s: Per favore conferma l'intenzione di rimuovere l'iscrizione" - -#: lib/subscription-mail-helpers.js:76 -msgid "%s: Unsubscription Confirmed" -msgstr "%s: Rimozione dell'iscrizione confermata" - -#: lib/tools.js:154 -msgid "Blocked email address \"%s\"" -msgstr "Email \"%s\" bloccata" - -#: lib/tools.js:163 -msgid "Invalid email address \"%s\"." -msgstr "Email \"%s\" invalida." - -#: lib/tools.js:166 -msgid "MX record not found for domain" -msgstr "Non trovo gli MX records per il dominio" - -#: lib/tools.js:169 -msgid "Address domain not found" -msgstr "Dominio dell'indirizzo non trovato" - -#: lib/tools.js:172 -msgid "Address domain name is required" -msgstr "Il dominio dell'indirizzo è obbligatorio" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:230 -msgid "Not Found" -msgstr "Non trovato" - -#: routes/archive.js:121 services/sender.js:449 -msgid "Received status code %s from %s" -msgstr "Ricevuto codice di stato %s da %s" - -#: routes/archive.js:153 routes/campaigns.js:894 -msgid "Attachment not found" -msgstr "Allegato non trovato" - -#: routes/blacklist.js:13 routes/campaigns.js:26 routes/editorapi.js:32 -#: routes/fields.js:13 routes/forms.js:16 routes/grapejs.js:15 -#: routes/lists.js:50 routes/mosaico.js:14 routes/report-templates.js:20 -#: routes/reports.js:22 routes/segments.js:13 routes/settings.js:23 -#: routes/templates.js:18 routes/triggers.js:18 routes/users.js:75 -#: routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Devi aver effettuato l'accesso per accedere ai contenuti riservati" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "Impossibile creare la campagna" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Campagna \"%s\" creata" - -#: routes/campaigns.js:209 -msgid "Campaign settings updated" -msgstr "Impostazioni della campagna aggiornate" - -#: routes/campaigns.js:211 -msgid "Campaign settings not updated" -msgstr "Impostazioni della campagna non aggiornata" - -#: routes/campaigns.js:227 routes/campaigns.js:744 -msgid "Campaign deleted" -msgstr "Campagna eliminata" - -#: routes/campaigns.js:229 routes/campaigns.js:746 -msgid "Could not delete specified campaign" -msgstr "Impossibile cancellare la campagna selezionata" - -#: routes/campaigns.js:248 -msgid "Idling" -msgstr "Aspettando" - -#: routes/campaigns.js:251 -msgid "Scheduled" -msgstr "In programma" - -#: routes/campaigns.js:257 -msgid "Paused" -msgstr "In pausa" - -#: routes/campaigns.js:259 -msgid "Inactive" -msgstr "Inattiva" - -#: routes/campaigns.js:261 -msgid "Active" -msgstr "Attiva" - -#: routes/campaigns.js:263 -msgid "Other" -msgstr "Altro" - -#: routes/campaigns.js:421 -msgid "Unknown status selector" -msgstr "Selettore di stato non trovato" - -#: routes/campaigns.js:762 -msgid "Scheduled sending" -msgstr "Invio programmato" - -#: routes/campaigns.js:764 -msgid "Could not schedule sending" -msgstr "Impossibile programmare l'invio" - -#: routes/campaigns.js:776 -msgid "Sending resumed" -msgstr "Invio ripreso" - -#: routes/campaigns.js:778 -msgid "Could not resume sending" -msgstr "Impossibile riprendere invio" - -#: routes/campaigns.js:790 -msgid "Sending reset" -msgstr "Reset invio" - -#: routes/campaigns.js:792 -msgid "Could not reset sending" -msgstr "Impossibile resettare l'invio" - -#: routes/campaigns.js:804 routes/campaigns.js:832 -msgid "Sending paused" -msgstr "Invio in pausa" - -#: routes/campaigns.js:806 routes/campaigns.js:834 -msgid "Could not pause sending" -msgstr "Impossibile mettere in pausa l'invio" - -#: routes/campaigns.js:818 -msgid "Sending activated" -msgstr "Invio attivato" - -#: routes/campaigns.js:820 -msgid "Could not activate sending" -msgstr "Impossibile attivare l'invio" - -#: routes/campaigns.js:855 -msgid "Attachment uploaded" -msgstr "Allegato caricato" - -#: routes/campaigns.js:857 -msgid "Could not store attachment" -msgstr "Impossibile salvare allegato" - -#: routes/campaigns.js:874 -msgid "Attachment deleted" -msgstr "Allegato eliminato" - -#: routes/campaigns.js:876 -msgid "Could not delete attachment" -msgstr "Impossibile eliminare allegato" - -#: routes/editorapi.js:38 -msgid "Invalid editor name" -msgstr "Nome editor invalido" - -#: routes/editorapi.js:146 -msgid "Method not supported" -msgstr "Metodo non supportato" - -#: routes/editorapi.js:381 -msgid "Invalid resource type or ID" -msgstr "ID o tipo di risorsa invalido" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/forms.js:31 routes/forms.js:63 routes/forms.js:94 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "ID lista selezionata non trovata" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Impossibile creare campo personalizzato" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Campo selezionato non trovato" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Impostazioni campo aggiornate" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Impostazioni campo non aggiornate" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Campo personalizzato eliminato" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Impossibile eliminare campo specificato" - -#: routes/forms.js:78 -msgid "Could not create custom form" -msgstr "Impossibile creare campo personalizzato" - -#: routes/forms.js:105 -msgid "Selected form not found" -msgstr "Form selezionato non trovato" - -#: routes/forms.js:136 -msgid "The plaintext version for this email" -msgstr "La versione di solo testo della mail" - -#: routes/forms.js:137 -msgid "Custom forms use MJML for formatting" -msgstr "I form personalizzati usano MJML per la formattazione" - -#: routes/forms.js:138 -msgid "See the MJML documentation here" -msgstr "" -"Guarda la documentazione di MJML qui" - -#: routes/forms.js:146 -msgid "Layout" -msgstr "Layout" - -#: routes/forms.js:152 -msgid "Form Input Style" -msgstr "Stile input del form" - -#: routes/forms.js:154 -msgid "" -"This CSS stylesheet defines the appearance of form input elements and alerts" -msgstr "" -"Questo stylesheet CSS definisce lo stile degli elementi di input dei form e " -"degli alert" - -#: routes/forms.js:160 -msgid "Web - Subscribe" -msgstr "Web - Iscriviti" - -#: routes/forms.js:165 -msgid "Web - Confirm Subscription Notice" -msgstr "Web - Notifica di conferma dell'iscrizione" - -#: routes/forms.js:170 -msgid "Mail - Confirm Subscription (MJML)" -msgstr "Mail - Conferma di iscrizione (MJML)" - -#: routes/forms.js:175 -msgid "Mail - Confirm Subscription (Text)" -msgstr "Mail - Conferma di iscrizione (Testo)" - -#: routes/forms.js:180 -msgid "Mail - Already Subscribed (MJML)" -msgstr "Mail - Già iscritto (MJML)" - -#: routes/forms.js:185 -msgid "Mail - Already Subscribed (Text)" -msgstr "Mail - Già iscritto (Testo)" - -#: routes/forms.js:190 -msgid "Web - Subscribed Notice" -msgstr "Web - Notifica di iscrizione" - -#: routes/forms.js:195 -msgid "Mail - Subscription Confirmed (MJML)" -msgstr "Mail - Conferma di iscrizione (MJML)" - -#: routes/forms.js:200 -msgid "Mail - Subscription Confirmed (Text)" -msgstr "Mail - Conferma di iscrizione (Testo)" - -#: routes/forms.js:208 -msgid "Web - Manage Preferences" -msgstr "Web - Gestisci l preferenze" - -#: routes/forms.js:213 -msgid "Web - Manage Address" -msgstr "Web - Gestisci indirizzo" - -#: routes/forms.js:218 -msgid "Web - Updated Notice" -msgstr "Web - Notifica di aggiornamento" - -#: routes/forms.js:226 -msgid "Web - Unsubscribe" -msgstr "Web - Rimozione iscrizione" - -#: routes/forms.js:231 -msgid "Web - Confirm Unsubscription Notice" -msgstr "Web - Conferma la notifica di rimozione dell'iscrizione" - -#: routes/forms.js:236 -msgid "Mail - Confirm Unsubscription (MJML)" -msgstr "Mail - Conferma la rimozione dell'iscrizione (MJML)" - -#: routes/forms.js:241 -msgid "Mail - Confirm Unsubscription (Text)" -msgstr "Mail - Conferma la rimozione dell'iscrizione (Text)" - -#: routes/forms.js:246 -msgid "Mail - Confirm Address Change (MJML)" -msgstr "Mail - Conferma il cambio di indirizzo (MJML)" - -#: routes/forms.js:251 -msgid "Mail - Confirm Address Change (Text)" -msgstr "Mail - Conferma il cambio di indirizzo (Testo)" - -#: routes/forms.js:256 -msgid "Web - Unsubscribed Notice" -msgstr "Web - Notifica di rimozione" - -#: routes/forms.js:261 -msgid "Mail - Unsubscription Confirmed (MJML)" -msgstr "Mail - Rimozione confermata (MJML)" - -#: routes/forms.js:266 -msgid "Mail - Unsubscription Confirmed (Text)" -msgstr "Mail - Rimozione confermata (Text)" - -#: routes/forms.js:271 -msgid "Web - Manual Unsubscribe Notice" -msgstr "Web - Notifica di rimozione manuale" - -#: routes/forms.js:309 -msgid "Form settings updated" -msgstr "Impostazioni form aggiornate" - -#: routes/forms.js:311 -msgid "Form settings not updated" -msgstr "Impostazioni form non aggiornate" - -#: routes/forms.js:327 -msgid "Custom form deleted" -msgstr "Form personalizzato non cancellato" - -#: routes/forms.js:329 -msgid "Could not delete specified form" -msgstr "Impossibile eliminare il form specificato" - -#: routes/index.js:11 -msgid "Self Hosted Newsletter App" -msgstr "Applicazione di newsletter self-hosted" - -#: routes/links.js:39 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "Oops, non riusciamo a trovare un link per l'URL che hai cliccato" - -#: routes/lists.js:82 -msgid "Could not create list" -msgstr "Impossibile creare lista" - -#: routes/lists.js:85 -msgid "List created" -msgstr "Lista creata" - -#: routes/lists.js:93 routes/lists.js:271 routes/lists.js:336 -#: routes/lists.js:375 routes/lists.js:444 routes/lists.js:469 -#: routes/lists.js:514 routes/lists.js:536 routes/lists.js:565 -#: routes/lists.js:657 routes/lists.js:714 routes/lists.js:741 -msgid "Could not find list with specified ID" -msgstr "Impossibile trovare la lista dell'ID specificato" - -#: routes/lists.js:122 -msgid "List settings updated" -msgstr "Impostazioni lista aggiornate" - -#: routes/lists.js:124 -msgid "List settings not updated" -msgstr "Impostazioni lista non aggiornate" - -#: routes/lists.js:142 -msgid "List deleted" -msgstr "Lista cancellata" - -#: routes/lists.js:144 -msgid "Could not delete specified list" -msgstr "Impossibile cancellare la lista specificata" - -#: routes/lists.js:206 -msgid "Unknown" -msgstr "Sconosciuto" - -#: routes/lists.js:206 -msgid "Complained" -msgstr "Reclamato" - -#: routes/lists.js:237 -msgid "Invalid key" -msgstr "Chiave invalida" - -#: routes/lists.js:239 -msgid "Expired key" -msgstr "Chiave scaduta" - -#: routes/lists.js:241 -msgid "Revoked key" -msgstr "Chiave revocate" - -#: routes/lists.js:288 -msgid "Force Subscribe" -msgstr "Forza iscrizione" - -#: routes/lists.js:291 -msgid "Initializing" -msgstr "Inizializzando" - -#: routes/lists.js:294 -msgid "Initialized" -msgstr "Inizializzato" - -#: routes/lists.js:297 -msgid "Importing" -msgstr "Importando" - -#: routes/lists.js:303 -msgid "Errored" -msgstr "Errore" - -#: routes/lists.js:381 routes/lists.js:450 routes/lists.js:475 -msgid "Could not find subscriber with specified ID" -msgstr "Iscritto con ID specificato non trovato" - -#: routes/lists.js:427 -msgid "Could not add subscription" -msgstr "Impossibile aggiungere iscrizione" - -#: routes/lists.js:432 -msgid "%s was successfully added to your list" -msgstr "%s aggiunto alla lista con successo" - -#: routes/lists.js:434 -msgid "%s was not added to your list" -msgstr "%s non aggiunto alla lista" - -#: routes/lists.js:456 -msgid "Could not unsubscribe user" -msgstr "Impossibile rimuovere iscrizione utente" - -#: routes/lists.js:459 -msgid "%s was successfully unsubscribed from your list" -msgstr "Rimozione iscrizione % dalla lista avvenuta con successo" - -#: routes/lists.js:479 -msgid "%s was successfully removed from your list" -msgstr "Iscrizione %s cancellata con successo" - -#: routes/lists.js:491 -msgid "Another subscriber with email address %s already exists" -msgstr "Una iscrizione con l'email %s esiste già" - -#: routes/lists.js:498 -msgid "Subscription settings updated" -msgstr "Impostazioni di iscrizione aggiornate" - -#: routes/lists.js:500 -msgid "Subscription settings not updated" -msgstr "Impostazioni di iscrizione non aggiornate" - -#: routes/lists.js:542 routes/lists.js:663 routes/lists.js:699 -#: routes/lists.js:727 routes/lists.js:747 -msgid "Could not find import data with specified ID" -msgstr "Impossibile trovare dati di importo per l'ID specificato" - -#: routes/lists.js:573 -msgid "Could not process CSV" -msgstr "Impossibile elaborare CSV" - -#: routes/lists.js:589 -msgid "Could not create importer" -msgstr "Impossibile creare una importazione" - -#: routes/lists.js:643 -msgid "Empty file" -msgstr "File vuoto" - -#: routes/lists.js:646 -msgid "Too few rows" -msgstr "Troppe poche righe" - -#: routes/lists.js:703 -msgid "Import started" -msgstr "Importazione iniziato" - -#: routes/lists.js:731 -msgid "Import restarted" -msgstr "Importazione riniziato" - -#: routes/lists.js:797 -msgid "One-step (i.e. no email with confirmation link)" -msgstr "Uno step (no email con link di conferma)" - -#: routes/lists.js:803 -msgid "" -"One-step with unsubscription form (i.e. no email with confirmation link)" -msgstr "Uno step con form di cancellazione (no email con link di conferma)" - -#: routes/lists.js:809 -msgid "Two-step (i.e. an email with confirmation link will be sent)" -msgstr "Due step (una email con link di conferma viene inviata)" - -#: routes/lists.js:815 -msgid "" -"Two-step with unsubscription form (i.e. an email with confirmation link will " -"be sent)" -msgstr "" -"Form di cancellazione a due step (una mail con link di conferma viene " -"inviata)" - -#: routes/lists.js:821 -msgid "" -"Manual (i.e. unsubscription has to be performed by the list administrator)" -msgstr "" -"Manuale (p.es. la cancellazione deve essere eseguita dall'amministratore " -"della lista)" - -#: routes/report-templates.js:246 -msgid "Could not create report template" -msgstr "Impossibile creare il template di report" - -#: routes/report-templates.js:249 -msgid "Report template “%s†created" -msgstr "Template report \"%s\" creato" - -#: routes/report-templates.js:257 -msgid "Could not find report template with specified ID" -msgstr "Impossibile trovare il template del report specificato" - -#: routes/report-templates.js:280 -msgid "Report template updated" -msgstr "Template report aggiornato" - -#: routes/report-templates.js:282 -msgid "Report template not updated" -msgstr "Template report non aggiornato" - -#: routes/report-templates.js:298 -msgid "Report template deleted" -msgstr "Template report eliminato" - -#: routes/report-templates.js:300 -msgid "Could not delete specified report template" -msgstr "Impossibile eliminare il template del report" - -#: routes/reports.js:124 routes/reports.js:130 -msgid "Could not create report" -msgstr "Impossibile creare il report" - -#: routes/reports.js:135 -msgid "Report “%s†created" -msgstr "Creato report \"%s\"" - -#: routes/reports.js:146 routes/reports.js:224 routes/reports.js:239 -#: routes/reports.js:265 routes/reports.js:275 -msgid "Could not find report with specified ID" -msgstr "Impossibile trovare il report con l'ID specificato" - -#: routes/reports.js:188 routes/reports.js:194 -msgid "Could not update report" -msgstr "Impossibile aggiornare il report" - -#: routes/reports.js:197 -msgid "Report updated" -msgstr "Report aggiornato" - -#: routes/reports.js:199 -msgid "Report not updated" -msgstr "Report non aggiornato" - -#: routes/reports.js:212 -msgid "Report deleted" -msgstr "Report eliminato" - -#: routes/reports.js:214 -msgid "Could not delete specified report" -msgstr "Impossibile eliminare il report specificato" - -#: routes/reports.js:230 -msgid "Could not find report template" -msgstr "Template di reportistica non trovato" - -#: routes/reports.js:260 -msgid "Unknown type of template" -msgstr "Tipo di template sconosciuto" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Impossibile creare segmento" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Segmento creato" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Segmento selezionato non trovato" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Impostazioni segmento aggiornate" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Impostazioni segmento non aggiornate" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segmento cancellato" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Impossibile eliminare il segmento specifcato" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "Impossibile creare la regola" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Regola creata" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Impostazioni regola aggiornate" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Impostazioni regola non aggiornate" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "Regola cancellata" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "Impossibile eliminare la regola specificata" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Usa TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "usualmente selezionata per la porta 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Usa STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "usualmente selezionate per le porte 587 e 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Non usare crittografia" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Impostazioni aggiornate" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "Tipo di trasporto mail invalido" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "Chiave di accesso invalida" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "Credenziali AWS invalide" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Connessione rifiutata, controlla hostname e porta." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Non ho ricevuto il messaggio di saluto dal server. Questo può succedere " -"quando ci si connette ad una porta TLS senza utilizzare TLS." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Non ho ricevuto il messaggio di saluto dal server." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Tempo di connessione scaduto. Controlla il tuo firewall, le porte sono " -"probabilmente chiuse." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"Autenticazione non accettata, il server richiede l'utilizzo di STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Autenticazione fallita, controlla il nome utente e la password." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Verifica delle impostazioni di invio mail fallita." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Il Server ha risposto con: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "" -"Impostazioni di invio mail verificate, il software è pronto per inviare " -"delle mail!" - -#: routes/subscription.js:33 -msgid "Not allowed by CORS" -msgstr "Non permesso dalle impostazioni CORS" - -#: routes/subscription.js:61 routes/subscription.js:176 -#: routes/subscription.js:286 routes/subscription.js:382 -#: routes/subscription.js:459 routes/subscription.js:535 -#: routes/subscription.js:566 routes/subscription.js:626 -#: routes/subscription.js:682 routes/subscription.js:760 -#: routes/subscription.js:897 -msgid "Selected list not found" -msgstr "Lista selezionata non trovata" - -#: routes/subscription.js:93 -msgid "Could not save subscription" -msgstr "Impossibile salvare l'iscrizione" - -#: routes/subscription.js:118 -msgid "Subscriber info corrupted or missing" -msgstr "Informazioni iscritto corrotte o mancanti" - -#: routes/subscription.js:136 -msgid "Email address changed" -msgstr "Indirizzo email aggiornato" - -#: routes/subscription.js:179 routes/subscription.js:385 -msgid "The list does not allow public subscriptions." -msgstr "L'iscrizione alla lista non è pubblica." - -#: routes/subscription.js:355 routes/subscription.js:357 -msgid "Email address not set" -msgstr "Indirizzo email non impostato" - -#: routes/subscription.js:653 -msgid "" -"An email with further instructions has been sent to the provided address" -msgstr "" -"Una email con ulteriori istruzioni è stata inviata all'indirizzo fornito" - -#: routes/subscription.js:861 routes/subscription.js:877 -msgid "Public key is not set" -msgstr "la chiave pubblica non è impostata" - -#: routes/templates.js:84 -msgid "Could not create template" -msgstr "Impossibile creare template" - -#: routes/templates.js:87 -msgid "Template created" -msgstr "Template creato" - -#: routes/templates.js:126 -msgid "Template settings updated" -msgstr "Impostazioni template aggiornate" - -#: routes/templates.js:128 -msgid "Template settings not updated" -msgstr "Impostazioni template non aggiornate" - -#: routes/templates.js:144 -msgid "Template duplicated" -msgstr "Template duplicato" - -#: routes/templates.js:146 -msgid "Could not duplicate specified template" -msgstr "Impossibile duplicare il template specificato" - -#: routes/templates.js:157 -msgid "Template deleted" -msgstr "Template cancellato" - -#: routes/templates.js:159 -msgid "Could not delete specified template" -msgstr "Impossibile eliminare il template selezionato" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "Lista selezionata non trovata" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "Impossibile creare il trigger" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Trigger \"%s\" creato" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Impostazioni trigger aggiornate" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Impostazioni trigger non aggiornate" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Trigger cancellato" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "Impossibile eliminare il trigger specificato" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "Trigger non trovato con l'ID specificato" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Trigger non trovato" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"Una mail con le istruzioni di ripristino password sono state inviate alla " -"tua mail, se esiste nel sistema." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Token sconosciuto o scaduto" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "La tua password è stata cambiata con successo" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Dati utente non trovati" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Token di accesso aggiornati" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Token di access non aggiornati" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Informazioni account aggiornate" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Informazioni account non aggiornate" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "Errore feed %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Trovato un nuovo messaggio %s per la campagna dal feed" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Nulla di nuovo dal feed" - -#: services/feedcheck.js:146 -msgid "RSS entry %s" -msgstr "RSS %s" - -#: services/importer.js:249 -msgid "Could not access import file" -msgstr "Impossibile accedere al file da importare" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Trigger %s sconosciuto" diff --git a/languages/pl_PL.mo b/languages/pl_PL.mo deleted file mode 100644 index 87fc07e4..00000000 Binary files a/languages/pl_PL.mo and /dev/null differ diff --git a/languages/pl_PL.po b/languages/pl_PL.po deleted file mode 100644 index 4e164b2f..00000000 --- a/languages/pl_PL.po +++ /dev/null @@ -1,3739 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-07 21:44+0200\n" -"PO-Revision-Date: 2019-05-09 14:02+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.1\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " -"|| n%100>14) ? 1 : 2);\n" -"Last-Translator: \n" -"Language: pl_PL\n" - -#: views/archive/layout.hbs:1 views/layout.hbs:1 -#: views/subscription/layout.hbs:1 routes/index.js:11 -msgid "Self hosted email newsletter app" -msgstr "Samodzielnie hostowana aplikacja e-mail newsletter" - -#: views/campaigns/bounced.hbs:1 views/campaigns/campaigns.hbs:1 -#: views/campaigns/clicked.hbs:1 views/campaigns/complained.hbs:1 -#: views/campaigns/create-rss.hbs:1 views/campaigns/create-triggered.hbs:1 -#: views/campaigns/create.hbs:1 views/campaigns/delivered.hbs:1 -#: views/campaigns/edit-rss.hbs:1 views/campaigns/edit-triggered.hbs:1 -#: views/campaigns/edit.hbs:1 views/campaigns/opened.hbs:1 -#: views/campaigns/unsubscribed.hbs:1 views/campaigns/upload-attachment.hbs:1 -#: views/campaigns/view.hbs:1 views/lists/create.hbs:1 views/lists/edit.hbs:1 -#: views/lists/fields/create.hbs:1 views/lists/fields/edit.hbs:1 -#: views/lists/fields/fields.hbs:1 views/lists/lists.hbs:1 -#: views/lists/segments/create.hbs:1 views/lists/segments/edit.hbs:1 -#: views/lists/segments/rule-configure.hbs:1 -#: views/lists/segments/rule-create.hbs:1 views/lists/segments/rule-edit.hbs:1 -#: views/lists/segments/segments.hbs:1 views/lists/segments/view.hbs:1 -#: views/lists/subscription/add.hbs:1 views/lists/subscription/edit.hbs:1 -#: views/lists/subscription/import-failed.hbs:1 -#: views/lists/subscription/import-preview.hbs:1 -#: views/lists/subscription/import.hbs:1 views/lists/view.hbs:1 -#: views/settings.hbs:1 views/templates/create.hbs:1 views/templates/edit.hbs:1 -#: views/templates/templates.hbs:1 views/triggers/create-select.hbs:1 -#: views/triggers/create.hbs:1 views/triggers/edit.hbs:1 -#: views/triggers/triggered.hbs:1 views/triggers/triggers.hbs:1 -#: views/users/account.hbs:1 views/users/api.hbs:1 views/users/forgot.hbs:1 -#: views/users/login.hbs:1 views/users/reset.hbs:1 app.js:169 -msgid "Home" -msgstr "Strona główna" - -#: views/campaigns/bounced.hbs:2 views/campaigns/campaigns.hbs:2 -#: views/campaigns/campaigns.hbs:7 views/campaigns/clicked.hbs:2 -#: views/campaigns/complained.hbs:2 views/campaigns/create-rss.hbs:2 -#: views/campaigns/create-triggered.hbs:2 views/campaigns/create.hbs:2 -#: views/campaigns/delivered.hbs:2 views/campaigns/edit-rss.hbs:2 -#: views/campaigns/edit-triggered.hbs:2 views/campaigns/edit.hbs:2 -#: views/campaigns/opened.hbs:2 views/campaigns/unsubscribed.hbs:2 -#: views/campaigns/upload-attachment.hbs:2 views/campaigns/view.hbs:2 -#: lib/tools.js:119 routes/campaigns.js:35 -msgid "Campaigns" -msgstr "Kampanie" - -#: views/campaigns/bounced.hbs:3 views/campaigns/bounced.hbs:4 -msgid "Bounced info" -msgstr "Informacje o odrzuconych/odbiciach" - -#: views/campaigns/bounced.hbs:5 views/campaigns/clicked.hbs:5 -#: views/campaigns/complained.hbs:5 views/campaigns/delivered.hbs:5 -#: views/campaigns/edit-rss.hbs:5 views/campaigns/edit-triggered.hbs:5 -#: views/campaigns/edit.hbs:5 views/campaigns/opened.hbs:5 -#: views/campaigns/unsubscribed.hbs:5 views/campaigns/upload-attachment.hbs:6 -msgid "View campaign" -msgstr "Zobacz kampaniÄ™" - -#: views/campaigns/bounced.hbs:6 -msgid "Subscribers who bounced and were unsubscribed:" -msgstr "Subskrybenci, którzy odbili wiadomość i zrezygnowali z subskrypcji:" - -#: views/campaigns/bounced.hbs:7 views/campaigns/clicked.hbs:13 -#: views/campaigns/complained.hbs:7 views/campaigns/delivered.hbs:7 -#: views/campaigns/opened.hbs:7 views/campaigns/unsubscribed.hbs:7 -#: views/lists/subscription/import-failed.hbs:9 views/lists/view.hbs:18 -#: views/triggers/triggered.hbs:6 -msgid "Address" -msgstr "Adres" - -#: views/campaigns/bounced.hbs:8 views/campaigns/clicked.hbs:14 -#: views/campaigns/complained.hbs:8 views/campaigns/delivered.hbs:8 -#: views/campaigns/opened.hbs:8 views/campaigns/unsubscribed.hbs:8 -#: views/lists/subscription/add.hbs:6 views/lists/subscription/edit.hbs:7 -#: views/lists/subscription/import-preview.hbs:7 views/lists/view.hbs:19 -#: views/subscription/manage.hbs:4 views/subscription/subscribe.hbs:4 -#: views/triggers/triggered.hbs:7 -msgid "First Name" -msgstr "ImiÄ™" - -#: views/campaigns/bounced.hbs:9 views/campaigns/clicked.hbs:15 -#: views/campaigns/complained.hbs:9 views/campaigns/delivered.hbs:9 -#: views/campaigns/opened.hbs:9 views/campaigns/unsubscribed.hbs:9 -#: views/lists/subscription/add.hbs:7 views/lists/subscription/edit.hbs:8 -#: views/lists/subscription/import-preview.hbs:8 views/lists/view.hbs:20 -#: views/subscription/manage.hbs:5 views/subscription/subscribe.hbs:5 -#: views/triggers/triggered.hbs:8 -msgid "Last Name" -msgstr "Nazwisko" - -#: views/campaigns/bounced.hbs:10 views/campaigns/complained.hbs:10 -#: views/campaigns/delivered.hbs:10 views/campaigns/unsubscribed.hbs:10 -msgid "SMTP response" -msgstr "Odpowiedź SMTP" - -#: views/campaigns/bounced.hbs:11 -msgid "Bounce time" -msgstr "Czas odbicia" - -#: views/campaigns/campaigns.hbs:3 views/campaigns/create-triggered.hbs:24 -#: views/campaigns/create.hbs:3 views/campaigns/create.hbs:4 -#: views/campaigns/create.hbs:27 -msgid "Create Campaign" -msgstr "Utwórz KampaniÄ™" - -#: views/campaigns/campaigns.hbs:4 -msgid "Regular Campaign" -msgstr "ZwykÅ‚a kampania" - -#: views/campaigns/campaigns.hbs:5 -msgid "RSS Campaign" -msgstr "Kampania RSS" - -#: views/campaigns/campaigns.hbs:6 -msgid "Triggered Campaign" -msgstr "WywoÅ‚ana kampania" - -#: views/campaigns/campaigns.hbs:8 views/campaigns/create-rss.hbs:6 -#: views/campaigns/create-triggered.hbs:5 views/campaigns/create.hbs:5 -#: views/campaigns/edit-rss.hbs:8 views/campaigns/edit-triggered.hbs:9 -#: views/campaigns/edit.hbs:10 views/campaigns/view.hbs:71 -#: views/lists/create.hbs:5 views/lists/edit.hbs:6 -#: views/lists/fields/fields.hbs:6 views/lists/lists.hbs:5 -#: views/lists/segments/segments.hbs:6 views/templates/templates.hbs:5 -#: views/triggers/triggers.hbs:5 -msgid "Name" -msgstr "Nazwa" - -#: views/campaigns/campaigns.hbs:9 views/campaigns/create-rss.hbs:8 -#: views/campaigns/create-triggered.hbs:7 views/campaigns/create.hbs:7 -#: views/campaigns/edit-rss.hbs:10 views/campaigns/edit-triggered.hbs:11 -#: views/campaigns/edit.hbs:12 views/campaigns/view.hbs:72 -#: views/lists/create.hbs:7 views/lists/edit.hbs:10 views/lists/lists.hbs:8 -#: views/partials/merge-tag-reference.hbs:4 views/templates/create.hbs:9 -#: views/templates/edit.hbs:8 views/templates/templates.hbs:6 -#: views/triggers/create.hbs:7 views/triggers/edit.hbs:8 -#: views/triggers/triggers.hbs:7 -msgid "Description" -msgstr "Opis" - -#: views/campaigns/campaigns.hbs:10 views/campaigns/view.hbs:73 -#: views/lists/view.hbs:21 views/lists/view.hbs:29 -#: views/triggers/triggers.hbs:6 -msgid "Status" -msgstr "Status" - -#: views/campaigns/campaigns.hbs:11 views/campaigns/view.hbs:74 -#: views/lists/view.hbs:22 views/lists/view.hbs:23 -msgid "Created" -msgstr "Utworzono" - -#: views/campaigns/clicked.hbs:3 views/campaigns/clicked.hbs:4 -msgid "Link info" -msgstr "Informacje o linkach" - -#: views/campaigns/clicked.hbs:6 views/campaigns/view.hbs:61 -msgid "URL" -msgstr "URL" - -#: views/campaigns/clicked.hbs:7 views/campaigns/view.hbs:62 -msgid "Clicks" -msgstr "KlikniÄ™cia" - -#: views/campaigns/clicked.hbs:8 views/campaigns/view.hbs:63 -msgid "% of clicks" -msgstr "% kliknięć" - -#: views/campaigns/clicked.hbs:9 views/campaigns/view.hbs:64 -msgid "% of messages" -msgstr "% wiadomoÅ›ci" - -#: views/campaigns/clicked.hbs:10 views/campaigns/view.hbs:67 -msgid "Aggregated clicks" -msgstr "Zagregowane klikniÄ™cia" - -#: views/campaigns/clicked.hbs:11 -msgid "Subscribers who clicked on a link:" -msgstr "Subskrybenci, którzy kliknÄ™li link:" - -#: views/campaigns/clicked.hbs:12 -msgid "Subscribers who clicked on this link:" -msgstr "Subskrybenci, którzy kliknÄ™li ten link:" - -#: views/campaigns/clicked.hbs:16 -msgid "First click time" -msgstr "Czas pierwszego klikniÄ™cia" - -#: views/campaigns/clicked.hbs:17 -msgid "Click count" -msgstr "Liczba kliknięć" - -#: views/campaigns/complained.hbs:3 views/campaigns/complained.hbs:4 -msgid "Complained info" -msgstr "Informacje o skargach" - -#: views/campaigns/complained.hbs:6 -msgid "Subscribers who complained and were unsubscribed:" -msgstr "Subskrybenci, którzy zÅ‚ożyli skargÄ™ i wypisali siÄ™:" - -#: views/campaigns/complained.hbs:11 -msgid "Complain time" -msgstr "Czas skargi" - -#: views/campaigns/create-rss.hbs:3 views/campaigns/create-rss.hbs:4 -#: views/campaigns/create-rss.hbs:20 -msgid "Create RSS Campaign" -msgstr "Utwórz kampaniÄ™ RSS" - -#: views/campaigns/create-rss.hbs:5 views/campaigns/edit-rss.hbs:6 -msgid "" -"RSS campaign sets up a tracker against selected RSS feed address. Whenever a " -"new entry is found from this feed it is sent to selected list as an email " -"message." -msgstr "" -"Kampania RSS ustawia moduÅ‚ Å›ledzÄ…cy na wybrany adres RSS. Za każdym razem, " -"gdy nowy wpis zostanie znaleziony z tego kanaÅ‚u, zostanie wysÅ‚any na wybranÄ… " -"listÄ™ jako wiadomość e-mail." - -#: views/campaigns/create-rss.hbs:7 views/campaigns/create-triggered.hbs:6 -#: views/campaigns/create.hbs:6 views/campaigns/edit-rss.hbs:9 -#: views/campaigns/edit-triggered.hbs:10 views/campaigns/edit.hbs:11 -msgid "Campaign Name" -msgstr "Nazwa kampanii" - -#: views/campaigns/create-rss.hbs:9 views/campaigns/create-triggered.hbs:8 -#: views/campaigns/create.hbs:8 views/campaigns/edit-rss.hbs:11 -#: views/campaigns/edit-triggered.hbs:12 views/campaigns/edit.hbs:13 -#: views/lists/create.hbs:8 views/lists/edit.hbs:11 -#: views/templates/create.hbs:11 views/templates/edit.hbs:10 -#: views/triggers/create.hbs:9 views/triggers/edit.hbs:10 -msgid "HTML is allowed" -msgstr "HTML dozwolony" - -#: views/campaigns/create-rss.hbs:10 views/campaigns/create-triggered.hbs:9 -#: views/campaigns/create.hbs:9 views/campaigns/edit-rss.hbs:12 -#: views/campaigns/edit-triggered.hbs:13 views/campaigns/edit.hbs:14 -#: views/campaigns/view.hbs:6 views/triggers/create-select.hbs:6 -#: views/triggers/create.hbs:10 views/triggers/edit.hbs:12 -#: views/triggers/triggers.hbs:8 -msgid "List" -msgstr "Lista" - -#: views/campaigns/create-rss.hbs:11 views/campaigns/create-triggered.hbs:10 -#: views/campaigns/create-triggered.hbs:13 views/campaigns/create.hbs:10 -#: views/campaigns/create.hbs:14 views/campaigns/edit-rss.hbs:13 -#: views/campaigns/edit-triggered.hbs:14 views/campaigns/edit.hbs:15 -#: views/lists/fields/create.hbs:27 views/lists/fields/edit.hbs:28 -#: views/lists/segments/create.hbs:9 views/lists/segments/edit.hbs:10 -#: views/lists/segments/rule-create.hbs:7 views/lists/subscription/add.hbs:10 -#: views/lists/subscription/add.hbs:12 views/lists/subscription/edit.hbs:11 -#: views/lists/subscription/import-preview.hbs:5 -#: views/subscription/manage.hbs:10 views/subscription/subscribe.hbs:10 -#: views/templates/create.hbs:8 views/triggers/create-select.hbs:7 -#: views/triggers/create.hbs:17 views/triggers/create.hbs:20 -#: views/triggers/create.hbs:22 views/triggers/create.hbs:26 -#: views/triggers/edit.hbs:19 views/triggers/edit.hbs:22 -#: views/triggers/edit.hbs:24 views/triggers/edit.hbs:28 -msgid "Select" -msgstr "Wybierz" - -#: views/campaigns/create-rss.hbs:12 views/campaigns/create-triggered.hbs:11 -#: views/campaigns/create.hbs:11 views/campaigns/edit-rss.hbs:14 -#: views/campaigns/edit-triggered.hbs:15 views/campaigns/edit.hbs:16 -#: views/triggers/create-select.hbs:8 views/triggers/create.hbs:11 -#: views/triggers/edit.hbs:13 -msgid "subscribers" -msgstr "subskrybenci" - -#: views/campaigns/create-rss.hbs:13 views/campaigns/edit-rss.hbs:15 -msgid "RSS Feed Url" -msgstr "Adres URL kanaÅ‚u RSS" - -#: views/campaigns/create-rss.hbs:14 views/campaigns/edit-rss.hbs:16 -msgid "" -"New entries from this RSS URL are sent out to list subscribers as email " -"messages" -msgstr "" -"Nowe wpisy z tego adresu RSS sÄ… wysyÅ‚ane do listy subskrybentów, jak " -"wiadomoÅ›ci e-mail" - -#: views/campaigns/create-rss.hbs:15 views/campaigns/create-triggered.hbs:17 -#: views/campaigns/create.hbs:18 views/campaigns/edit-rss.hbs:18 -#: views/campaigns/edit-triggered.hbs:16 views/campaigns/edit.hbs:17 -#: views/campaigns/view.hbs:12 -msgid "Email \"from name\"" -msgstr "E-mail nazwa \"from\"" - -#: views/campaigns/create-rss.hbs:16 views/campaigns/create-triggered.hbs:18 -#: views/campaigns/create.hbs:19 views/campaigns/edit-rss.hbs:19 -#: views/campaigns/edit.hbs:18 views/settings.hbs:23 -msgid "This is the name your emails will come from" -msgstr "This is the name your emails will come from" - -#: views/campaigns/create-rss.hbs:17 views/campaigns/create-triggered.hbs:19 -#: views/campaigns/create.hbs:20 views/campaigns/edit-rss.hbs:20 -#: views/campaigns/edit-triggered.hbs:18 views/campaigns/edit.hbs:19 -#: views/campaigns/view.hbs:13 -msgid "Email \"from\" address" -msgstr "E-mail adres \"from\"" - -#: views/campaigns/create-rss.hbs:18 views/campaigns/create-triggered.hbs:20 -#: views/campaigns/edit-rss.hbs:21 views/campaigns/edit-triggered.hbs:19 -#: views/settings.hbs:25 -msgid "This is the address people will send replies to" -msgstr "To jest adres na który ludzie bÄ™dÄ… wysyÅ‚ać odpowiedzi" - -#: views/campaigns/create-rss.hbs:19 views/campaigns/create-triggered.hbs:23 -#: views/campaigns/create.hbs:26 views/campaigns/edit-rss.hbs:22 -#: views/campaigns/edit-triggered.hbs:22 views/campaigns/edit.hbs:25 -msgid "Disable clicked/opened tracking" -msgstr "Wyłącz klikniÄ™te/otwarte Å›ledzenie" - -#: views/campaigns/create-triggered.hbs:3 -#: views/campaigns/create-triggered.hbs:4 -msgid "Create Triggered Campaign" -msgstr "Utwórz uruchamianÄ… kampaniÄ™" - -#: views/campaigns/create-triggered.hbs:12 views/campaigns/create.hbs:12 -#: views/campaigns/edit-triggered.hbs:7 views/campaigns/edit.hbs:7 -#: views/lists/fields/create.hbs:31 views/lists/fields/edit.hbs:33 -#: views/templates/create.hbs:13 -msgid "Template" -msgstr "Szablon" - -#: views/campaigns/create-triggered.hbs:14 views/campaigns/create.hbs:15 -msgid "Selecting a template creates a campaign specific copy from it" -msgstr "Wybranie szablonu powoduje utworzenie z niego kopii dla kampanii" - -#: views/campaigns/create-triggered.hbs:15 views/campaigns/create.hbs:16 -msgid "Or alternatively use an URL as the message content source:" -msgstr "Lub alternatywnie użyj adresu URL jako źródÅ‚o treÅ›ci wiadomoÅ›ci:" - -#: views/campaigns/create-triggered.hbs:16 views/campaigns/create.hbs:17 -#: views/campaigns/edit-triggered.hbs:25 views/campaigns/edit.hbs:28 -msgid "" -"If a message is sent then this URL will be POSTed to using Merge Tags as " -"POST body. Use this if you want to generate the HTML message yourself" -msgstr "" -"JeÅ›li wiadomość zostanie wysÅ‚ana, ten adres URL zostanie wysÅ‚any POST do " -"używania merge tagów jako treść POST. Użyj tej opcji, jeÅ›li chcesz " -"samodzielnie wygenerować wiadomość HTML" - -#: views/campaigns/create-triggered.hbs:21 views/campaigns/create.hbs:24 -#: views/campaigns/edit-triggered.hbs:20 views/campaigns/edit.hbs:23 -#: views/campaigns/view.hbs:15 -msgid "Email \"subject line\"" -msgstr "E-mail temat \"from\"" - -#: views/campaigns/create-triggered.hbs:22 views/campaigns/create.hbs:25 -#: views/campaigns/edit-triggered.hbs:21 views/campaigns/edit.hbs:24 -#: views/settings.hbs:27 -msgid "Keep it relevant and non-spammy" -msgstr "Zachowaj to, co istotne i nie spamuj" - -#: views/campaigns/create.hbs:13 -msgid "Select a template:" -msgstr "Wybierz szablon:" - -#: views/campaigns/create.hbs:21 views/campaigns/edit.hbs:20 -msgid "" -"This is the address people will send replies to unless reply-to address is " -"set" -msgstr "" -"To jest adres, na który ludzie bÄ™dÄ… wysyÅ‚ać odpowiedzi, chyba że ustawiono " -"adres zwrotny" - -#: views/campaigns/create.hbs:22 views/campaigns/edit.hbs:21 -#: views/campaigns/view.hbs:14 -msgid "Email \"reply-to\" address" -msgstr "Email \"Odpowiedz do\"" - -#: views/campaigns/create.hbs:23 views/campaigns/edit.hbs:22 -msgid "If set, this is the address people will send replies to" -msgstr "" -"JeÅ›li jest ustawiony, jest to adres, na który ludzie bÄ™dÄ… wysyÅ‚ać odpowiedzi" - -#: views/campaigns/delivered.hbs:3 views/campaigns/delivered.hbs:4 -msgid "Delivered info" -msgstr "Informacje o dostarczonych" - -#: views/campaigns/delivered.hbs:6 -msgid "Subscribers who received the message and did not bounce/unsubscribe:" -msgstr "" -"Subskrybenci, którzy otrzymali wiadomość i nie odrzucili/nie anulowali " -"subskrypcji:" - -#: views/campaigns/delivered.hbs:11 -msgid "Delivery time" -msgstr "Czas dostarczenia" - -#: views/campaigns/edit-rss.hbs:3 views/campaigns/edit-rss.hbs:4 -msgid "Edit RSS Campaign" -msgstr "Edytuj kampaniÄ™ RSS" - -#: views/campaigns/edit-rss.hbs:7 views/campaigns/edit-triggered.hbs:8 -#: views/campaigns/edit.hbs:9 views/settings.hbs:4 views/users/account.hbs:6 -msgid "General Settings" -msgstr "Ustawienia główne" - -#: views/campaigns/edit-rss.hbs:17 -msgid "" -"Use special merge tag [RSS_ENTRY] to mark the position for the RSS post " -"content. Additionally you can use any valid merge tag as well." -msgstr "" -"Użyj specjalnego merge tagu [RSS_ENTRY], aby oznaczyć pozycjÄ™ treÅ›ci " -"wiadomoÅ›ci RSS. Dodatkowo mżesz użyć dowolnego innego merge tagu." - -#: views/campaigns/edit-rss.hbs:23 views/campaigns/edit-triggered.hbs:26 -#: views/campaigns/edit.hbs:34 -msgid "Delete Campaign" -msgstr "UsuÅ„ kampaniÄ™" - -#: views/campaigns/edit-rss.hbs:24 views/campaigns/edit-triggered.hbs:27 -#: views/campaigns/edit.hbs:35 views/lists/edit.hbs:13 -#: views/lists/fields/edit.hbs:39 views/lists/segments/edit.hbs:14 -#: views/lists/segments/rule-edit.hbs:38 views/lists/subscription/edit.hbs:17 -#: views/settings.hbs:99 views/templates/edit.hbs:12 views/triggers/edit.hbs:30 -#: views/users/account.hbs:18 -msgid "Update" -msgstr "Zaktualizuj" - -#: views/campaigns/edit-triggered.hbs:3 views/campaigns/edit-triggered.hbs:4 -msgid "Edit Triggered Campaign" -msgstr "Edytuj kampaniÄ™ uruchamianÄ…" - -#: views/campaigns/edit-triggered.hbs:6 views/campaigns/edit.hbs:6 -msgid "General" -msgstr "Główne" - -#: views/campaigns/edit-triggered.hbs:17 -msgid "his is the name your emails will come from" -msgstr "Nazwa, z której bÄ™dÄ… wysyÅ‚ane wszystkie e-maile." - -#: views/campaigns/edit-triggered.hbs:23 views/campaigns/edit.hbs:26 -msgid "Template Settings" -msgstr "Ustawienia szablonu" - -#: views/campaigns/edit-triggered.hbs:24 views/campaigns/edit.hbs:27 -msgid "Template URL" -msgstr "Adres URL szablonu" - -#: views/campaigns/edit.hbs:3 views/campaigns/edit.hbs:4 -#: views/campaigns/upload-attachment.hbs:3 -#: views/campaigns/upload-attachment.hbs:5 views/campaigns/view.hbs:3 -msgid "Edit Campaign" -msgstr "Edytuj kampanie" - -#: views/campaigns/edit.hbs:8 views/campaigns/edit.hbs:29 -msgid "Attachments" -msgstr "Załączniki" - -#: views/campaigns/edit.hbs:30 -msgid "File" -msgstr "Plik" - -#: views/campaigns/edit.hbs:31 -msgid "Size" -msgstr "Rozmiar" - -#: views/campaigns/edit.hbs:32 views/campaigns/view.hbs:66 -#: views/lists/fields/fields.hbs:12 views/lists/view.hbs:32 -msgid "No data available in table" -msgstr "Brak danych w tabeli" - -#: views/campaigns/edit.hbs:33 views/campaigns/upload-attachment.hbs:4 -msgid "Add Attachment" -msgstr "Dodaj załącznik" - -#: views/campaigns/opened.hbs:3 views/campaigns/opened.hbs:4 -msgid "Opened info" -msgstr "Informacje o otwarciach" - -#: views/campaigns/opened.hbs:6 -msgid "Subscribers who opened this message:" -msgstr "Subskrybenci, którzy otworzyli tÄ™ wiadomość:" - -#: views/campaigns/opened.hbs:10 -msgid "First open" -msgstr "Pierwsze otwarcie" - -#: views/campaigns/opened.hbs:11 -msgid "Opened count" -msgstr "Liczba otwarć" - -#: views/campaigns/unsubscribed.hbs:3 views/campaigns/unsubscribed.hbs:4 -msgid "Unsubscribed info" -msgstr "Informacje o anulowaniach subskrypcji" - -#: views/campaigns/unsubscribed.hbs:6 -msgid "Subscribers who unsubscribed:" -msgstr "Subskrybenci, którzy anulowali subskrypcjÄ™:" - -#: views/campaigns/unsubscribed.hbs:11 views/campaigns/view.hbs:26 -#: views/lists/subscription/import.hbs:10 routes/lists.js:171 -msgid "Unsubscribed" -msgstr "Anulowano subskrypcjÄ™" - -#: views/campaigns/upload-attachment.hbs:7 -msgid "Upload" -msgstr "PrzeÅ›lij" - -#: views/campaigns/view.hbs:4 -msgid "Overview" -msgstr "PrzeglÄ…d" - -#: views/campaigns/view.hbs:5 -msgid "Links" -msgstr "Linków" - -#: views/campaigns/view.hbs:7 -msgid "Feed URL" -msgstr "Url czytnika" - -#: views/campaigns/view.hbs:8 -msgid "Last check" -msgstr "Ostatnie sprawdzenie" - -#: views/campaigns/view.hbs:9 -msgid "Not yet checked" -msgstr "Jeszcze nie sprawdzone" - -#: views/campaigns/view.hbs:10 -msgid "activate campaign to start checking feed for new messages" -msgstr "" -"aktywuj kampaniÄ™, aby rozpocząć sprawdzanie kanaÅ‚u dla nowych wiadomoÅ›ci" - -#: views/campaigns/view.hbs:11 -msgid "RSS status" -msgstr "Status RSS" - -#: views/campaigns/view.hbs:16 -msgid "Preview campaign as" -msgstr "PodglÄ…d kampanii jako" - -#: views/campaigns/view.hbs:17 -msgid "Add new test user" -msgstr "Dodaj użytkownika testowego" - -#: views/campaigns/view.hbs:18 -msgid "No test users yet, create one here" -msgstr "Brak użytkowników testowych, utwórz je tutaj" - -#: views/campaigns/view.hbs:19 -msgid "Go" -msgstr "Dalej" - -#: views/campaigns/view.hbs:20 lib/models/triggers.js:25 -msgid "Delivered" -msgstr "Dostarczone" - -#: views/campaigns/view.hbs:21 -msgid "List subscribers who received this message" -msgstr "Lista subskrybentów, którzy otrzymali tÄ™ wiadomość" - -#: views/campaigns/view.hbs:22 routes/lists.js:171 -msgid "Bounced" -msgstr "Odbite" - -#: views/campaigns/view.hbs:23 -msgid "List subscribers who bounced" -msgstr "Lista użytkowników którzy odbili" - -#: views/campaigns/view.hbs:24 -msgid "Complaints" -msgstr "Skargi" - -#: views/campaigns/view.hbs:25 -msgid "List subscribers who complained for this message" -msgstr "Lista subskrybentów, którzy zÅ‚ożyli skargÄ™ na tÄ™ wiadomość" - -#: views/campaigns/view.hbs:27 -msgid "List subscribers who unsubscribed after this message" -msgstr "Lista subskrybentów, którzy anulowali subskrypcjÄ™ po tej wiadomoÅ›ci" - -#: views/campaigns/view.hbs:28 -msgid "Opened" -msgstr "Otwarto" - -#: views/campaigns/view.hbs:29 -msgid "List subscribers who opened this message" -msgstr "Lista subskrybentów, którzy otworzyli tÄ™ wiadomość" - -#: views/campaigns/view.hbs:30 -msgid "Clicked" -msgstr "KlikniÄ™to" - -#: views/campaigns/view.hbs:31 views/campaigns/view.hbs:68 -msgid "List subscribers who clicked on a link" -msgstr "Lista subskrybentów, którzy kliknÄ™li w link" - -#: views/campaigns/view.hbs:32 -msgid "" -"Are you sure? This action would start sending messages to the selected list" -msgstr "" -"JesteÅ› pewny? Ta czynność rozpocznie wysyÅ‚anie wiadomoÅ›ci do wybranej listy" - -#: views/campaigns/view.hbs:33 -msgid "Delay sending" -msgstr "Opóźnienie wysyÅ‚ania" - -#: views/campaigns/view.hbs:34 -msgid "hours" -msgstr "godziny" - -#: views/campaigns/view.hbs:35 -msgid "minutes" -msgstr "minuty" - -#: views/campaigns/view.hbs:36 -msgid "Send to subscribers:" -msgstr "WyÅ›lij do subskrybentów:" - -#: views/campaigns/view.hbs:37 -msgid "Are you sure? This action would reset scheduling" -msgstr "JesteÅ› pewny? Ta czynność zresetuje harmonogram" - -#: views/campaigns/view.hbs:38 -msgid "Cancel" -msgstr "Anuluj" - -#: views/campaigns/view.hbs:39 -msgid "Sending scheduled" -msgstr "WysyÅ‚anie harmonogramu" - -#: views/campaigns/view.hbs:40 views/campaigns/view.hbs:52 -msgid "Pause" -msgstr "Pauza" - -#: views/campaigns/view.hbs:41 routes/campaigns.js:264 -msgid "Sending" -msgstr "WysyÅ‚anie" - -#: views/campaigns/view.hbs:42 views/campaigns/view.hbs:46 -msgid "" -"Are you sure? This action would resume sending messages to the selected list" -msgstr "" -"JesteÅ› pewny? Ta czynność wznowi wysyÅ‚anie wiadomoÅ›ci do wybranej listy" - -#: views/campaigns/view.hbs:43 views/campaigns/view.hbs:47 -msgid "Are you sure? This action would reset all stats about current progress" -msgstr "" -"JesteÅ› pewny? Ta czynność zresetuje wszystkie statystyki dotyczÄ…ce bieżącego " -"postÄ™pu" - -#: views/campaigns/view.hbs:44 -msgid "Resume" -msgstr "Wznów" - -#: views/campaigns/view.hbs:45 views/campaigns/view.hbs:49 -msgid "Reset" -msgstr "Resetuj" - -#: views/campaigns/view.hbs:48 -msgid "Continue" -msgstr "Kontynuuj" - -#: views/campaigns/view.hbs:50 -msgid "" -"All messages sent! Hit \"Continue\" if you you want to send this campaign to " -"new subscribers" -msgstr "" -"Wszystkie wiadomoÅ›ci wysÅ‚ane! Kliknij \"Kontynuuj\", jeÅ›li chcesz wysÅ‚ać tÄ™ " -"kampaniÄ™ do nowych subskrybentów" - -#: views/campaigns/view.hbs:51 -msgid "" -"Are you sure? This action would pause sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"JesteÅ› pewny? Ta czynność wstrzyma wysyÅ‚anie wiadomoÅ›ci o nowych wpisach w " -"kanale RSS do wybranej listy" - -#: views/campaigns/view.hbs:53 views/campaigns/view.hbs:57 -msgid "Campaign status:" -msgstr "Status kampanii:" - -#: views/campaigns/view.hbs:54 -msgid "ACTIVE" -msgstr "AKTYWNE" - -#: views/campaigns/view.hbs:55 -msgid "" -"Are you sure? This action would start sending new entries in RSS feed as " -"email messages to the selected list" -msgstr "" -"JesteÅ› pewny? Ta czynność rozpocznie wysyÅ‚anie wiadomoÅ›ci o nowych wpisach w " -"kanale RSS do wybranej listy" - -#: views/campaigns/view.hbs:56 -msgid "Activate" -msgstr "Aktywuj" - -#: views/campaigns/view.hbs:58 -msgid "INACTIVE" -msgstr "NIEAKTYWNE" - -#: views/campaigns/view.hbs:59 -msgid "" -"This is a triggered campaign. Messages are only sent to subscribers that hit " -"some trigger that invokes this campaign" -msgstr "" -"To jest kampania wyzwalana. WiadomoÅ›ci sÄ… wysyÅ‚ane tylko do subskrybentów, " -"którzy natrafili na jakiÅ› wyzwalacz, który wywoÅ‚uje tÄ™ kampaniÄ™" - -#: views/campaigns/view.hbs:60 -msgid "see more" -msgstr "zobacz wiÄ™cej" - -#: views/campaigns/view.hbs:65 -msgid "List subscribers who clicked this link" -msgstr "Lista subskrybentów, którzy kliknÄ™li link" - -#: views/campaigns/view.hbs:69 -msgid "" -"Clicks are counted as unique subscribers that clicked on a specific link or " -"on any link (in aggregated view)" -msgstr "" -"KlikniÄ™cia sÄ… liczone jako unikalni subskrybenci, którzy kliknÄ™li okreÅ›lony " -"link lub dowolny link (w widoku zbiorczym)" - -#: views/campaigns/view.hbs:70 -msgid "" -"If a new entry is found from campaign feed a new subcampaign is created of " -"that entry and it will be listed here" -msgstr "" -"JeÅ›li zostanie znaleziony nowy wpis z kanaÅ‚u kampanii, zostanie utworzona " -"nowa kampania podrzÄ™dna dla tego wpisu i zostanie ona tutaj wymieniona" - -#: views/emails/confirm-html.hbs:1 views/emails/confirm-html.hbs:2 -#: views/emails/confirm-text.hbs:1 -msgid "Please Confirm Subscription" -msgstr "ProszÄ™ potwierdź subskrypcjÄ™" - -#: views/emails/confirm-html.hbs:3 views/emails/confirm-text.hbs:2 -msgid "Yes, subscribe me to this list" -msgstr "Tak, zapisz mnie na listÄ™" - -#: views/emails/confirm-html.hbs:4 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed if you don't click the confirmation link above." -msgstr "" -"JeÅ›li przez pomyÅ‚kÄ™ otrzymaÅ‚eÅ› tego e-maila, po prostu go usuÅ„. Nie bÄ™dziesz " -"subskrybowany, jeÅ›li nie klikniesz w link potwierdzajÄ…cy." - -#: views/emails/confirm-html.hbs:5 views/emails/confirm-text.hbs:4 -#: views/emails/subscription-confirmed-html.hbs:7 -#: views/emails/subscription-confirmed-text.hbs:7 -#: views/emails/unsubscribe-confirmed-html.hbs:5 -#: views/emails/unsubscribe-confirmed-text.hbs:5 -msgid "For questions about this list, please contact:" -msgstr "W przypadku pytaÅ„ dotyczÄ…cych tej listy, prosimy o kontakt:" - -#: views/emails/confirm-text.hbs:3 -msgid "" -"If you received this email by mistake, simply delete it. You won't be " -"subscribed unless you click the confirmation link above." -msgstr "" -"JeÅ›li przez pomyÅ‚kÄ™ otrzymaÅ‚eÅ› tego e-maila, po prostu go usuÅ„. Nie bÄ™dziesz " -"subskrybowany, chyba że klikniesz link powyżej." - -#: views/emails/password-reset-html.hbs:1 -#: views/emails/password-reset-html.hbs:2 -#: views/emails/password-reset-text.hbs:1 -msgid "Change your password" -msgstr "ZmieÅ„ hasÅ‚o" - -#: views/emails/password-reset-html.hbs:3 -#: views/emails/password-reset-text.hbs:2 -msgid "We have received a password change request for your Mailtrain account:" -msgstr "OtrzymaliÅ›my proÅ›bÄ™ o zmianÄ™ hasÅ‚a dla Twojego konta Mailtrain:" - -#: views/emails/password-reset-html.hbs:4 -#: views/emails/password-reset-text.hbs:3 -msgid "Reset password" -msgstr "Zresetuj hasÅ‚o" - -#: views/emails/password-reset-html.hbs:5 -#: views/emails/password-reset-text.hbs:4 -msgid "" -"If you did not ask to change your password, then you can ignore this email " -"and your password will not be changed." -msgstr "" -"JeÅ›li nie poprosiÅ‚eÅ› o zmianÄ™ hasÅ‚a, możesz zignorować ten e-mail, a Twoje " -"hasÅ‚o nie zostanie zmienione." - -#: views/emails/rss-html.hbs:1 views/emails/stationery-html.hbs:3 -#: views/emails/stationery-text.hbs:3 -msgid "Preferences" -msgstr "Preferencje" - -#: views/emails/rss-html.hbs:2 views/emails/stationery-html.hbs:4 -#: views/emails/stationery-text.hbs:4 views/lists/subscription/edit.hbs:15 -#: views/subscription/manage.hbs:12 views/subscription/unsubscribe.hbs:1 -#: views/subscription/unsubscribe.hbs:4 routes/lists.js:253 -msgid "Unsubscribe" -msgstr "Anuluj subskrypcjÄ™" - -#: views/emails/rss-html.hbs:3 views/emails/stationery-html.hbs:5 -#: views/emails/stationery-text.hbs:5 -msgid "View this email in your browser" -msgstr "Zobacz ten email w Twojej przeglÄ…darce" - -#: views/emails/stationery-html.hbs:1 views/emails/stationery-text.hbs:1 -msgid "Hey [FIRST_NAME/Customer]," -msgstr "Cześć [FIRST_NAME/Customer]," - -#: views/emails/stationery-html.hbs:2 views/emails/stationery-text.hbs:2 -msgid "Cheers," -msgstr "Pozdrowienia," - -#: views/emails/subscription-confirmed-html.hbs:1 -#: views/emails/subscription-confirmed-text.hbs:1 -#: views/subscription/subscribed.hbs:1 -msgid "Subscription Confirmed" -msgstr "Subskrypcja zostaÅ‚a potwierdzona" - -#: views/emails/subscription-confirmed-html.hbs:2 -#: views/emails/subscription-confirmed-text.hbs:2 -#: views/subscription/subscribed.hbs:2 -msgid "Your subscription to our list has been confirmed." -msgstr "Twoja subskrypcja naszej listy zostaÅ‚a potwierdzona." - -#: views/emails/subscription-confirmed-html.hbs:3 -#: views/emails/subscription-confirmed-text.hbs:3 -msgid "If you want to modify your subscription then you can:" -msgstr "JeÅ›li chcesz zmodyfikować swojÄ… subskrypcjÄ™, możesz:" - -#: views/emails/subscription-confirmed-html.hbs:4 -#: views/emails/subscription-confirmed-text.hbs:4 -#: views/subscription/subscribed.hbs:6 -msgid "manage your preferences" -msgstr "zarzÄ…dzaj swoimi preferencjami" - -#: views/emails/subscription-confirmed-html.hbs:5 -#: views/emails/subscription-confirmed-text.hbs:5 -#: views/subscription/subscribed.hbs:5 views/users/login.hbs:10 -msgid "or" -msgstr "lub" - -#: views/emails/subscription-confirmed-html.hbs:6 -#: views/emails/subscription-confirmed-text.hbs:6 -msgid "unsubscribe here" -msgstr "anuluj subskrypcjÄ™ tutaj" - -#: views/emails/unsubscribe-confirmed-html.hbs:1 -#: views/emails/unsubscribe-confirmed-text.hbs:1 -msgid "You are now unsubscribed" -msgstr "AnulowaÅ‚eÅ› subskrypcjÄ™" - -#: views/emails/unsubscribe-confirmed-html.hbs:2 -#: views/emails/unsubscribe-confirmed-text.hbs:2 -msgid "We have removed your email address from our list." -msgstr "UsunÄ™liÅ›my Twój adres e-mail z naszej listy." - -#: views/emails/unsubscribe-confirmed-html.hbs:3 -#: views/emails/unsubscribe-confirmed-text.hbs:3 -msgid "If you unsubscribed by mistake, you can re-subscribe at:" -msgstr "" -"JeÅ›li anulujesz subskrypcjÄ™ przez pomyÅ‚kÄ™, możesz ponownie zasubskrybować na:" - -#: views/emails/unsubscribe-confirmed-html.hbs:4 -#: views/emails/unsubscribe-confirmed-text.hbs:4 -#: views/lists/subscription/add.hbs:16 routes/lists.js:253 -msgid "Subscribe" -msgstr "Subskrybuj" - -#: views/index.hbs:1 -msgid "Official Mailtrain Partners" -msgstr "Oficjalni partnerzy Mailtrain" - -#: views/index.hbs:2 -msgid "Free, open source mail server solution" -msgstr "Darmowe, o otwartym kodzie źródÅ‚owym rozwiÄ…zanie serwera poczty" - -#: views/index.hbs:3 -msgid "" -"A reliable SMTP server, easy integration, and 12,000 messages a month free" -msgstr "" -"Niezawodny serwer SMTP, Å‚atwa integracja i 12 000 wiadomoÅ›ci miesiÄ™cznie za " -"darmo" - -#: views/index.hbs:4 -msgid "List management" -msgstr "ZarzÄ…dzanie listamie" - -#: views/index.hbs:5 -msgid "" -"Mailtrain allows you to easily manage even very large lists. Million " -"subscribers? Not a problem. You can add subscribers manually, through the " -"API or import from a CSV file. All lists come with support for custom fields " -"and merge tags as well." -msgstr "" -"Mailtrain pozwala w Å‚atwy sposób zarzÄ…dzać nawet bardzo dużymi listami. " -"Milion subskrybentów? Å»aden problem. Możesz dodawać subskrybentów rÄ™cznie, " -"za poÅ›rednictwem interfejsu API lub importować z pliku CSV. Wszystkie listy " -"zawierajÄ… również obsÅ‚ugÄ™ pól niestandardowych i znaczników scalajÄ…cych." - -#: views/index.hbs:6 -msgid "Custom fields" -msgstr "Pola niestandardowe" - -#: views/index.hbs:7 -msgid "" -"Text fields, numbers, drop downs or checkboxes, Mailtrain has them all. " -"Every custom field can be included in the generated newsletters through " -"merge tags." -msgstr "" -"Pola tekstowe, cyfry, listy rozwijane lub pola wyboru, Mailtrain ma je " -"wszystkie. Każde niestandardowe pole może być zawarte w wygenerowanych " -"newsletterach za pomocÄ… merge tagów." - -#: views/index.hbs:8 -msgid "List segmentation" -msgstr "Segmentacja listy" - -#: views/index.hbs:9 -msgid "" -"Send messages only to list subscribers that match predefined segmentation " -"rules. No need to create separate lists with small differences." -msgstr "" -"WysyÅ‚aj wiadomoÅ›ci tylko dla subskrybentów, którzy pasujÄ… do " -"predefiniowanych reguÅ‚ segmentacji. Nie trzeba tworzyć oddzielnych list z " -"maÅ‚ymi różnicami." - -#: views/index.hbs:10 -msgid "Donate to author" -msgstr "Przekaż darowiznÄ™ autorowi" - -#: views/index.hbs:11 -msgid "" -"If you really like Mailtrain or your business benefits from it financially " -"then I would really appreciate a small donation to keep the Mailtrain " -"development engines running. You can either use Bitcoin or PayPal for " -"donations. My Bitcoin wallet is 15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" -msgstr "" -"JeÅ›li naprawdÄ™ lubisz Mailtrain lub Twoja firma czerpie z teg korzyÅ›ci " -"finansowe bÄ™dÄ™ naprawdÄ™ wdziÄ™czny za niewielkÄ… darowiznÄ™, aby utrzymać " -"rozwój Mailtrain. Możesz użyć Bitcoin lub PayPal do darowizn. Mój portfel " -"Bitcoin to 15Z8ADxhssKUiwP3jbbqJwA21744KMCfTM" - -#: views/index.hbs:12 -msgid "or donate using PayPal" -msgstr "lub przekaż darowiznÄ™ za pomocÄ… PayPal" - -#: views/index.hbs:13 -msgid "RSS Campaigns" -msgstr "Kampanie RSS" - -#: views/index.hbs:14 -msgid "" -"Setup Mailtrain to track RSS feeds and if a new entry is detected in a feed " -"then Mailtrain auto-generates a new campaign using entry data as message " -"contents and sends it to selected subscribers." -msgstr "" -"Przygotuj Mailtrain do Å›ledzenia kanałów RSS i jeÅ›li wykryty zostanie nowy " -"wpis w kanale, Mailtrain automatycznie generuje nowÄ… kampaniÄ™, wykorzystujÄ…c " -"dane wejÅ›ciowe jako treść wiadomoÅ›ci i wysyÅ‚a je do wybranych subskrybentów." - -#: views/index.hbs:15 -msgid "GPG Encryption" -msgstr "Szyfrowanie GPG" - -#: views/index.hbs:16 -msgid "" -"If a list has a custom field for a GPG Public Key set then subscribers can " -"upload their GPG public key to receive encrypted messages from the list." -msgstr "" -"JeÅ›li lista ma niestandardowe pole dla zestawu kluczy publicznych GPG, " -"subskrybenci mogÄ… przesÅ‚ać swój klucz publiczny GPG, aby otrzymywać " -"zaszyfrowane wiadomoÅ›ci z listy." - -#: views/index.hbs:17 -msgid "Click stats" -msgstr "Statystyki kliknięć" - -#: views/index.hbs:18 -msgid "" -"After a campaign is sent, check individual click statistics for every link " -"included in the message." -msgstr "" -"Po wysÅ‚aniu kampanii sprawdź statystyki poszczególnych kliknięć dla każdego " -"linku zawartego w wiadomoÅ›ci." - -#: views/index.hbs:19 -msgid "Open source" -msgstr "Open source" - -#: views/index.hbs:20 -msgid "Mailtrain is available under GPLv3 license and completely open source." -msgstr "Mailtrain jest dostÄ™pny na licencji GPLv3 i caÅ‚kowicie open source." - -#: views/index.hbs:21 -msgid "Send via any provider" -msgstr "WyÅ›lij przez dowolnego dostawcÄ™" - -#: views/index.hbs:22 -msgid "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -msgstr "" -"Mailtrain recommends SendPulse even though you " -"can use any provider that supports SMTP protocol to send out your " -"newsletters. Bounce and complaints handling via webhooks is supported for " -"SES, SparkPost, SendGrid and Mailgun, also for Postfix and ZoneMTA." -"Odbieranie i obsÅ‚uga skarg za poÅ›rednictwem webhooków jest obsÅ‚ugiwane dla " -"SES, SparkPost, SendGrid i Mailgun, także dla Postfix i ZoneMTA." - -#: views/index.hbs:23 -msgid "Trigger based automation" -msgstr "Automatyzacja oparta na wyzwalaczach" - -#: views/index.hbs:24 -msgid "" -"Define automation triggers to send specific messages when a user activates " -"the trigger." -msgstr "" -"Zdefiniuj wyzwalacze automatyzacji, aby wysÅ‚ać okreÅ›lone komunikaty, gdy " -"użytkownik aktywuje wyzwalacz." - -#: views/layout.hbs:2 -msgid "Toggle navigation" -msgstr "Przełącz nawigacjÄ™" - -#: views/layout.hbs:3 -msgid "Wiki" -msgstr "Wiki" - -#: views/layout.hbs:4 -msgid "Blog" -msgstr "Blog" - -#: views/layout.hbs:5 views/users/account.hbs:2 views/users/account.hbs:3 -msgid "Account" -msgstr "Konto" - -#: views/layout.hbs:6 views/settings.hbs:2 views/settings.hbs:3 -msgid "Settings" -msgstr "Ustawienia" - -#: views/layout.hbs:7 views/users/api.hbs:2 views/users/api.hbs:3 -msgid "API" -msgstr "API" - -#: views/layout.hbs:8 -msgid "Log out" -msgstr "Wyloguj" - -#: views/layout.hbs:9 views/users/forgot.hbs:2 views/users/login.hbs:2 -#: views/users/login.hbs:3 views/users/login.hbs:9 views/users/reset.hbs:2 -msgid "Sign in" -msgstr "Zaloguj siÄ™" - -#: views/layout.hbs:10 -msgid "Self hosted newsletter app built on top of Nodemailer" -msgstr "" -"Samodzielnie hostowana aplikacja e-mail newsletter zbudowana na bazie " -"Nodemailera" - -#: views/layout.hbs:11 views/layout.hbs:13 -msgid "Source on GitHub" -msgstr "ŹródÅ‚o na GitHub" - -#: views/layout.hbs:12 -msgid "Subscribe to our newsletter" -msgstr "Zapisz siÄ™ do naszego newslettera" - -#: views/lists/create.hbs:2 views/lists/edit.hbs:2 -#: views/lists/fields/create.hbs:2 views/lists/fields/edit.hbs:2 -#: views/lists/fields/fields.hbs:2 views/lists/lists.hbs:2 -#: views/lists/lists.hbs:4 views/lists/segments/create.hbs:2 -#: views/lists/segments/edit.hbs:2 views/lists/segments/rule-configure.hbs:2 -#: views/lists/segments/rule-create.hbs:2 views/lists/segments/rule-edit.hbs:2 -#: views/lists/segments/segments.hbs:2 views/lists/segments/view.hbs:2 -#: views/lists/subscription/add.hbs:2 views/lists/subscription/edit.hbs:2 -#: views/lists/subscription/import-failed.hbs:2 -#: views/lists/subscription/import-preview.hbs:2 -#: views/lists/subscription/import.hbs:2 views/lists/view.hbs:2 -#: lib/tools.js:111 -msgid "Lists" -msgstr "Listy" - -#: views/lists/create.hbs:3 views/lists/create.hbs:4 views/lists/create.hbs:9 -#: views/lists/lists.hbs:3 -msgid "Create List" -msgstr "Utwórz listÄ™" - -#: views/lists/create.hbs:6 views/lists/edit.hbs:7 -msgid "List Name" -msgstr "Nazwa listy" - -#: views/lists/edit.hbs:3 views/lists/edit.hbs:4 views/lists/view.hbs:7 -msgid "Edit List" -msgstr "Edytuj listÄ™" - -#: views/lists/edit.hbs:5 -msgid "View List" -msgstr "WyÅ›wietl listÄ™" - -#: views/lists/edit.hbs:8 -msgid "List ID" -msgstr "ID listy" - -#: views/lists/edit.hbs:9 -msgid "This is the list ID displayed to the subscribers" -msgstr "To jest ID listy wyÅ›wietlany dla subskrybentów" - -#: views/lists/edit.hbs:12 -msgid "Delete List" -msgstr "UsuÅ„ listÄ™" - -#: views/lists/fields/create.hbs:3 views/lists/fields/edit.hbs:3 -#: views/lists/fields/fields.hbs:3 views/lists/fields/fields.hbs:5 -#: views/lists/view.hbs:5 -msgid "Custom Fields" -msgstr "Pola niestandardowe" - -#: views/lists/fields/create.hbs:4 -msgid "Create Field" -msgstr "Utwórz pole" - -#: views/lists/fields/create.hbs:5 views/lists/fields/fields.hbs:4 -msgid "Create Custom Field" -msgstr "Utwórz pole niestandardowe" - -#: views/lists/fields/create.hbs:6 views/lists/fields/create.hbs:7 -#: views/lists/fields/edit.hbs:7 views/lists/fields/edit.hbs:8 -msgid "Field Name" -msgstr "Nazwa pola" - -#: views/lists/fields/create.hbs:8 views/lists/fields/edit.hbs:9 -msgid "Field Type" -msgstr "Typ pola" - -#: views/lists/fields/create.hbs:9 views/lists/fields/edit.hbs:10 -#: lib/models/fields.js:17 -msgid "Text" -msgstr "Tekst" - -#: views/lists/fields/create.hbs:10 views/lists/fields/edit.hbs:11 -#: lib/models/fields.js:21 -msgid "Number" -msgstr "Numer" - -#: views/lists/fields/create.hbs:11 views/lists/fields/edit.hbs:12 -#: lib/models/fields.js:18 -msgid "Website" -msgstr "Strona www" - -#: views/lists/fields/create.hbs:12 views/lists/fields/edit.hbs:13 -#: lib/models/fields.js:20 -msgid "GPG Public Key" -msgstr "Klucz publiczny GPG" - -#: views/lists/fields/create.hbs:13 views/lists/fields/edit.hbs:14 -#: lib/models/fields.js:19 -msgid "Multi-line text" -msgstr "Tekst wielowierszowy" - -#: views/lists/fields/create.hbs:14 views/lists/fields/edit.hbs:15 -msgid "JSON" -msgstr "JSON" - -#: views/lists/fields/create.hbs:15 views/lists/fields/edit.hbs:16 -msgid "Date" -msgstr "Data" - -#: views/lists/fields/create.hbs:16 views/lists/fields/edit.hbs:17 -msgid "Date (MM/DD/YYYY)" -msgstr "Data (MM/DD/YYYY)" - -#: views/lists/fields/create.hbs:17 views/lists/fields/edit.hbs:18 -#: lib/models/fields.js:26 -msgid "Date (DD/MM/YYYY)" -msgstr "Data (DD/MM/YYYY)" - -#: views/lists/fields/create.hbs:18 views/lists/fields/edit.hbs:19 -msgid "Birthday" -msgstr "Urodziny" - -#: views/lists/fields/create.hbs:19 views/lists/fields/edit.hbs:20 -#: lib/models/fields.js:27 -msgid "Birthday (MM/DD)" -msgstr "Urodziny (MM/DD)" - -#: views/lists/fields/create.hbs:20 views/lists/fields/edit.hbs:21 -#: lib/models/fields.js:28 -msgid "Birthday (DD/MM)" -msgstr "Urodziny (DD/MM)" - -#: views/lists/fields/create.hbs:21 views/lists/fields/edit.hbs:22 -msgid "Grouped" -msgstr "Grouped." - -#: views/lists/fields/create.hbs:22 views/lists/fields/edit.hbs:23 -msgid "Drop Downs" -msgstr "Listy rozwijane" - -#: views/lists/fields/create.hbs:23 views/lists/fields/edit.hbs:24 -#: lib/models/fields.js:22 -msgid "Radio Buttons" -msgstr "Radio Buttons" - -#: views/lists/fields/create.hbs:24 views/lists/fields/edit.hbs:25 -#: lib/models/fields.js:23 -msgid "Checkboxes" -msgstr "Checkboxes" - -#: views/lists/fields/create.hbs:25 views/lists/fields/edit.hbs:26 -msgid "Option for a group value" -msgstr "Opcja dla wartoÅ›ci grupy" - -#: views/lists/fields/create.hbs:26 views/lists/fields/edit.hbs:27 -msgid "Group" -msgstr "Grupa" - -#: views/lists/fields/create.hbs:28 views/lists/fields/edit.hbs:29 -msgid "Required for group options" -msgstr "Wymagane w przypadku opcji grupowych" - -#: views/lists/fields/create.hbs:29 views/lists/fields/create.hbs:30 -#: views/lists/fields/edit.hbs:35 views/lists/fields/edit.hbs:36 -#: views/lists/fields/fields.hbs:9 -msgid "Default merge tag value" -msgstr "DomyÅ›lna wartość merge tag" - -#: views/lists/fields/create.hbs:32 views/lists/fields/edit.hbs:34 -msgid "" -"For group elements like checkboxes you can control the appearance of the " -"merge tag with an optional template. The template uses handlebars syntax and " -"you can find all values from {{values}} array, for example " -"{{#each values}} {{this}} {{/each}}. If template is not defined " -"then multiple values are joined with commas. You can also use this template " -"to render JSON values (if the JSON is an array then the array is exposed as " -"values, otherwise you can access the JSON keys directly)." -msgstr "" -"W przypadku elementów grupy, takich jak checkboxy, można kontrolować wyglÄ…d " -"merge tagów za pomocÄ… opcjonalnego szablonu. Szablon używa skÅ‚adni " -"handlebars i możesz znaleźć wszystkie wartoÅ›ci z tablicy {{values}}, na przykÅ‚ad {{#each values}} {{this}} {{/each}} . JeÅ›li " -"szablon nie jest zdefiniowany, wiele wartoÅ›ci jest łączonych przecinkami. " -"Możesz również użyć tego szablonu do renderowania wartoÅ›ci JSON (jeÅ›li JSON " -"jest tablicÄ…, wtedy tablica jest wyÅ›wietlana jako values, w " -"przeciwnym razie możesz uzyskać bezpoÅ›redni dostÄ™p do kluczy JSON)." - -#: views/lists/fields/create.hbs:33 views/lists/fields/edit.hbs:37 -msgid "Visible" -msgstr "Widoczny" - -#: views/lists/fields/create.hbs:34 -msgid "Add Field" -msgstr "Dodaj pole" - -#: views/lists/fields/edit.hbs:4 -msgid "Edit Field" -msgstr "Edytuj pole" - -#: views/lists/fields/edit.hbs:5 -msgid "Edit Custom Field" -msgstr "Edytuj pole niestandardowe" - -#: views/lists/fields/edit.hbs:6 -msgid "Back to fields" -msgstr "Powrót do pól" - -#: views/lists/fields/edit.hbs:30 views/lists/fields/fields.hbs:8 -#: views/partials/merge-tag-reference.hbs:3 -msgid "Merge tag" -msgstr "Merge tag" - -#: views/lists/fields/edit.hbs:31 -msgid "Merge Tag" -msgstr "Merge Tag" - -#: views/lists/fields/edit.hbs:32 -msgid "Put this tag in your content:" -msgstr "Umieść ten tag w swojej treÅ›ci:" - -#: views/lists/fields/edit.hbs:38 -msgid "Delete Field" -msgstr "UsuÅ„ pole" - -#: views/lists/fields/fields.hbs:7 views/lists/view.hbs:25 -msgid "Type" -msgstr "Typ" - -#: views/lists/fields/fields.hbs:10 views/lists/fields/fields.hbs:11 -#: views/lists/lists.hbs:9 views/lists/segments/segments.hbs:8 -#: views/lists/segments/view.hbs:12 views/templates/templates.hbs:7 -#: views/triggers/triggers.hbs:14 routes/campaigns.js:287 -#: routes/campaigns.js:576 routes/campaigns.js:626 routes/lists.js:222 -#: routes/triggers.js:297 -msgid "Edit" -msgstr "Edytuj" - -#: views/lists/lists.hbs:6 -msgid "ID" -msgstr "ID" - -#: views/lists/lists.hbs:7 -msgid "Subscribers" -msgstr "Subskrybenci" - -#: views/lists/segments/create.hbs:3 views/lists/segments/edit.hbs:3 -#: views/lists/segments/rule-configure.hbs:3 -#: views/lists/segments/rule-create.hbs:3 views/lists/segments/rule-edit.hbs:3 -#: views/lists/segments/segments.hbs:3 views/lists/segments/segments.hbs:5 -#: views/lists/segments/view.hbs:3 views/lists/view.hbs:6 -#: views/lists/view.hbs:13 -msgid "Segments" -msgstr "Segmenty" - -#: views/lists/segments/create.hbs:4 views/lists/segments/create.hbs:5 -#: views/lists/segments/rule-configure.hbs:4 -#: views/lists/segments/rule-create.hbs:4 views/lists/segments/rule-edit.hbs:4 -#: views/lists/segments/segments.hbs:4 -msgid "Create Segment" -msgstr "Utwórz segment" - -#: views/lists/segments/create.hbs:6 views/lists/segments/create.hbs:7 -#: views/lists/segments/edit.hbs:7 views/lists/segments/edit.hbs:8 -msgid "Segment Name" -msgstr "Nazwa segmentu" - -#: views/lists/segments/create.hbs:8 views/lists/segments/edit.hbs:9 -msgid "Rule match" -msgstr "Dopasowanie reguÅ‚" - -#: views/lists/segments/create.hbs:10 views/lists/segments/edit.hbs:11 -msgid "All rules must match" -msgstr "Wszystkie reguÅ‚y muszÄ… siÄ™ zgadzać" - -#: views/lists/segments/create.hbs:11 views/lists/segments/edit.hbs:12 -msgid "Any rule can match" -msgstr "Każda reguÅ‚a może siÄ™ zgadzać" - -#: views/lists/segments/create.hbs:12 -msgid "Add Segment" -msgstr "Dodaj segment" - -#: views/lists/segments/edit.hbs:4 views/lists/segments/edit.hbs:5 -#: views/lists/segments/view.hbs:6 views/lists/view.hbs:11 -msgid "Edit Segment" -msgstr "Edytuj segment" - -#: views/lists/segments/edit.hbs:6 -msgid "Back to segments" -msgstr "Powrót do segmentów" - -#: views/lists/segments/edit.hbs:13 -msgid "Delete Segment" -msgstr "UsuÅ„ segment" - -#: views/lists/segments/rule-configure.hbs:5 -#: views/lists/segments/rule-create.hbs:5 views/lists/segments/rule-edit.hbs:5 -#: views/lists/segments/view.hbs:4 -msgid "Create Rule" -msgstr "Utwórz regułę" - -#: views/lists/segments/rule-configure.hbs:6 -#: views/lists/segments/rule-create.hbs:6 views/lists/segments/rule-edit.hbs:6 -#: views/lists/segments/view.hbs:10 -msgid "Rule" -msgstr "ReguÅ‚a" - -#: views/lists/segments/rule-configure.hbs:7 -#: views/lists/segments/rule-configure.hbs:8 -#: views/lists/segments/rule-configure.hbs:10 -#: views/lists/segments/rule-configure.hbs:13 -#: views/lists/segments/rule-configure.hbs:25 -#: views/lists/segments/rule-configure.hbs:30 -#: views/lists/segments/rule-edit.hbs:7 views/lists/segments/rule-edit.hbs:8 -#: views/lists/segments/rule-edit.hbs:10 views/lists/segments/rule-edit.hbs:15 -#: views/lists/segments/rule-edit.hbs:29 views/lists/segments/rule-edit.hbs:34 -#: views/lists/segments/view.hbs:11 -msgid "Value" -msgstr "Wartość" - -#: views/lists/segments/rule-configure.hbs:9 -#: views/lists/segments/rule-edit.hbs:9 -msgid "" -"Use % for wildcard character, e.g. \"%test\" to match all values that end " -"with \"test\"" -msgstr "" -"Użyj % dla znaku wieloznacznego, np. \"%test\", aby dopasować wszystkie " -"wartoÅ›ci, które koÅ„czÄ… siÄ™ na \"test\"" - -#: views/lists/segments/rule-configure.hbs:11 -#: views/lists/segments/rule-configure.hbs:14 -#: views/lists/segments/rule-configure.hbs:26 -#: views/lists/segments/rule-edit.hbs:11 views/lists/segments/rule-edit.hbs:16 -#: views/lists/segments/rule-edit.hbs:30 -msgid "Use exact match" -msgstr "Użyj Å›cisÅ‚ego dopasowania" - -#: views/lists/segments/rule-configure.hbs:12 -#: views/lists/segments/rule-configure.hbs:15 -#: views/lists/segments/rule-configure.hbs:27 -#: views/lists/segments/rule-edit.hbs:12 views/lists/segments/rule-edit.hbs:17 -#: views/lists/segments/rule-edit.hbs:31 -msgid "Use range match" -msgstr "Użyj dopasowania zakresu" - -#: views/lists/segments/rule-configure.hbs:16 -#: views/lists/segments/rule-edit.hbs:20 -msgid "Use relative range match" -msgstr "Użyj wzglÄ™dnego dopasowania zakresu" - -#: views/lists/segments/rule-configure.hbs:17 -#: views/lists/segments/rule-configure.hbs:28 -#: views/lists/segments/rule-edit.hbs:13 views/lists/segments/rule-edit.hbs:18 -#: views/lists/segments/rule-edit.hbs:21 views/lists/segments/rule-edit.hbs:32 -msgid "From" -msgstr "Od" - -#: views/lists/segments/rule-configure.hbs:18 -#: views/lists/segments/rule-configure.hbs:22 -#: views/lists/segments/rule-edit.hbs:22 views/lists/segments/rule-edit.hbs:26 -msgid "days" -msgstr "dni" - -#: views/lists/segments/rule-configure.hbs:19 -#: views/lists/segments/rule-configure.hbs:23 -#: views/lists/segments/rule-edit.hbs:23 views/lists/segments/rule-edit.hbs:27 -msgid "before today" -msgstr "przed dzisiaj" - -#: views/lists/segments/rule-configure.hbs:20 -#: views/lists/segments/rule-configure.hbs:24 -#: views/lists/segments/rule-edit.hbs:24 views/lists/segments/rule-edit.hbs:28 -msgid "after today" -msgstr "po dzisiaj" - -#: views/lists/segments/rule-configure.hbs:21 -#: views/lists/segments/rule-configure.hbs:29 -#: views/lists/segments/rule-edit.hbs:14 views/lists/segments/rule-edit.hbs:19 -#: views/lists/segments/rule-edit.hbs:25 views/lists/segments/rule-edit.hbs:33 -msgid "to" -msgstr "do" - -#: views/lists/segments/rule-configure.hbs:31 -#: views/lists/segments/rule-edit.hbs:35 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Selected" -msgstr "Wybrano" - -#: views/lists/segments/rule-configure.hbs:32 -#: views/lists/segments/rule-edit.hbs:36 lib/models/segments.js:156 -#: lib/models/segments.js:418 -msgid "Not selected" -msgstr "Nie wybrano" - -#: views/lists/segments/rule-configure.hbs:33 -msgid "Add Rule" -msgstr "Dodaj regułę" - -#: views/lists/segments/rule-create.hbs:8 -#: views/lists/subscription/import.hbs:12 views/triggers/create-select.hbs:9 -msgid "Next" -msgstr "Dalej" - -#: views/lists/segments/rule-edit.hbs:37 -msgid "Delete Rule" -msgstr "UsuÅ„ regułę" - -#: views/lists/segments/segments.hbs:7 -msgid "Match" -msgstr "Dopasowanie" - -#: views/lists/segments/view.hbs:5 views/lists/view.hbs:12 -msgid "Segment" -msgstr "Segment" - -#: views/lists/segments/view.hbs:7 -msgid "Match rules" -msgstr "ReguÅ‚y dopasowania" - -#: views/lists/segments/view.hbs:8 -msgid "Matching subscribers" -msgstr "Dopasowani subskrybenci" - -#: views/lists/segments/view.hbs:9 -msgid "show" -msgstr "pokaż" - -#: views/lists/subscription/add.hbs:3 views/lists/subscription/add.hbs:4 -msgid "Add subscriber" -msgstr "Dodaj subskrybenta" - -#: views/lists/subscription/add.hbs:5 views/subscription/manage.hbs:2 -#: views/subscription/subscribe.hbs:3 views/users/account.hbs:7 -msgid "Email Address" -msgstr "Adres e-mail" - -#: views/lists/subscription/add.hbs:8 views/lists/subscription/edit.hbs:9 -#: views/settings.hbs:82 views/settings.hbs:97 views/subscription/manage.hbs:7 -#: views/subscription/subscribe.hbs:7 -msgid "Begins with" -msgstr "Zaczyna siÄ™" - -#: views/lists/subscription/add.hbs:9 views/lists/subscription/edit.hbs:10 -msgid "" -"Insert a GPG public key that will be used to encrypt messages sent this " -"subscriber" -msgstr "" -"Wstaw klucz publiczny GPG, który bÄ™dzie używany do szyfrowania wiadomoÅ›ci " -"wysÅ‚anych przez tego subskrybenta" - -#: views/lists/subscription/add.hbs:11 views/lists/subscription/edit.hbs:12 -#: views/lists/subscription/import-preview.hbs:9 -msgid "Timezone" -msgstr "Strefa czasowa" - -#: views/lists/subscription/add.hbs:13 views/lists/subscription/edit.hbs:13 -msgid "Test user?" -msgstr "Użytkownik testowy?" - -#: views/lists/subscription/add.hbs:14 views/lists/subscription/edit.hbs:14 -msgid "" -"If checked then this subscription can be used for previewing campaign " -"messages" -msgstr "" -"JeÅ›li ta opcja jest zaznaczona, można użyć tej subskrypcji do przeglÄ…dania " -"wiadomoÅ›ci kampanii" - -#: views/lists/subscription/add.hbs:15 -msgid "" -"This person will not receive a confirmation email so make sure that you have " -"permission to email them." -msgstr "" -"Ta osoba nie otrzyma e-maila z potwierdzeniem, wiÄ™c upewnij siÄ™, że masz " -"uprawnienia do e-maila." - -#: views/lists/subscription/edit.hbs:3 views/lists/subscription/edit.hbs:4 -msgid "Edit subscriber" -msgstr "Edytuj subskrybenta" - -#: views/lists/subscription/edit.hbs:5 -#: views/lists/subscription/import-failed.hbs:5 -msgid "Back to list" -msgstr "Powrót do listy" - -#: views/lists/subscription/edit.hbs:6 -#: views/lists/subscription/import-preview.hbs:6 -#: views/subscription/unsubscribe.hbs:3 lib/helpers.js:26 -#: lib/models/segments.js:11 -msgid "Email address" -msgstr "Adres e-mail" - -#: views/lists/subscription/edit.hbs:16 -msgid "Delete Subscription" -msgstr "UsuÅ„ subskrypcjÄ™" - -#: views/lists/subscription/import-failed.hbs:3 -msgid "Import status" -msgstr "Status importu" - -#: views/lists/subscription/import-failed.hbs:4 -msgid "Failed addresses" -msgstr "Nieudane adresy" - -#: views/lists/subscription/import-failed.hbs:6 -msgid "see here" -msgstr "zobacz tutaj" - -#: views/lists/subscription/import-failed.hbs:10 -msgid "Fail reason" -msgstr "Przyczyna niepowodzenia" - -#: views/lists/subscription/import-preview.hbs:3 -#: views/lists/subscription/import-preview.hbs:4 -#: views/lists/subscription/import.hbs:3 views/lists/subscription/import.hbs:4 -msgid "Import subscribers" -msgstr "Zaimportuj subskrybentów" - -#: views/lists/subscription/import-preview.hbs:10 views/users/api.hbs:27 -#: views/users/api.hbs:35 views/users/api.hbs:43 views/users/api.hbs:55 -msgid "Example" -msgstr "PrzykÅ‚ad" - -#: views/lists/subscription/import-preview.hbs:11 -msgid "Start import" -msgstr "Rozpocznij importowanie" - -#: views/lists/subscription/import.hbs:5 -msgid "CSV File" -msgstr "Plik CSV" - -#: views/lists/subscription/import.hbs:6 -msgid "CSV delimiter" -msgstr "Separator CSV" - -#: views/lists/subscription/import.hbs:7 -msgid "Categorize the imported subscribers as" -msgstr "Skategoryzuj importowanych subskrybentów jako" - -#: views/lists/subscription/import.hbs:8 routes/lists.js:171 -msgid "Subscribed" -msgstr "Subskrybuje" - -#: views/lists/subscription/import.hbs:9 -msgid "Regular subscriber addresses" -msgstr "Regularne adresy subskrybentów" - -#: views/lists/subscription/import.hbs:11 -msgid "Suppressed emails that will be unsubscribed from your list" -msgstr "Pomijane e-maile, które zostanÄ… wypisane z listy" - -#: views/lists/view.hbs:3 -msgid "Subscription Form" -msgstr "Formularz subskrypcji" - -#: views/lists/view.hbs:4 -msgid "List Actions" -msgstr "Lista akcji" - -#: views/lists/view.hbs:8 views/triggers/create-select.hbs:3 -#: views/triggers/create-select.hbs:4 views/triggers/create.hbs:3 -#: views/triggers/create.hbs:4 views/triggers/create.hbs:27 -#: views/triggers/triggers.hbs:3 -msgid "Create Trigger" -msgstr "Utwórz wyzwalacz" - -#: views/lists/view.hbs:9 -msgid "Add Subscriber" -msgstr "Dodaj subskrybenta" - -#: views/lists/view.hbs:10 -msgid "Import Subscribers" -msgstr "Importuj subskrybentów" - -#: views/lists/view.hbs:14 -msgid "Create New Segment" -msgstr "Utwórz nowy segment" - -#: views/lists/view.hbs:15 -msgid "Filter" -msgstr "Filtr" - -#: views/lists/view.hbs:16 -msgid "Subscriptions" -msgstr "Subskrypcje" - -#: views/lists/view.hbs:17 -msgid "Imports" -msgstr "Import" - -#: views/lists/view.hbs:24 routes/campaigns.js:266 routes/lists.js:265 -msgid "Finished" -msgstr "SkoÅ„czone" - -#: views/lists/view.hbs:26 -msgid "Added" -msgstr "Dodany" - -#: views/lists/view.hbs:27 -msgid "Updated" -msgstr "Zaktualizowano" - -#: views/lists/view.hbs:28 -msgid "Failed" -msgstr "Nie powiodÅ‚o siÄ™" - -#: views/lists/view.hbs:30 -msgid "" -"Are you sure? This action should only be called to resolve stalled imports" -msgstr "" -"JesteÅ› pewny? Ta czynność powinna byÅ› wywoÅ‚ana tylko w celu rozwiÄ…zania " -"impasu importu." - -#: views/lists/view.hbs:31 -msgid "Restart" -msgstr "Uruchom ponownie" - -#: views/partials/codeeditor.hbs:1 views/partials/summernote.hbs:1 -msgid "Template content (HTML)" -msgstr "Zawartość szablonu (HTML)" - -#: views/partials/html-preview.hbs:1 -msgid "Toggle HTML preview" -msgstr "Przełącz podglÄ…d HTML" - -#: views/partials/merge-tag-reference.hbs:1 -msgid "Merge tag reference" -msgstr "Odniesienie merge tag" - -#: views/partials/merge-tag-reference.hbs:2 -msgid "" -"Merge tags are tags that are replaced before sending out the message. The " -"format of the merge tag is the following: [TAG_NAME] or " -"[TAG_NAME/fallback] where fallback is an optional " -"text value used when TAG_NAME is empty." -msgstr "" -"Merge tagi sÄ… tagami, które sÄ… zastÄ™powane przed wysÅ‚aniem wiadomoÅ›ci. " -"Format merge tagu jest nastÄ™pujÄ…cy: [TAG_NAME] lub " -"[TAG_NAME/fallback] gdzie fallback jest opcjonalnÄ… " -"wartoÅ›ciÄ… tekstowÄ… używanÄ…, gdy TAG_NAME jest pusty." - -#: views/partials/plaintext.hbs:1 -msgid "Template content (plaintext)" -msgstr "Treść szablonu (zwykÅ‚y tekst)" - -#: views/settings.hbs:5 -msgid "Service Address (URL)" -msgstr "Adres usÅ‚ugi (URL)" - -#: views/settings.hbs:6 -msgid "Enter the URL this service can be reached from" -msgstr "Wprowadź adres URL, z którego można uzyskać tÄ™ usÅ‚ugÄ™" - -#: views/settings.hbs:7 -msgid "Admin Email" -msgstr "E-mail Administratora" - -#: views/settings.hbs:8 -msgid "" -"Enter the email address that will be used as \"from\" for system messages" -msgstr "" -"Wprowadź adres e-mail, który bÄ™dzie używany jako \"from \" dla wiadomoÅ›ci " -"systemowych" - -#: views/settings.hbs:9 -msgid "Disable WYSIWYG editor" -msgstr "Wyłącz edytor WYSIWYG" - -#: views/settings.hbs:10 -msgid "If checked then message editor displays HTML code without the preview" -msgstr "JeÅ›li zaznaczone, edytor wiadomoÅ›ci wyÅ›wietla kod HTML bez podglÄ…du" - -#: views/settings.hbs:11 -msgid "Disable subscription confirmation messages" -msgstr "Wyłącz wiadomoÅ›ci potwierdzajÄ…ce subskrypcjÄ™" - -#: views/settings.hbs:12 -msgid "" -"If checked then do not send a confirmation message that states the " -"subscriber is now subscribed or unsubscribed. This does not disable double " -"opt-in messages." -msgstr "" -"JeÅ›li jest zaznaczone, nie wysyÅ‚aj wiadomoÅ›ci potwierdzajÄ…cej, że " -"subskrybent jest teraz subskrybowany lub nie subskrybowany. Nie wyłącza to " -"podwójnych wiadomoÅ›ci opt-in." - -#: views/settings.hbs:13 -msgid "Tracking ID" -msgstr "Identyfikator Å›ledzenia" - -#: views/settings.hbs:14 -msgid "Enter Google Analytics tracking code" -msgstr "Wpisz kod Å›ledzenia Google Analytics" - -#: views/settings.hbs:15 -msgid "Frontpage shout out" -msgstr "" - -#: views/settings.hbs:16 -msgid "HTML code shown in the front page header section" -msgstr "Kod HTML wyÅ›wietlany w sekcji nagłówka na pierwszej stronie" - -#: views/settings.hbs:17 -msgid "Campaign defaults" -msgstr "DomyÅ›lne ustawienia kampanii" - -#: views/settings.hbs:18 -msgid "Sender name" -msgstr "Nazwa nadawcy" - -#: views/settings.hbs:19 -msgid "Sender name, eg. My Awesome Company Ltd." -msgstr "Nazwa nadawcy, np. My Awesome Company Ltd." - -#: views/settings.hbs:20 -msgid "Default address" -msgstr "DomyÅ›lny adres" - -#: views/settings.hbs:21 -msgid "" -"Contact address to provide, eg. 1234 Main Street, Anywhere, MA 01234, USA" -msgstr "" -"Adres kontaktowy do dostarczenia, np. 1234 Main Street, Anywhere, MA 01234, " -"USA" - -#: views/settings.hbs:22 -msgid "Default \"from name\"" -msgstr "DomyÅ›lna nazwa \"from\"" - -#: views/settings.hbs:24 -msgid "Default \"from\" email" -msgstr "DomyÅ›lny e-mail \"from\"" - -#: views/settings.hbs:26 -msgid "Default \"subject line\"" -msgstr "DomyÅ›lny temat \"from\"" - -#: views/settings.hbs:28 -msgid "Default homepage (URL)" -msgstr "DomyÅ›lna strona główna (URL)" - -#: views/settings.hbs:29 -msgid "URL to redirect the subscribed users to, eg. http://example.com/" -msgstr "Adres URL do przekierowania subskrybentów do, np. http://example.com/" - -#: views/settings.hbs:30 -msgid "Mailer Settings" -msgstr "Ustawienia Mailera" - -#: views/settings.hbs:31 -msgid "These settings are required to send out e-mail messages" -msgstr "Te ustawienia sÄ… wymagane do wysyÅ‚ania wiadomoÅ›ci e-mail" - -#: views/settings.hbs:32 -msgid "SMTP" -msgstr "SMTP" - -#: views/settings.hbs:33 -msgid "AWS SES" -msgstr "AWS SES" - -#: views/settings.hbs:34 -msgid "Use SMTP for sending mail" -msgstr "Użyj SMTP do wysyÅ‚ania poczty" - -#: views/settings.hbs:35 -msgid "Hostname" -msgstr "Nazwa hosta" - -#: views/settings.hbs:36 -msgid "Port" -msgstr "Port" - -#: views/settings.hbs:37 -msgid "Port, eg. 465. Autodetected if left blank" -msgstr "Port, np. 465. Autodetekcja, jeÅ›li pozostanie pusta" - -#: views/settings.hbs:38 -msgid "Encryption" -msgstr "Szyfrowanie" - -#: views/settings.hbs:39 -msgid "Disable SMTP authentication" -msgstr "Wyłącz uwierzytelnianie SMTP" - -#: views/settings.hbs:40 views/users/forgot.hbs:9 views/users/login.hbs:4 -#: views/users/login.hbs:5 -msgid "Username" -msgstr "Nazwa użytkownika" - -#: views/settings.hbs:41 -msgid "Username, eg. myaccount@example.com" -msgstr "Nazwa użytkownika, np. myaccount@example.com" - -#: views/settings.hbs:42 views/settings.hbs:43 views/users/login.hbs:6 -#: views/users/login.hbs:7 -msgid "Password" -msgstr "HasÅ‚o" - -#: views/settings.hbs:44 -msgid "Use SES API for sending mail" -msgstr "Użyj interfejsu API SES do wysyÅ‚ania poczty" - -#: views/settings.hbs:45 -msgid "Access Key" -msgstr "Access Key" - -#: views/settings.hbs:46 -msgid "AWS Access Key Id" -msgstr "AWS Access Key Id" - -#: views/settings.hbs:47 -msgid "Secret Key" -msgstr "Secret Key" - -#: views/settings.hbs:48 -msgid "AWS Secret Access Key" -msgstr "AWS Secret Access Key" - -#: views/settings.hbs:49 -msgid "Region" -msgstr "Region" - -#: views/settings.hbs:50 -msgid "Checking" -msgstr "Sprawdzanie" - -#: views/settings.hbs:51 -msgid "Check Mailer config" -msgstr "Sprawdź konfiguracjÄ™ Mailera" - -#: views/settings.hbs:52 -msgid "Don't have an SMTP account yet? Create a free SendPulse account" -msgstr "Nie masz jeszcze konta SMTP? Utwórz darmowe konto SendPulse" - -#: views/settings.hbs:53 -msgid "here" -msgstr "tutaj" - -#: views/settings.hbs:54 -msgid "Advanced Mailer settings" -msgstr "Zaawansowane ustawienia Mailera" - -#: views/settings.hbs:55 -msgid "Log SMTP transactions" -msgstr "Loguj transakcje SMTP" - -#: views/settings.hbs:56 -msgid "Allow self-signed certificates" -msgstr "Zezwalaj na certyfikaty z podpisem wÅ‚asnym" - -#: views/settings.hbs:57 -msgid "Max connections" -msgstr "Maks. połączeÅ„" - -#: views/settings.hbs:58 -msgid "The count of max connections, eg. 10" -msgstr "Liczba maksymalnych połączeÅ„, np. 10" - -#: views/settings.hbs:59 -msgid "" -"The count of maximum simultaneous connections to make against the SMTP " -"server (defaults to 5). This limit is per sending process." -msgstr "" -"Liczba maksymalnych równoczesnych połączeÅ„ z serwerem SMTP (domyÅ›lnie 5). " -"Ten limit dotyczy procesu wysyÅ‚ania." - -#: views/settings.hbs:60 -msgid "Max messages" -msgstr "Maks. wiadomoÅ›ci" - -#: views/settings.hbs:61 -msgid "The count of max messages, eg. 100" -msgstr "Liczba maksymalnych wiadomoÅ›ci, np. 100" - -#: views/settings.hbs:62 -msgid "" -"he number of messages to send through a single connection before the " -"connection is closed and reopened (defaults to 100)" -msgstr "" -"Liczba wiadomoÅ›ci do wysÅ‚ania za poÅ›rednictwem jednego połączenia, zanim " -"połączenie zostanie zamkniÄ™ty i ponownie otwarty (domyÅ›lnie 100)" - -#: views/settings.hbs:63 -msgid "Throttling" -msgstr "DÅ‚awienie (Throttling)" - -#: views/settings.hbs:64 -msgid "Messages per hour eg. 1000" -msgstr "WiadomoÅ›ci na godzinÄ™, np. 1000" - -#: views/settings.hbs:65 -msgid "" -"Maximum number of messages to send in an hour. Leave empty or zero for no " -"throttling. If your provider uses a different speed limit (messages/minute " -"or messages/second) then convert this limit into messages/hour (1m/s => " -"3600m/h). This limit is per sending process." -msgstr "" -"Maksymalna liczba wiadomoÅ›ci do wysÅ‚ania w ciÄ…gu godziny. Pozostaw puste lub " -"zero dla barku dÅ‚awienia. JeÅ›li Twój dostawca wykorzystuje inny limit " -"prÄ™dkoÅ›ci (wiadomoÅ›ci/minutÄ™ lub wiadomoÅ›ci/sekundÄ™), zamieÅ„ ten limit na " -"wiadomoÅ›ci/godzinÄ™ (1m/s => 3600m/h). Ten limit dotyczy procesu wysyÅ‚ania." - -#: views/settings.hbs:66 -msgid "VERP bounce handling" -msgstr "ObsÅ‚uga odbijania VERP" - -#: views/settings.hbs:67 -msgid "" -"Mailtrain is able to use VERP based routing to detect bounces. In this case " -"the message is sent to the recipient using a custom VERP address as the " -"return path of the message. If the message is not accepted a bounce email is " -"sent to this special VERP address and thus a bounce is detected." -msgstr "" -"Mailtrain może wykorzystywać routing oparty na VERP do wykrywania odbić. W " -"takim przypadku wiadomość zostanie wysÅ‚ana do adresata przy użyciu " -"niestandardowego adresu VERP jako Å›cieżki powrotnej wiadomoÅ›ci. JeÅ›li " -"wiadomość nie zostanie przyjÄ™ta, wiadomość odrzucona wiadomość zostanie " -"wysÅ‚ana na specjalny adres VERP, a tym samym wykryte zostanie odrzucenie." - -#: views/settings.hbs:68 -msgid "" -"To get VERP working you need to set up a DNS MX record that points to your " -"Mailtrain hostname. You must also ensure that Mailtrain VERP interface is " -"available from port 25 of your server (port 25 usually requires root user " -"privileges). This way if anyone tries to send email to someuser@verp-" -"hostname then the email should end up to this server." -msgstr "" -"Aby uruchomić dziaÅ‚anie VERP, musisz skonfigurować rekord MX DNS, który " -"wskazuje twojÄ… nazwÄ™ hosta Mailtrain. Musisz także upewnić siÄ™, że interfejs " -"Mailtrain VERP jest dostÄ™pny z portu 25 serwera (port 25 zwykle wymaga " -"uprawnieÅ„ użytkownika root). W ten sposób, jeÅ›li ktoÅ› spróbuje wysÅ‚ać " -"wiadomość e-mail do someuser@verp-hostname, wówczas wiadomość e-mail powinna " -"dotrzeć do tego serwera." - -#: views/settings.hbs:69 -msgid "" -"VERP usually only works if you are using your own SMTP server. Regular relay " -"services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from " -"the message." -msgstr "" -"VERP zwykle dziaÅ‚a tylko wtedy, gdy używasz wÅ‚asnego serwera SMTP. Regularne " -"usÅ‚ugi przekazywania (SES, SparkPost, Gmail itp.) MajÄ… tendencjÄ™ do usuwania " -"adresu VERP z wiadomoÅ›ci." - -#: views/settings.hbs:70 -msgid "Use VERP to catch bounces" -msgstr "Użyj VERP do wykrycia odbicia" - -#: views/settings.hbs:71 -msgid "Server hostname" -msgstr "Nazwa hosta serwera" - -#: views/settings.hbs:72 -msgid "The VERP server hostname, eg. bounces.example.com" -msgstr "Nazwa hosta serwera VERP, np. bounces.example.com" - -#: views/settings.hbs:73 -msgid "" -"VERP bounce handling server hostname. This hostname is used in the SMTP " -"envelope FROM address and the MX DNS records should point to this server" -msgstr "" -"Nazwa hosta serwera obsÅ‚ugi odrzutów VERP. Ta nazwa hosta jest używana w " -"SMTP jako \"od\", a rekordy MX DNS powinny wskazywać na ten serwer" - -#: views/settings.hbs:74 -msgid "" -"VERP bounce handling server is not enabled. Modify your server configuration " -"file and restart server to enable it" -msgstr "" -"Serwer obsÅ‚ugi odrzutów VERP nie jest włączony. Zmodyfikuj plik " -"konfiguracyjny serwera i zrestartuj serwer, aby go włączyć." - -#: views/settings.hbs:75 -msgid "GPG Signing" -msgstr "Podpis GPG" - -#: views/settings.hbs:76 -msgid "" -"Only messages that are encrypted can be signed. Subsribers who have not set " -"up a GPG public key in their profile receive normal email messages. Users " -"with GPG key set receive encrypted messages and if you have signing key also " -"set, the messages are signed with this key." -msgstr "" -"Tylko wiadomoÅ›ci, które sÄ… zaszyfrowane, mogÄ… być podpisane. Subskrybenci, " -"którzy nie ustawili klucza publicznego GPG w swoim profilu, otrzymujÄ… zwykÅ‚e " -"wiadomoÅ›ci e-mail. Użytkownicy z zestawem kluczy GPG otrzymujÄ… zaszyfrowane " -"wiadomoÅ›ci i jeÅ›li masz ustawiony również klucz podpisu, wiadomoÅ›ci sÄ… " -"podpisywane tym kluczem." - -#: views/settings.hbs:77 -msgid "" -"Do not use sensitive keys here. The private key and passphrase are not " -"encrypted in the database." -msgstr "" -"Nie używaj tutaj wrażliwych kluczy. Klucz prywatny i hasÅ‚o nie sÄ… szyfrowane " -"w bazie danych." - -#: views/settings.hbs:78 -msgid "Private Key Passphrase" -msgstr "HasÅ‚o klucza prywatnego" - -#: views/settings.hbs:79 -msgid "Passphrase for the key if set" -msgstr "HasÅ‚o dla klucza, jeÅ›li jest ustawione" - -#: views/settings.hbs:80 -msgid "Only fill this if your private key is encrypted with a passphrase" -msgstr "WypeÅ‚nij to tylko, jeÅ›li Twój klucz prywatny jest zaszyfrowany hasÅ‚em" - -#: views/settings.hbs:81 -msgid "GPG Private Key" -msgstr "Klucz prywatny GPG" - -#: views/settings.hbs:83 -msgid "" -"This value is optional. If you do not provide a private key GPG encrypted " -"messages are sent without signing." -msgstr "" -"Ta wartość jest opcjonalna. JeÅ›li nie podasz klucza prywatnego GPG, " -"zaszyfrowane wiadomoÅ›ci sÄ… wysyÅ‚ane bez podpisu." - -#: views/settings.hbs:84 -msgid "DKIM Signing by ZoneMTA" -msgstr "Podpisywanie DKIM przez ZoneMTA" - -#: views/settings.hbs:85 -msgid "" -"If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing " -"all outgoing messages. Other services usually provide their own means to " -"DKIM sign your messages" -msgstr "" -"JeÅ›li używasz ZoneMTA, Mailtrain może dostarczyć klucz DKIM do podpisania " -"wszystkich wychodzÄ…cych wiadomoÅ›ci. Inne usÅ‚ugi zwykle zapewniajÄ… wÅ‚asne " -"Å›rodki do podpisywania wiadomoÅ›ci przez DKIM" - -#: views/settings.hbs:86 -msgid "" -"Do not use sensitive keys here. The private key is not encrypted in the " -"database." -msgstr "" -"Nie używaj tutaj wrażliwych kluczy. Klucz prywatny nie jest zaszyfrowany w " -"bazie danych." - -#: views/settings.hbs:87 -msgid "ZoneMTA DKIM API Key" -msgstr "Klucz API ZoneMTA DKIM" - -#: views/settings.hbs:88 -msgid "Some secret value" -msgstr "Tajna wartość" - -#: views/settings.hbs:89 -msgid "" -"Secret value known to ZoneMTA for requesting DKIM key information. If this " -"value was generated by the Mailtrain installation script then you can keep " -"it as it is" -msgstr "" -"Tajna wartość znana ZoneMTA dla żądaÅ„ klucza DKIM. JeÅ›li ta wartość zostaÅ‚a " -"wygenerowana przez skrypt instalacyjny Mailtrain, możesz zachować jÄ… w " -"niezmienionym stanie" - -#: views/settings.hbs:90 -msgid "DKIM domain" -msgstr "Domena DKIM" - -#: views/settings.hbs:91 -msgid "Domain name for the DKIM key" -msgstr "Nazwa domeny dla klucza DKIM" - -#: views/settings.hbs:92 -msgid "Leave blank to use the sender email address domain" -msgstr "Pozostaw puste, aby użyć domeny adresu e-mail nadawcy" - -#: views/settings.hbs:93 views/settings.hbs:94 -msgid "DKIM key selector" -msgstr "Selektor klucza DKIM" - -#: views/settings.hbs:95 -msgid "Signing is disabled without a valid selector value" -msgstr "Podpisywanie jest wyłączone bez prawidÅ‚owej wartoÅ›ci selektora" - -#: views/settings.hbs:96 -msgid "DKIM Private Key" -msgstr "Klucz prywatny DKIM" - -#: views/settings.hbs:98 -msgid "" -"This value is optional. If you do not provide a private key then messages " -"are not signed." -msgstr "" -"Ta wartość jest opcjonalna. JeÅ›li nie dostarczysz klucza prywatnego, " -"wiadomoÅ›ci nie bÄ™dÄ… podpisane." - -#: views/subscription/confirm-notice.hbs:1 views/subscription/subscribe.hbs:1 -msgid "Warning!" -msgstr "Ostrzeżenie!" - -#: views/subscription/confirm-notice.hbs:2 -msgid "If JavaScript was not enabled then no confirmation message was sent" -msgstr "JeÅ›li JavaScript nie byÅ‚ włączony, nie wysÅ‚ano żadnego potwierdzenia" - -#: views/subscription/confirm-notice.hbs:3 -msgid "Almost finished." -msgstr "Prawie gotowe." - -#: views/subscription/confirm-notice.hbs:4 -msgid "" -"We need to confirm your email address. To complete the subscription process, " -"please click the link in the email we just sent you." -msgstr "" -"Musimy potwierdzić swój adres e-mail. Aby zakoÅ„czyć proces subskrypcji, " -"kliknij link w wiadomoÅ›ci e-mail, którÄ… wÅ‚aÅ›nie wysÅ‚aliÅ›my." - -#: views/subscription/confirm-notice.hbs:5 -#: views/subscription/unsubscribe-notice.hbs:3 -#: views/subscription/updated-notice.hbs:3 -msgid "return to our website" -msgstr "powrót do strony" - -#: views/subscription/manage-address.hbs:1 -msgid "Update your Email Address" -msgstr "Zaktualizuj swój adres e-mail" - -#: views/subscription/manage-address.hbs:2 -msgid "Existing Email Address" -msgstr "IstniejÄ…cy adres e-mail" - -#: views/subscription/manage-address.hbs:3 -msgid "New Email Address" -msgstr "Nowy adres e-mail" - -#: views/subscription/manage-address.hbs:4 -msgid "Your new email address" -msgstr "Twój nowy adres e-mail" - -#: views/subscription/manage-address.hbs:5 -msgid "" -"You will receive a confirmation request to your new email address that you " -"need to accept before your email is actually changed" -msgstr "" -"Otrzymasz proÅ›bÄ™ o potwierdzenie na nowy adres e-mail, który musisz " -"zaakceptować przed faktycznÄ… zmianÄ… adresu e-mail" - -#: views/subscription/manage-address.hbs:6 -msgid "Update Email Address" -msgstr "Zaktualizuj adres e-mail" - -#: views/subscription/manage.hbs:1 -msgid "Update your preferences" -msgstr "Zaktualizuj swoje preferencje" - -#: views/subscription/manage.hbs:3 -msgid "want to change it?" -msgstr "chcesz to zmienić?" - -#: views/subscription/manage.hbs:6 views/subscription/subscribe.hbs:6 -msgid "Download signature verification key" -msgstr "Pobierz klucz weryfikacji podpisu" - -#: views/subscription/manage.hbs:8 views/subscription/subscribe.hbs:8 -msgid "" -"Insert your GPG public key here to encrypt messages sent to your address" -msgstr "" -"Wstaw tutaj swój publiczny klucz GPG, aby zaszyfrować wiadomoÅ›ci wysÅ‚ane na " -"Twój adres" - -#: views/subscription/manage.hbs:9 views/subscription/subscribe.hbs:9 -msgid "optional" -msgstr "opcjonalny" - -#: views/subscription/manage.hbs:11 -msgid "Update Profile" -msgstr "Zaktualizuj profil" - -#: views/subscription/subscribe.hbs:2 -msgid "JavaScript must be enabled in order for the subscription form to work" -msgstr "" -"Aby formularz subskrypcji dziaÅ‚aÅ‚, musi być włączona obsÅ‚uga JavaScript" - -#: views/subscription/subscribe.hbs:11 -msgid "Subscribe to list" -msgstr "Zapisz siÄ™ do listy" - -#: views/subscription/subscribed.hbs:3 -msgid "Thank you for subscribing!" -msgstr "DziÄ™kujemy za subskrypcjÄ™!" - -#: views/subscription/subscribed.hbs:4 -msgid "continue to our website" -msgstr "przejdź na naszÄ… stronÄ™ internetowÄ…" - -#: views/subscription/unsubscribe-notice.hbs:1 -msgid "Unsubscribe Successful" -msgstr "Anulowanie subskrypcji przebiegÅ‚o pomyÅ›lnie" - -#: views/subscription/unsubscribe-notice.hbs:2 -msgid "You have been removed from:" -msgstr "ZostaÅ‚eÅ› usuniÄ™ty z:" - -#: views/subscription/unsubscribe.hbs:2 -msgid "Enter your email address to unsubscribe from:" -msgstr "Wpisz swój adres e-mail, aby zrezygnować z subskrypcji:" - -#: views/subscription/updated-notice.hbs:1 -msgid "Profile Updated" -msgstr "Profil zaktualizowany" - -#: views/subscription/updated-notice.hbs:2 -msgid "Your profile information has been updated." -msgstr "Twoje informacje profilowe zostaÅ‚y zaktualizowane." - -#: views/templates/create.hbs:2 views/templates/edit.hbs:2 -#: views/templates/templates.hbs:2 views/templates/templates.hbs:4 -#: lib/tools.js:115 -msgid "Templates" -msgstr "Szablony" - -#: views/templates/create.hbs:3 views/templates/create.hbs:4 -#: views/templates/create.hbs:12 views/templates/templates.hbs:3 -msgid "Create Template" -msgstr "Utwórz szablon" - -#: views/templates/create.hbs:5 views/templates/edit.hbs:6 -msgid "Template name" -msgstr "Nazwa szablonu" - -#: views/templates/create.hbs:6 views/templates/edit.hbs:7 -msgid "Name for this template, eg. Newsletter" -msgstr "Nazwa tego szablonu, np. Newsletter" - -#: views/templates/create.hbs:7 -msgid "HTML Editor" -msgstr "Edytor HTML" - -#: views/templates/create.hbs:10 views/templates/edit.hbs:9 -msgid "Optional comments about this template" -msgstr "Opcjonalne komentarze na temat tego szablonu" - -#: views/templates/edit.hbs:3 views/templates/edit.hbs:4 -msgid "Edit Template" -msgstr "Edytuj szablon" - -#: views/templates/edit.hbs:5 -msgid "Back to templates" -msgstr "Powrót do szablonów" - -#: views/templates/edit.hbs:11 -msgid "Delete Template" -msgstr "UsuÅ„ Szablon" - -#: views/triggers/create-select.hbs:2 views/triggers/create.hbs:2 -#: views/triggers/edit.hbs:2 views/triggers/triggered.hbs:2 -#: views/triggers/triggers.hbs:2 views/triggers/triggers.hbs:4 -msgid "Automation Triggers" -msgstr "Automatyczne wyzwalacze" - -#: views/triggers/create-select.hbs:5 -msgid "Select a list for the trigger" -msgstr "Wybierz listÄ™ dla wyzwalacza" - -#: views/triggers/create.hbs:5 views/triggers/edit.hbs:6 -msgid "Trigger name" -msgstr "Nazwa wyzwalacza" - -#: views/triggers/create.hbs:6 views/triggers/edit.hbs:7 -msgid "Name for this trigger, eg. Inactive subscribers" -msgstr "Nazwa tego wyzwalacza, np. Nieaktywni subskrybenci" - -#: views/triggers/create.hbs:8 views/triggers/edit.hbs:9 -msgid "Optional comments about this trigger" -msgstr "Opcjonalne komentarze na temat tego wyzwalacza" - -#: views/triggers/create.hbs:12 views/triggers/edit.hbs:14 -msgid "Trigger rule" -msgstr "ReguÅ‚a wyzwalacza" - -#: views/triggers/create.hbs:13 views/triggers/edit.hbs:15 -msgid "Trigger fires" -msgstr "Aktywacja wyzwalacza" - -#: views/triggers/create.hbs:14 views/triggers/edit.hbs:16 -msgid "days after:" -msgstr "dni po:" - -#: views/triggers/create.hbs:15 views/triggers/edit.hbs:17 -msgid "Subscription" -msgstr "Subskrypcja" - -#: views/triggers/create.hbs:16 views/triggers/create.hbs:21 -#: views/triggers/edit.hbs:18 views/triggers/edit.hbs:23 -msgid "Event" -msgstr "Zdarzenie" - -#: views/triggers/create.hbs:18 views/triggers/create.hbs:19 -#: views/triggers/create.hbs:25 views/triggers/edit.hbs:20 -#: views/triggers/edit.hbs:21 views/triggers/edit.hbs:27 -msgid "Campaign" -msgstr "Kampania" - -#: views/triggers/create.hbs:23 views/triggers/edit.hbs:25 -msgid "Trigger action" -msgstr "Czynność wyzwalacza" - -#: views/triggers/create.hbs:24 views/triggers/edit.hbs:26 -msgid "Send campaign" -msgstr "WyÅ›lij kampaniÄ™" - -#: views/triggers/edit.hbs:3 views/triggers/edit.hbs:4 -msgid "Edit Trigger" -msgstr "Edycja wyzwalacza" - -#: views/triggers/edit.hbs:5 -msgid "Back to triggers" -msgstr "Powrót do wyzwalaczy" - -#: views/triggers/edit.hbs:11 -msgid "Trigger is enabled" -msgstr "Wyzwalacz jest włączony" - -#: views/triggers/edit.hbs:29 -msgid "Delete Trigger" -msgstr "UsuÅ„ wyzwalacz" - -#: views/triggers/triggered.hbs:3 -msgid "Triggered" -msgstr "WywoÅ‚any" - -#: views/triggers/triggered.hbs:4 -msgid "Triggered subscribers" -msgstr "WywoÅ‚ani subskrybenci" - -#: views/triggers/triggered.hbs:5 -msgid "Subscribers who caused this trigger to fire" -msgstr "Subskrybenci, którzy spowodowali uruchomienie tego wyzwalacza" - -#: views/triggers/triggered.hbs:9 -msgid "Triggered time" -msgstr "Czas wywoÅ‚anych" - -#: views/triggers/triggers.hbs:9 -msgid "Trigger" -msgstr "Wyzwalacz" - -#: views/triggers/triggers.hbs:10 -msgid "Target Campaign" -msgstr "Cel kampanii" - -#: views/triggers/triggers.hbs:11 -msgid "Triggered count" -msgstr "Liczba wyzwoleÅ„" - -#: views/triggers/triggers.hbs:12 -msgid "Enabled" -msgstr "Włączone" - -#: views/triggers/triggers.hbs:13 -msgid "Disabled" -msgstr "Wyłączone" - -#: views/users/account.hbs:4 -msgid "This account is managed through LDAP." -msgstr "To konto jest zarzÄ…dzane przez LDAP." - -#: views/users/account.hbs:5 -msgid "Associated Email Address" -msgstr "PowiÄ…zany adres e-mail" - -#: views/users/account.hbs:8 -msgid "Your e-mail address" -msgstr "Twój adres e-mail" - -#: views/users/account.hbs:9 -msgid "" -"This address is used for account recovery in case you lose your password" -msgstr "Ten adres sÅ‚uży do odzyskiwania konta na wypadek utraty hasÅ‚a" - -#: views/users/account.hbs:10 -msgid "Password change" -msgstr "Zmiana hasÅ‚a" - -#: views/users/account.hbs:11 -msgid "" -"You only need to fill out this form if you want to change your current " -"password" -msgstr "WypeÅ‚nij ten formularz, jeÅ›li chcesz zmienić swoje obecne hasÅ‚o" - -#: views/users/account.hbs:12 views/users/account.hbs:13 -msgid "Current Password" -msgstr "Aktualne hasÅ‚o" - -#: views/users/account.hbs:14 views/users/account.hbs:15 -#: views/users/reset.hbs:6 views/users/reset.hbs:7 -msgid "New Password" -msgstr "Nowe hasÅ‚o" - -#: views/users/account.hbs:16 -msgid "Confirm Password" -msgstr "Powtórz hasÅ‚o" - -#: views/users/account.hbs:17 views/users/reset.hbs:8 -msgid "Confirm New Password" -msgstr "Potwierdź nowe hasÅ‚o" - -#: views/users/api.hbs:4 -msgid "Are you sure? Resetting would invalidate the currently existing token." -msgstr "JesteÅ› pewny? Zresetowanie unieważni istniejÄ…cy token." - -#: views/users/api.hbs:5 -msgid "Are you sure?" -msgstr "JesteÅ› pewny?" - -#: views/users/api.hbs:6 -msgid "Reset Access Token" -msgstr "Zresetuj Access Token" - -#: views/users/api.hbs:7 -msgid "Generate Access Token" -msgstr "Wygeneruj Access Token" - -#: views/users/api.hbs:8 -msgid "Personal access token:" -msgstr "Osobisty Access Token:" - -#: views/users/api.hbs:9 -msgid "Access token not yet generated" -msgstr "Access token nie zostaÅ‚ jeszcze wygenerowany" - -#: views/users/api.hbs:10 -msgid "Notes about the API" -msgstr "Uwagi na temat interfejsu API" - -#: views/users/api.hbs:11 -msgid "" -"API response is a JSON structure with error and data properties. If the response error has a value set then " -"the request failed." -msgstr "" -"Odpowiedź API to struktura JSON z wÅ‚aÅ›ciwoÅ›ciami error i " -"data. JeÅ›li odpowiedź error ma ustawionÄ… " -"wartość, to żądanie nie powiodÅ‚o siÄ™." - -#: views/users/api.hbs:12 -msgid "" -"You need to define proper Content-Type when making a request. " -"You can either use application/x-www-form-urlencoded for normal " -"form data or application/json for a JSON payload. Using " -"multipart/form-data is not supported." -msgstr "" -"Musisz zdefiniować wÅ‚aÅ›ciwy Content-Type podczas wysyÅ‚ania " -"zapytania. Możesz użyć application/x-www-form-urlencoded dla " -"normalnych danych formularza lub application/json dla JSON " -"payload. Używanie multipart/form-data nie jest obsÅ‚ugiwane." - -#: views/users/api.hbs:13 -msgid "Add subscription" -msgstr "Dodaj subskrypcjÄ™" - -#: views/users/api.hbs:14 -msgid "" -"This API call either inserts a new subscription or updates existing. Fields " -"not included are left as is, so if you update only LAST_NAME value, then " -"FIRST_NAME is kept untouched for an existing subscription." -msgstr "" -"To wywoÅ‚anie API wprowadza nowÄ… subskrypcjÄ™ lub aktualizacje istniejÄ…ce. " -"Pola nieuwzglÄ™dnione pozostajÄ… bez zmian, wiÄ™c jeÅ›li zaktualizujesz tylko " -"wartość LAST_NAME, to FIRST_NAME pozostanie nietkniÄ™te dla istniejÄ…cej " -"subskrypcji." - -#: views/users/api.hbs:15 views/users/api.hbs:17 views/users/api.hbs:30 -#: views/users/api.hbs:32 views/users/api.hbs:38 views/users/api.hbs:40 -#: views/users/api.hbs:46 views/users/api.hbs:48 -msgid "arguments" -msgstr "argumenty" - -#: views/users/api.hbs:16 views/users/api.hbs:31 views/users/api.hbs:39 -#: views/users/api.hbs:47 -msgid "your personal access token" -msgstr "twój osobisty token dostÄ™pu" - -#: views/users/api.hbs:18 views/users/api.hbs:33 views/users/api.hbs:41 -msgid "subscriber's email address" -msgstr "subscriber's email addressadres e-mail subskrybenta" - -#: views/users/api.hbs:19 views/users/api.hbs:34 views/users/api.hbs:42 -#: views/users/api.hbs:50 -msgid "required" -msgstr "wymagany" - -#: views/users/api.hbs:20 -msgid "subscriber's first name" -msgstr "imiÄ™ subskrybenta" - -#: views/users/api.hbs:21 -msgid "subscriber's last name" -msgstr "nazwisko subskrybenta" - -#: views/users/api.hbs:22 -msgid "" -"subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not " -"set defaults to \"UTC\"" -msgstr "" -"strefa czasowa subskrybenta (np. \"Europa/Tallinn\", \"PST\" lub \"UTC\"). " -"JeÅ›li nie jest ustawiony domyÅ›lnie „UTCâ€" - -#: views/users/api.hbs:23 -msgid "" -"custom field value. Use yes/no for option group values (checkboxes, radios, " -"drop downs)" -msgstr "" -"niestandardowa wartość pola. Użyj wartoÅ›ci tak/nie dla wartoÅ›ci grup opcji " -"(checkbox, radio, lista rozwijana)" - -#: views/users/api.hbs:24 -msgid "Additional POST arguments" -msgstr "Dodatkowe argumenty POST" - -#: views/users/api.hbs:25 -msgid "" -"set to \"yes\" if you want to make sure the email is marked as subscribed " -"even if it was previously marked as unsubscribed. If the email was already " -"unsubscribed/blocked then subscription status is not changed" -msgstr "" -"ustawić na \"tak \", jeÅ›li chcesz siÄ™ upewnić, że wiadomość e-mail zostaÅ‚a " -"oznaczona jako zasubskrybowana, nawet jeÅ›li zostaÅ‚a wczeÅ›niej oznaczona jako " -"niesubskrybowana. JeÅ›li e-mail zostaÅ‚ już wypisany/zablokowane, status " -"subskrypcji nie zostanie zmieniony" - -#: views/users/api.hbs:26 -msgid "" -"set to \"yes\" if you want to send confirmation email to the subscriber " -"before actually marking as subscribed" -msgstr "" -"ustaw na \"tak\", jeÅ›li chcesz wysÅ‚ać wiadomość e-mail z potwierdzeniem do " -"subskrybenta, zanim faktycznie zostaniesz oznaczony jako zasubskrybowany" - -#: views/users/api.hbs:28 -msgid "Remove subscription" -msgstr "UsuÅ„ subskrypcjÄ™" - -#: views/users/api.hbs:29 -msgid "This API call marks a subscription as unsubscribed" -msgstr "To wywoÅ‚anie API oznacza subskrypcjÄ™ jako niesubskrybowanÄ…" - -#: views/users/api.hbs:36 -msgid "Delete subscription" -msgstr "UsuÅ„ subskrypcjÄ™" - -#: views/users/api.hbs:37 -msgid "This API call deletes a subscription" -msgstr "To wywoÅ‚anie API usuwa subskrypcjÄ™" - -#: views/users/api.hbs:44 -msgid "Add new custom field" -msgstr "Dodaj nowe niestandardowe pole" - -#: views/users/api.hbs:45 -msgid "This API call creates a new custom field for a list." -msgstr "To wywoÅ‚anie API tworzy nowe niestandardowe pole dla listy." - -#: views/users/api.hbs:49 -msgid "field name" -msgstr "nazwa pola" - -#: views/users/api.hbs:51 -msgid "one of the following types:" -msgstr "jeden z nastÄ™pujÄ…cych typów:" - -#: views/users/api.hbs:52 -msgid "" -"If the type is 'option' then you also need to specify the parent element ID" -msgstr "JeÅ›li typ to \"option\", musisz również podać ID elementu nadrzÄ™dnego" - -#: views/users/api.hbs:53 -msgid "" -"Template for the group element. If not set, then values of the elements are " -"joined with commas" -msgstr "" -"Szablon dla elementu grupy. JeÅ›li nie jest ustawione, wartoÅ›ci elementów sÄ… " -"połączone przecinkami" - -#: views/users/api.hbs:54 -msgid "" -"if not visible then the subscriber can not view or modify this value at the " -"profile page" -msgstr "" -"jeÅ›li niewidoczny, subskrybent nie może wyÅ›wietlić ani zmodyfikować tej " -"wartoÅ›ci na stronie profilu" - -#: views/users/forgot.hbs:3 views/users/reset.hbs:3 -msgid "Password Reset" -msgstr "Resetowanie hasÅ‚a" - -#: views/users/forgot.hbs:4 -msgid "Reset your password?" -msgstr "Nie pamiÄ™tasz hasÅ‚a?" - -#: views/users/forgot.hbs:5 -msgid "Accounts are managed through LDAP." -msgstr "Konta sÄ… zarzÄ…dzane przez LDAP." - -#: views/users/forgot.hbs:6 views/users/reset.hbs:10 -msgid "Reset Password" -msgstr "Resetuj hasÅ‚o" - -#: views/users/forgot.hbs:7 -msgid "" -"Please provide the username or email address that you used when you signed " -"up for your Mailtrain account." -msgstr "" -"Podaj nazwÄ™ użytkownika lub adres e-mail użyty podczas rejestracji konta " -"Mailtrain." - -#: views/users/forgot.hbs:8 -msgid "We will send you an email that will allow you to reset your password." -msgstr "WyÅ›lemy Ci wiadomość e-mail, która pozwoli Ci zresetować hasÅ‚o." - -#: views/users/forgot.hbs:10 -msgid "Username or email address" -msgstr "Nazwa użytkownika lub adres e-mail" - -#: views/users/forgot.hbs:11 -msgid "Send verification email" -msgstr "WyÅ›lij email weryfikacyjny" - -#: views/users/login.hbs:8 -msgid "Remember me" -msgstr "ZapamiÄ™taj mnie" - -#: views/users/login.hbs:11 views/users/login.hbs:12 -msgid "Forgot password?" -msgstr "ZapomniaÅ‚eÅ› hasÅ‚a?" - -#: views/users/reset.hbs:4 -msgid "Choose your new password" -msgstr "Wybierz nowe hasÅ‚o" - -#: views/users/reset.hbs:5 -msgid "Please enter a new password." -msgstr "Wprowadź nowe hasÅ‚o." - -#: lib/feed.js:31 -msgid "Bad status code %s" -msgstr "NieprawidÅ‚owy kod statusu %s" - -#: lib/helpers.js:17 -msgid "URL that points to the unsubscribe page" -msgstr "Adres URL wskazujÄ…cy stronÄ™ rezygnacji z subskrypcji" - -#: lib/helpers.js:20 -msgid "URL that points to the preferences page of the subscriber" -msgstr "Adres URL wskazujÄ…cy stronÄ™ preferencji subskrybenta" - -#: lib/helpers.js:23 -msgid "URL to preview the message in a browser" -msgstr "URL, aby wyÅ›wietlić podglÄ…d wiadomoÅ›ci w przeglÄ…darce" - -#: lib/helpers.js:29 lib/models/segments.js:31 -msgid "First name" -msgstr "ImiÄ™" - -#: lib/helpers.js:32 lib/models/segments.js:35 -msgid "Last name" -msgstr "Nazwisko" - -#: lib/helpers.js:35 -msgid "Full name (first and last name combined)" -msgstr "ImiÄ™ i nazwisko" - -#: lib/helpers.js:38 -msgid "Unique ID that identifies the recipient" -msgstr "Unikalny identyfikator identyfikujÄ…cy odbiorcÄ™" - -#: lib/helpers.js:41 -msgid "Unique ID that identifies the list used for this campaign" -msgstr "Unikalny identyfikator identyfikujÄ…cy listÄ™ użytÄ… w tej kampanii" - -#: lib/helpers.js:44 -msgid "Unique ID that identifies current campaign" -msgstr "Unikalny identyfikator identyfikujÄ…cy bieżącÄ… kampaniÄ™" - -#: lib/mailer.js:215 -msgid "Invalid mail transport" -msgstr "NieprawidÅ‚owy transport poczty" - -#: lib/models/campaigns.js:271 lib/models/campaigns.js:298 -#: lib/models/campaigns.js:371 lib/models/campaigns.js:494 -#: lib/models/campaigns.js:752 lib/models/campaigns.js:881 -msgid "Missing Campaign ID" -msgstr "BrakujÄ…cy identyfikator kampanii" - -#: lib/models/campaigns.js:407 -msgid "Emtpy or too large attahcment" -msgstr "Pusty lub zbyt duży załącznik" - -#: lib/models/campaigns.js:573 lib/models/campaigns.js:761 -msgid "Campaign Name must be set" -msgstr "Nazwa kampanii musi być ustawiona" - -#: lib/models/campaigns.js:577 -msgid "RSS URL must be set and needs to be a valid URL" -msgstr "" -"Adres URL kanaÅ‚u RSS musi być ustawiony i musi być prawidÅ‚owym adresem URL" - -#: lib/models/campaigns.js:730 -msgid "Selected template not found" -msgstr "Nie znaleziono wybranego szablonu" - -#: lib/models/campaigns.js:1082 -msgid "Invalid or missing message ID" -msgstr "NieprawidÅ‚owy lub brakujÄ…cy ID wiadomoÅ›ci" - -#: lib/models/fields.js:24 -msgid "Drop Down" -msgstr "Lista rozwijana" - -#: lib/models/fields.js:25 -msgid "Date (MM/DD/YYY)" -msgstr "Data (MM/DD/YYYY)" - -#: lib/models/fields.js:29 -msgid "JSON value for custom rendering" -msgstr "Wartość JSON dla renderowania niestandardowego" - -#: lib/models/fields.js:30 -msgid "Option" -msgstr "Opcja" - -#: lib/models/fields.js:53 lib/models/fields.js:98 lib/models/fields.js:123 -#: lib/models/lists.js:81 lib/models/lists.js:175 lib/models/lists.js:212 -#: lib/models/segments.js:43 lib/models/segments.js:176 -#: lib/models/subscriptions.js:88 lib/models/subscriptions.js:640 -#: lib/models/subscriptions.js:703 lib/models/subscriptions.js:889 -#: lib/models/subscriptions.js:992 lib/models/subscriptions.js:1046 -#: lib/models/subscriptions.js:1109 lib/models/subscriptions.js:1152 -msgid "Missing List ID" -msgstr "BrakujÄ…cy ID listy" - -#: lib/models/fields.js:129 -msgid "Option field requires a group to be selected" -msgstr "Pole opcji wymaga wyboru grupy" - -#: lib/models/fields.js:149 lib/models/fields.js:199 -msgid "Missing Field ID" -msgstr "BrakujÄ…cy ID pola" - -#: lib/models/fields.js:153 lib/models/segments.js:185 -#: lib/models/segments.js:225 -msgid "Field Name must be set" -msgstr "Nazwa pola musi być ustawiona" - -#: lib/models/fields.js:216 -msgid "Custom field not found" -msgstr "Nie znaleziono pola niestandardowego" - -#: lib/models/fields.js:289 -msgid "Unknown column type %s" -msgstr "Nieznany typ kolumny %s" - -#: lib/models/fields.js:293 -msgid "Missing column name" -msgstr "BrakujÄ…ca nazwa kolumny" - -#: lib/models/fields.js:297 -msgid "Missing list ID" -msgstr "BrakujÄ…cy ID listy" - -#: lib/models/fields.js:305 -msgid "Provided List ID not found" -msgstr "Nie znaleziono ID listy dostarczonych" - -#: lib/models/links.js:328 routes/campaigns.js:541 routes/campaigns.js:590 -#: services/sender.js:304 -msgid "Campaign not found" -msgstr "Nie znaleziono kampanii" - -#: lib/models/links.js:336 routes/lists.js:146 services/sender.js:311 -msgid "List not found" -msgstr "Nie znaleziono listy" - -#: lib/models/links.js:344 -msgid "Subscription not found" -msgstr "Nie znaleziono subskrypcji" - -#: lib/models/lists.js:117 lib/models/lists.js:179 -msgid "List Name must be set" -msgstr "Nazwa listy musi być ustawiona" - -#: lib/models/lists.js:241 -msgid "Missing List CID" -msgstr "BrakujÄ…cy CID listy" - -#: lib/models/segments.js:15 -msgid "Signup country" -msgstr "Kraj rejestracji" - -#: lib/models/segments.js:19 lib/models/triggers.js:11 -msgid "Sign up date" -msgstr "Data rejestracji" - -#: lib/models/segments.js:23 lib/models/triggers.js:15 -msgid "Latest open" -msgstr "Ostatnie otwarcie" - -#: lib/models/segments.js:27 lib/models/triggers.js:19 -msgid "Latest click" -msgstr "Ostatnie klikniÄ™cie" - -#: lib/models/segments.js:69 lib/models/segments.js:216 -#: lib/models/segments.js:256 lib/models/segments.js:278 -msgid "Missing Segment ID" -msgstr "BrakujÄ…cy ID segmentu" - -#: lib/models/segments.js:85 lib/models/segments.js:549 -#: lib/models/segments.js:658 -msgid "Segment not found" -msgstr "Nie znaleziono segmentu" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days after today" -msgstr "%s dni po dzisiejszym dniu" - -#: lib/models/segments.js:146 lib/models/segments.js:147 -#: lib/models/segments.js:408 lib/models/segments.js:409 -msgid "%s days before today" -msgstr "%s dni przed dzisiejszym dniem" - -#: lib/models/segments.js:148 lib/models/segments.js:410 -msgid "today" -msgstr "dziÅ›" - -#: lib/models/segments.js:189 lib/models/segments.js:229 -msgid "Invalid segment rule type" -msgstr "NieprawidÅ‚owy typ reguÅ‚y segmentu" - -#: lib/models/segments.js:289 lib/models/segments.js:454 routes/segments.js:266 -#: routes/segments.js:300 routes/segments.js:370 routes/segments.js:381 -msgid "Selected segment not found" -msgstr "Nie znaleziono wybranego segmentu" - -#: lib/models/segments.js:294 lib/models/segments.js:459 routes/segments.js:272 -#: routes/segments.js:306 routes/segments.js:387 -msgid "Invalid rule type" -msgstr "NieprawidÅ‚owy typ reguÅ‚y" - -#: lib/models/segments.js:358 lib/models/segments.js:434 -#: lib/models/segments.js:524 -msgid "Missing Rule ID" -msgstr "BrakujÄ…cy ID reguÅ‚y" - -#: lib/models/segments.js:374 -msgid "Specified rule not found" -msgstr "Nie znaleziono okreÅ›lonej reguÅ‚y" - -#: lib/models/segments.js:385 -msgid "Specified segment not found" -msgstr "Nie znaleziono okreÅ›lonego segmentu" - -#: lib/models/segments.js:445 -msgid "Selected rule not found" -msgstr "Nie znaleziono wybranej reguÅ‚y" - -#: lib/models/subscriptions.js:233 -msgid "%s: Please Confirm Subscription" -msgstr "%s: Potwierdź subskrypcjÄ™" - -#: lib/models/subscriptions.js:324 -msgid "Could not save subscription" -msgstr "Nie można zapisać subskrypcji" - -#: lib/models/subscriptions.js:507 lib/models/subscriptions.js:537 -msgid "Missing Subscription ID" -msgstr "BrakujÄ…cy ID subskrypcji" - -#: lib/models/subscriptions.js:565 -msgid "Missing Subscription email address" -msgstr "Brak adresu e-mail subskrypcji" - -#: lib/models/subscriptions.js:644 lib/models/subscriptions.js:893 -#: lib/models/subscriptions.js:1156 -msgid "Missing subscription ID" -msgstr "BrakujÄ…cy ID subskrypcji" - -#: lib/models/subscriptions.js:707 -msgid "Missing email address" -msgstr "BrakujÄ…cy adres e-mail" - -#: lib/models/subscriptions.js:996 lib/models/subscriptions.js:1050 -#: lib/models/subscriptions.js:1086 -msgid "Missing Import ID" -msgstr "BrakujÄ…cy ID importu" - -#: lib/models/subscriptions.js:1178 -msgid "Unknown subscription ID" -msgstr "Nieznany ID subskrypcji" - -#: lib/models/subscriptions.js:1183 -msgid "Nothing seems to be changed" -msgstr "Wydaje siÄ™, że nic nie zostaÅ‚o zmienione" - -#: lib/models/subscriptions.js:1197 -msgid "This address is already registered by someone else" -msgstr "Ten adres jest już zarejestrowany przez innÄ… osobÄ™" - -#: lib/models/templates.js:51 lib/models/templates.js:122 -#: lib/models/templates.js:163 -msgid "Missing Template ID" -msgstr "BrakujÄ…cy ID szablonu" - -#: lib/models/templates.js:80 lib/models/templates.js:126 -msgid "Template Name must be set" -msgstr "Nazwa szablonu musi być ustawiona" - -#: lib/models/triggers.js:28 -msgid "Has Opened" -msgstr "Otwarte" - -#: lib/models/triggers.js:31 -msgid "Has Clicked" -msgstr "KlikniÄ™te" - -#: lib/models/triggers.js:34 -msgid "Not Opened" -msgstr "Nie otwarte" - -#: lib/models/triggers.js:37 -msgid "Not Clicked" -msgstr "Nie klikniÄ™te" - -#: lib/models/triggers.js:174 lib/models/triggers.js:211 -msgid "Missing or invalid list ID" -msgstr "BrakujÄ…cy lub nieprawidÅ‚owy ID listy" - -#: lib/models/triggers.js:178 lib/models/triggers.js:263 -msgid "Days in the past are not allowed" -msgstr "Dni w przeszÅ‚oÅ›ci sÄ… niedozwolone" - -#: lib/models/triggers.js:182 lib/models/triggers.js:203 -#: lib/models/triggers.js:267 lib/models/triggers.js:288 -msgid "Missing or invalid trigger rule" -msgstr "BrakujÄ…ca lub nieprawidÅ‚owa reguÅ‚a wyzwalacza" - -#: lib/models/triggers.js:189 lib/models/triggers.js:274 -msgid "Invalid subscription configuration" -msgstr "ieprawidÅ‚owa konfiguracja subskrypcji" - -#: lib/models/triggers.js:196 lib/models/triggers.js:281 -msgid "Invalid campaign configuration" -msgstr "NieprawidÅ‚owa konfiguracja kampanii" - -#: lib/models/triggers.js:199 lib/models/triggers.js:284 -msgid "A campaing can not be a target for itself" -msgstr "Kampania nie może być celem samym w sobie" - -#: lib/models/triggers.js:232 -msgid "Could not store trigger row" -msgstr "Nie można zapisać wiersza wyzwalacza" - -#: lib/models/triggers.js:249 -msgid "Missing or invalid Trigger ID" -msgstr "BrakujÄ…cy lub nieprawidÅ‚owy ID wyzwalacza" - -#: lib/models/triggers.js:316 -msgid "Missing Trigger ID" -msgstr "BrakujÄ…cy ID wyzwalacza" - -#: lib/models/users.js:103 -msgid "Could not store user row" -msgstr "Nie można zapisać wiersza użytkownika" - -#: lib/models/users.js:173 -msgid "Email Address must be set" -msgstr "Adres e-mail musi być ustawiony" - -#: lib/models/users.js:184 -msgid "Failed to check user data" -msgstr "Nie można sprawdzić danych użytkownika" - -#: lib/models/users.js:195 -msgid "" -"Can't change email as another user with the same email address already exists" -msgstr "" -"Nie można zmienić adresu e-mail, ponieważ inny użytkownik o tym samym " -"adresie e-mail już istnieje" - -#: lib/models/users.js:212 -msgid "Incorrect current password" -msgstr "NieprawidÅ‚owe aktualne hasÅ‚o" - -#: lib/models/users.js:216 -msgid "New password not set" -msgstr "Nowe hasÅ‚o nie zostaÅ‚o ustawione" - -#: lib/models/users.js:220 -msgid "Passwords do not match" -msgstr "HasÅ‚a nie pasujÄ… do siebie" - -#: lib/models/users.js:258 -msgid "User ID not set" -msgstr "Nie ustawiono ID użytkownika" - -#: lib/models/users.js:286 -msgid "Username must be set" -msgstr "Nazwa użytkownika musi być ustawiona" - -#: lib/models/users.js:323 -msgid "Mailer password change request" -msgstr "Żądanie zmiany hasÅ‚a Mailera" - -#: lib/models/users.js:347 lib/models/users.js:367 -msgid "Missing username or reset token" -msgstr "BrakujÄ…ca nazwa użytkownika lub token reset" - -#: lib/models/users.js:371 -msgid "Invalid new password" -msgstr "NieprawidÅ‚owe nowe hasÅ‚o" - -#: lib/passport.js:38 -msgid "%s logged out" -msgstr "%s Wylogowany" - -#: lib/passport.js:51 -msgid "Failed to authenticate user" -msgstr "Nie udaÅ‚o siÄ™ uwierzytelnić użytkownika" - -#: lib/passport.js:67 -msgid "Logged in as %s" -msgstr "Zalogowano jako %s" - -#: lib/passport.js:125 -msgid "Incorrect username or password" -msgstr "NieprawidÅ‚owa nazwa użytkownika lub hasÅ‚o" - -#: lib/tools.js:123 -msgid "Automation" -msgstr "Automatyzacja" - -#: lib/tools.js:133 -msgid "Blocked email address \"%s\"" -msgstr "Zablokowany adres e-mail \"%s\"" - -#: lib/tools.js:142 -msgid "Invalid email address \"%s\"." -msgstr "NieprawidÅ‚owy adres e-mail \"%s\"." - -#: lib/tools.js:145 -msgid "MX record not found for domain" -msgstr "Nie znaleziono rekordu MX dla domeny" - -#: lib/tools.js:148 -msgid "Address domain not found" -msgstr "Nie znaleziono domeny" - -#: lib/tools.js:151 -msgid "Address domain name is required" -msgstr "Nazwa domeny adresu jest wymagana" - -#: routes/archive.js:31 routes/archive.js:43 routes/archive.js:55 app.js:211 -msgid "Not Found" -msgstr "Nie znaleziono" - -#: routes/archive.js:110 services/sender.js:447 -msgid "Received status code %s from %s" -msgstr "Otrzymano kod statusu %s z %s" - -#: routes/archive.js:134 routes/campaigns.js:131 routes/campaigns.js:295 -#: routes/campaigns.js:390 routes/campaigns.js:435 routes/campaigns.js:475 -#: routes/campaigns.js:739 routes/campaigns.js:762 routes/campaigns.js:781 -#: routes/campaigns.js:803 routes/triggers.js:146 -msgid "Could not find campaign with specified ID" -msgstr "Nie można znaleźć kampanii z okreÅ›lonym ID" - -#: routes/archive.js:142 routes/campaigns.js:789 -msgid "Attachment not found" -msgstr "Załącznik nie znaleziony" - -#: routes/campaigns.js:26 routes/fields.js:13 routes/lists.js:49 -#: routes/segments.js:13 routes/settings.js:23 routes/templates.js:17 -#: routes/triggers.js:18 routes/users.js:75 routes/users.js:120 -msgid "Need to be logged in to access restricted content" -msgstr "Musisz być zalogowany, aby uzyskać dostÄ™p do zastrzeżonych treÅ›ci" - -#: routes/campaigns.js:117 -msgid "Could not create campaign" -msgstr "Nie można utworzyć kampanii" - -#: routes/campaigns.js:120 -msgid "Campaign “%s†created" -msgstr "Kampania “%s†utworzona" - -#: routes/campaigns.js:204 -msgid "content from an RSS entry" -msgstr "treść z wpisu RSS" - -#: routes/campaigns.js:220 -msgid "Campaign settings updated" -msgstr "Zaktualizowano ustawienia kampanii" - -#: routes/campaigns.js:222 -msgid "Campaign settings not updated" -msgstr "Ustawienia kampanii nie zostaÅ‚y zaktualizowane" - -#: routes/campaigns.js:238 routes/campaigns.js:639 -msgid "Campaign deleted" -msgstr "Kampania usuniÄ™ta" - -#: routes/campaigns.js:240 routes/campaigns.js:641 -msgid "Could not delete specified campaign" -msgstr "Nie można usunąć okreÅ›lonej kampanii" - -#: routes/campaigns.js:259 -msgid "Idling" -msgstr "Bezczynność" - -#: routes/campaigns.js:262 -msgid "Scheduled" -msgstr "Planowane" - -#: routes/campaigns.js:268 -msgid "Paused" -msgstr "Wstrzymane" - -#: routes/campaigns.js:270 -msgid "Inactive" -msgstr "Nieaktywny" - -#: routes/campaigns.js:272 -msgid "Active" -msgstr "Aktywny" - -#: routes/campaigns.js:274 -msgid "Other" -msgstr "Inny" - -#: routes/campaigns.js:429 -msgid "Unknown status selector" -msgstr "Nieznany status selektora" - -#: routes/campaigns.js:657 -msgid "Scheduled sending" -msgstr "WysyÅ‚anie zaplanowanych" - -#: routes/campaigns.js:659 -msgid "Could not schedule sending" -msgstr "Nie można zaplanować wysyÅ‚ania" - -#: routes/campaigns.js:671 -msgid "Sending resumed" -msgstr "WysyÅ‚anie zostaÅ‚o wznowione" - -#: routes/campaigns.js:673 -msgid "Could not resume sending" -msgstr "Nie można wznowić wysyÅ‚ania" - -#: routes/campaigns.js:685 -msgid "Sending reset" -msgstr "WysyÅ‚am reset" - -#: routes/campaigns.js:687 -msgid "Could not reset sending" -msgstr "Nie można zresetować wysyÅ‚ania" - -#: routes/campaigns.js:699 routes/campaigns.js:727 -msgid "Sending paused" -msgstr "WysyÅ‚anie wstrzymane" - -#: routes/campaigns.js:701 routes/campaigns.js:729 -msgid "Could not pause sending" -msgstr "Nie można wstrzymać wysyÅ‚ania" - -#: routes/campaigns.js:713 -msgid "Sending activated" -msgstr "WysyÅ‚anie aktywowane" - -#: routes/campaigns.js:715 -msgid "Could not activate sending" -msgstr "Nie można aktywować wysyÅ‚ania" - -#: routes/campaigns.js:750 -msgid "Attachment uploaded" -msgstr "PrzesÅ‚ano załącznik" - -#: routes/campaigns.js:752 -msgid "Could not store attachment" -msgstr "Nie można zapisać załącznika" - -#: routes/campaigns.js:769 -msgid "Attachment deleted" -msgstr "Załącznik usuniÄ™ty" - -#: routes/campaigns.js:771 -msgid "Could not delete attachment" -msgstr "Nie można usunąć załącznika" - -#: routes/fields.js:28 routes/fields.js:64 routes/fields.js:118 -#: routes/segments.js:28 routes/segments.js:59 routes/segments.js:102 -#: routes/segments.js:151 routes/segments.js:223 routes/segments.js:255 -#: routes/segments.js:289 routes/segments.js:336 routes/segments.js:359 -msgid "Selected list ID not found" -msgstr "Nie znaleziono wybranego ID listy" - -#: routes/fields.js:102 -msgid "Could not create custom field" -msgstr "Nie można utworzyć pola niestandardowego" - -#: routes/fields.js:129 -msgid "Selected field not found" -msgstr "Nie znaleziono wybranego pola" - -#: routes/fields.js:165 -msgid "Field settings updated" -msgstr "Zaktualizowano ustawienia pola" - -#: routes/fields.js:167 -msgid "Field settings not updated" -msgstr "Ustawienia pola nie zostaÅ‚y zaktualizowane" - -#: routes/fields.js:183 -msgid "Custom field deleted" -msgstr "Pole niestandardowe usuniÄ™te" - -#: routes/fields.js:185 -msgid "Could not delete specified field" -msgstr "Nie można usunąć okreÅ›lonego pola" - -#: routes/links.js:40 -msgid "Oops, we couldn't find a link for the URL you clicked" -msgstr "Ups, nie mogliÅ›my znaleźć linku dla URL który kliknÄ…Å‚eÅ›" - -#: routes/lists.js:90 -msgid "Could not create list" -msgstr "Nie można utworzyć listy" - -#: routes/lists.js:93 -msgid "List created" -msgstr "Utworzono listÄ™" - -#: routes/lists.js:101 routes/lists.js:236 routes/lists.js:301 -#: routes/lists.js:340 routes/lists.js:409 routes/lists.js:434 -#: routes/lists.js:479 routes/lists.js:501 routes/lists.js:530 -#: routes/lists.js:609 routes/lists.js:666 routes/lists.js:693 -msgid "Could not find list with specified ID" -msgstr "Nie można znaleźć listy o okreÅ›lonym ID" - -#: routes/lists.js:115 -msgid "List settings updated" -msgstr "Zaktualizowano ustawienia listy" - -#: routes/lists.js:117 -msgid "List settings not updated" -msgstr "Nie zaktualizowano ustawieÅ„ listy" - -#: routes/lists.js:133 -msgid "List deleted" -msgstr "Lista usuniÄ™ta" - -#: routes/lists.js:135 -msgid "Could not delete specified list" -msgstr "Nie można usunąć okreÅ›lonej listy" - -#: routes/lists.js:171 -msgid "Unknown" -msgstr "Nieznany" - -#: routes/lists.js:171 -msgid "Complained" -msgstr "Skarżący" - -#: routes/lists.js:202 -msgid "Invalid key" -msgstr "Klucz niewÅ‚aÅ›ciwy" - -#: routes/lists.js:204 -msgid "Expired key" -msgstr "Klucz wygasÅ‚" - -#: routes/lists.js:206 -msgid "Revoked key" -msgstr "Klucz odwoÅ‚any" - -#: routes/lists.js:256 -msgid "Initializing" -msgstr "Inicjowanie" - -#: routes/lists.js:259 -msgid "Initialized" -msgstr "Zainicjowano" - -#: routes/lists.js:262 -msgid "Importing" -msgstr "Importowanie" - -#: routes/lists.js:268 -msgid "Errored" -msgstr "Błędne" - -#: routes/lists.js:346 routes/lists.js:415 routes/lists.js:440 -msgid "Could not find subscriber with specified ID" -msgstr "Nie można znaleźć subskrybenta o podanym ID" - -#: routes/lists.js:392 -msgid "Could not add subscription" -msgstr "Nie można dodać subskrypcji" - -#: routes/lists.js:397 -msgid "%s was successfully added to your list" -msgstr "%s zostaÅ‚ pomyÅ›lnie dodany do twojej listy" - -#: routes/lists.js:399 -msgid "%s was not added to your list" -msgstr "%s nie zostaÅ‚ dodany do Twojej listy" - -#: routes/lists.js:421 -msgid "Could not unsubscribe user" -msgstr "Nie można anulować subskrypcji użytkownika" - -#: routes/lists.js:424 -msgid "%s was successfully unsubscribed from your list" -msgstr "%s zostaÅ‚ pomyÅ›lnie wypisany z listy" - -#: routes/lists.js:444 -msgid "%s was successfully removed from your list" -msgstr "%s zostaÅ‚ pomyÅ›lnie usuniÄ™ty z Twojej listy" - -#: routes/lists.js:456 -msgid "Another subscriber with email address %s already exists" -msgstr "Inny subskrybent z adresem e-mail %s już istnieje" - -#: routes/lists.js:463 -msgid "Subscription settings updated" -msgstr "Zaktualizowano ustawienia subskrypcji" - -#: routes/lists.js:465 -msgid "Subscription settings not updated" -msgstr "Ustawienia subskrypcji nie zostaÅ‚y zaktualizowane" - -#: routes/lists.js:507 routes/lists.js:615 routes/lists.js:651 -#: routes/lists.js:679 routes/lists.js:699 -msgid "Could not find import data with specified ID" -msgstr "Nie można znaleźć danych importu o podanym ID" - -#: routes/lists.js:538 -msgid "Could not process CSV" -msgstr "Nie można przetworzyć pliku CSV" - -#: routes/lists.js:547 -msgid "Could not create importer" -msgstr "Nie można utworzyć importera" - -#: routes/lists.js:598 -msgid "Empty file" -msgstr "Pusty plik" - -#: routes/lists.js:655 -msgid "Import started" -msgstr "RozpoczÄ™to importowanie" - -#: routes/lists.js:683 -msgid "Import restarted" -msgstr "Import zostaÅ‚ zrestartowany" - -#: routes/segments.js:86 -msgid "Could not create segment" -msgstr "Nie można utworzyć segmentu" - -#: routes/segments.js:89 -msgid "Segment created" -msgstr "Utworzono segment" - -#: routes/segments.js:113 -msgid "Selected segment ID not found" -msgstr "Nie znaleziono ID wybranego segmentu" - -#: routes/segments.js:188 -msgid "Segment settings updated" -msgstr "Zaktualizowane ustawienia segmentów" - -#: routes/segments.js:190 -msgid "Segment settings not updated" -msgstr "Ustawienia segmentu nie zostaÅ‚y zaktualizowane" - -#: routes/segments.js:206 -msgid "Segment deleted" -msgstr "Segment usuniÄ™ty" - -#: routes/segments.js:208 -msgid "Could not delete specified segment" -msgstr "Nie można usunąć okreÅ›lonego segmentu" - -#: routes/segments.js:342 -msgid "Could not create rule" -msgstr "Nie można utworzyć reguÅ‚y" - -#: routes/segments.js:345 -msgid "Rule created" -msgstr "Dodano regułę" - -#: routes/segments.js:410 -msgid "Rule settings updated" -msgstr "Zaktualizowano ustawienia reguÅ‚y" - -#: routes/segments.js:412 -msgid "Rule settings not updated" -msgstr "Nie zaktualizowano ustawieÅ„ reguÅ‚y" - -#: routes/segments.js:428 -msgid "Rule deleted" -msgstr "UsuniÄ™to regułę" - -#: routes/segments.js:430 -msgid "Could not delete specified rule" -msgstr "Nie można usunąć okreÅ›lonej reguÅ‚y" - -#: routes/settings.js:39 -msgid "Use TLS" -msgstr "Użyj TLS" - -#: routes/settings.js:40 -msgid "usually selected for port 465" -msgstr "zazwyczaj wybierany port 465" - -#: routes/settings.js:44 -msgid "Use STARTTLS" -msgstr "Użyj STARTTLS" - -#: routes/settings.js:45 -msgid "usually selected for port 587 and 25" -msgstr "zazwyczaj wybierany port 587 i 25" - -#: routes/settings.js:49 -msgid "Do not use encryption" -msgstr "Nie używaj szyfrowania" - -#: routes/settings.js:115 -msgid "Settings updated" -msgstr "Zaktualizowano ustawienia" - -#: routes/settings.js:173 -msgid "Invalid mail transport type" -msgstr "NieprawidÅ‚owy typ transportu poczty" - -#: routes/settings.js:184 -msgid "Invalid Access Key" -msgstr "NieprawidÅ‚owy klucz dostÄ™pu" - -#: routes/settings.js:187 -msgid "Invalid AWS credentials" -msgstr "NieprawidÅ‚owe dane uwierzytelniajÄ…ce AWS" - -#: routes/settings.js:190 -msgid "Connection refused, check hostname and port." -msgstr "Połączenie odrzucone, sprawdź nazwÄ™ hosta i port." - -#: routes/settings.js:195 -msgid "" -"Did not receive greeting message from server. This might happen when " -"connecting to a TLS port without using TLS." -msgstr "" -"Nie otrzymano wiadomoÅ›ci powitalnej z serwera. Może siÄ™ to zdarzyć podczas " -"łączenia siÄ™ z portem TLS bez korzystania z TLS." - -#: routes/settings.js:197 -msgid "Did not receive greeting message from server." -msgstr "Nie otrzymano wiadomoÅ›ci powitalnej z serwera." - -#: routes/settings.js:200 -msgid "" -"Connection timed out. Check your firewall settings, destination port is " -"probably blocked." -msgstr "" -"Przekroczono limit czasu połączenia. Sprawdź ustawienia zapory, port " -"docelowy jest prawdopodobnie zablokowany." - -#: routes/settings.js:205 -msgid "Authentication not accepted, server expects STARTTLS to be used." -msgstr "" -"Uwierzytelnianie nie jest akceptowane, serwer oczekuje, że zostanie użyty " -"STARTTLS." - -#: routes/settings.js:207 -msgid "Authentication failed, check username and password." -msgstr "Uwierzytelnianie nie powiodÅ‚o siÄ™, sprawdź nazwÄ™ użytkownika i hasÅ‚o." - -#: routes/settings.js:217 -msgid "Failed Mailer verification." -msgstr "Weryfikacja Mailera nie powiodÅ‚a siÄ™." - -#: routes/settings.js:217 -msgid "Server responded with: \"%s\"" -msgstr "Odpowiedź serwera: \"%s\"" - -#: routes/settings.js:221 -msgid "Mailer settings verified, ready to send some mail!" -msgstr "Ustawienia Mailera zweryfikowane, gotowe do wysÅ‚ania wiadomoÅ›ci!" - -#: routes/subscription.js:22 -msgid "Selected subscription not found" -msgstr "Nie znaleziono wybranej subskrypcji" - -#: routes/subscription.js:32 routes/subscription.js:103 -#: routes/subscription.js:141 routes/subscription.js:166 -#: routes/subscription.js:191 routes/subscription.js:232 -#: routes/subscription.js:270 routes/subscription.js:317 -#: routes/subscription.js:339 routes/subscription.js:368 -#: routes/subscription.js:392 routes/subscription.js:424 -msgid "Selected list not found" -msgstr "Nie znaleziono wybranej listy" - -#: routes/subscription.js:78 routes/subscription.js:472 -msgid "%s: Subscription Confirmed" -msgstr "%s: Potwierdzono subskrypcjÄ™" - -#: routes/subscription.js:217 -msgid "Email address not set" -msgstr "Adres e-mail nie jest ustawiony" - -#: routes/subscription.js:255 -msgid "Could not store confirmation data" -msgstr "Nie można zapisać danych potwierdzajÄ…cych" - -#: routes/subscription.js:284 routes/subscription.js:349 -#: routes/subscription.js:402 -msgid "Subscription not found from this list" -msgstr "Nie znaleziono subskrypcji z tej listy" - -#: routes/subscription.js:383 -msgid "Email address updated, check your mailbox for verification instructions" -msgstr "" -"Adres e-mail zaktualizowany, sprawdź skrzynkÄ™ pocztowÄ…, aby uzyskać " -"instrukcje dotyczÄ…ce weryfikacji" - -#: routes/subscription.js:499 routes/subscription.js:515 -msgid "Public key is not set" -msgstr "Klucz publiczny nie jest ustawiony" - -#: routes/templates.js:98 -msgid "Could not create template" -msgstr "Nie można utworzyć szablonu" - -#: routes/templates.js:101 -msgid "Template created" -msgstr "Szablon utworzony" - -#: routes/templates.js:109 -msgid "Could not find template with specified ID" -msgstr "Nie można znaleźć szablonu z okreÅ›lonym ID" - -#: routes/templates.js:140 -msgid "Template settings updated" -msgstr "Zaktualizowano ustawienia szablonu" - -#: routes/templates.js:142 -msgid "Template settings not updated" -msgstr "Ustawienia szablonów nie zostaÅ‚y zaktualizowane" - -#: routes/templates.js:158 -msgid "Template deleted" -msgstr "Szablon usuniÄ™ty" - -#: routes/templates.js:160 -msgid "Could not delete specified template" -msgstr "Nie można usunąć okreÅ›lonego szablonu" - -#: routes/triggers.js:62 routes/triggers.js:79 routes/triggers.js:154 -msgid "Could not find selected list" -msgstr "Nie można znaleźć wybranej listy" - -#: routes/triggers.js:131 -msgid "Could not create trigger" -msgstr "Nie można utworzyć wyzwalacza" - -#: routes/triggers.js:138 -msgid "Trigger “%s†created" -msgstr "Wyzwalacz “%s†zostaÅ‚ utworzony" - -#: routes/triggers.js:214 -msgid "Trigger settings updated" -msgstr "Zaktualizowano ustawienia wyzwalacza" - -#: routes/triggers.js:216 -msgid "Trigger settings not updated" -msgstr "Ustawienia wyzwalacza nie zostaÅ‚y zaktualizowane" - -#: routes/triggers.js:228 -msgid "Trigger deleted" -msgstr "Wyzwalacz zostaÅ‚ usuniÄ™ty" - -#: routes/triggers.js:230 -msgid "Could not delete specified trigger" -msgstr "Nie można usunąć okreÅ›lonego wyzwalacza" - -#: routes/triggers.js:242 -msgid "Could not find trigger with specified ID" -msgstr "Nie można znaleźć wyzwalacza z okreÅ›lonym ID" - -#: routes/triggers.js:255 -msgid "Trigger not found" -msgstr "Wyzwalacz nie zostaÅ‚ znaleziony" - -#: routes/users.js:32 -msgid "" -"An email with password reset instructions has been sent to your email " -"address, if it exists on our system." -msgstr "" -"E-mail z instrukcjami resetowania hasÅ‚a zostaÅ‚ wysÅ‚any na Twój adres e-mail, " -"jeÅ›li istnieje w naszym systemie." - -#: routes/users.js:46 routes/users.js:64 -msgid "Unknown or expired reset token" -msgstr "Token resetowania nieznany lub wygasÅ‚" - -#: routes/users.js:66 -msgid "Your password has been changed successfully" -msgstr "Twoje hasÅ‚o zostaÅ‚o zmienione" - -#: routes/users.js:87 -msgid "User data not found" -msgstr "Nie znaleziono danych użytkownika" - -#: routes/users.js:110 -msgid "Access token updated" -msgstr "Zaktualizowano token dostÄ™pu" - -#: routes/users.js:112 -msgid "Access token not updated" -msgstr "Nie zaktualizowano tokenu dostÄ™pu" - -#: routes/users.js:139 -msgid "Account information updated" -msgstr "Informacje o koncie zostaÅ‚y zaktualizowane" - -#: routes/users.js:141 -msgid "Account information not updated" -msgstr "Informacje o koncie nie zostaÅ‚y zaktualizowane" - -#: services/feedcheck.js:51 -msgid "Feed error: %s" -msgstr "RSS błąd: %s" - -#: services/feedcheck.js:54 -msgid "Found %s new campaign messages from feed" -msgstr "Znaleziono %s nowych wiadomoÅ›ci kampanii z kanaÅ‚u" - -#: services/feedcheck.js:56 -msgid "Found nothing new from the feed" -msgstr "Nie znaleziono nic nowego w kanale" - -#: services/feedcheck.js:143 -msgid "RSS entry %s" -msgstr "Wpis RSS %s" - -#: services/importer.js:243 -msgid "Could not access import file" -msgstr "Nie można uzyskać dostÄ™pu do pliku importu" - -#: services/triggers.js:51 -msgid "Unknown trigger type %s" -msgstr "Nieznany typ wyzwalacza %s" - -#: views/subscription/widget-subscribe.hbs:3 -msgid "It looks like you are already subscribed to this list." -msgstr "WyglÄ…da na to, że już jesteÅ› zapisany/a." diff --git a/lib/db.js b/lib/db.js deleted file mode 100644 index 44f17b0f..00000000 --- a/lib/db.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; - -let config = require('config'); -let mysql = require('mysql'); -let redis = require('redis'); -let Lock = require('redfour'); -let stringifyDate = require('json-stringify-date'); -let tools = require('./tools'); - -module.exports = mysql.createPool(config.mysql); -if (config.redis && config.redis.enabled) { - - module.exports.redis = redis.createClient(config.redis); - - let queueLock = new Lock({ - redis: config.redis, - namespace: 'mailtrain:lock' - }); - - module.exports.getLock = (id, callback) => { - queueLock.waitAcquireLock(id, 60 * 1000 /* Lock expires after 60sec */ , 10 * 1000 /* Wait for lock for up to 10sec */ , (err, lock) => { - if (err) { - return callback(err); - } - if (!lock) { - return callback(null, false); - } - return callback(null, { - lock, - release(done) { - queueLock.releaseLock(lock, done); - } - }); - }); - }; - - module.exports.clearCache = (key, callback) => { - module.exports.redis.del('mailtrain:cache:' + key, err => callback(err)); - }; - - module.exports.addToCache = (key, value, callback) => { - if (!value) { - return setImmediate(() => callback()); - } - module.exports.redis.multi(). - lpush('mailtrain:cache:' + key, stringifyDate.stringify(value)). - expire('mailtrain:cache:' + key, 24 * 3600). - exec(err => callback(err)); - }; - - module.exports.getFromCache = (key, callback) => { - module.exports.redis.rpop('mailtrain:cache:' + key, (err, value) => { - if (err) { - return callback(err); - } - try { - value = stringifyDate.parse(value); - } catch (E) { - return callback(E); - } - - return callback(null, value); - }); - }; - -} else { - // fakelock. does not lock anything - module.exports.getLock = (id, callback) => { - setImmediate(() => callback(null, { - lock: false, - release(done) { - setImmediate(done); - } - })); - }; - - let caches = new Map(); - - module.exports.clearCache = (key, callback) => { - caches.delete(key); - tools.workers.forEach(child => { - child.send({ - cmd: 'db.clearCache', - key - }); - }); - setImmediate(() => callback()); - }; - - process.on('message', m => { - if (m && m.cmd === 'db.clearCache' && m.key) { - caches.delete(m.key); - } - }); - - module.exports.addToCache = (key, value, callback) => { - if (!caches.has(key)) { - caches.set(key, []); - } - caches.get(key).push(value); - setImmediate(() => callback()); - }; - - module.exports.getFromCache = (key, callback) => { - let value; - if (caches.has(key)) { - value = caches.get(key).shift(); - if (!caches.get(key).length) { - caches.delete(key); - } - } - setImmediate(() => callback(null, value)); - }; -} diff --git a/lib/editor-helpers.js b/lib/editor-helpers.js deleted file mode 100644 index e4c4e79f..00000000 --- a/lib/editor-helpers.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict'; - -let _ = require('../lib/translate')._; -let helpers = require('../lib/helpers'); -let templates = require('../lib/models/templates'); -let campaigns = require('../lib/models/campaigns'); - -module.exports = { - getResource, - getMergeTagsForResource -}; - -function getResource(type, id, callback) { - if (type === 'template') { - templates.get(id, (err, template) => { - if (err || !template) { - return callback(err && err.message || err || _('Could not find template with specified ID')); - } - - getMergeTagsForResource(template, (err, mergeTags) => { - if (err) { - return callback(err.message || err); - } - - template.mergeTags = mergeTags; - return callback(null, template); - }); - }); - - } else if (type === 'campaign') { - campaigns.get(id, false, (err, campaign) => { - if (err || !campaign) { - return callback(err && err.message || err || _('Could not find campaign with specified ID')); - } - - getMergeTagsForResource(campaign, (err, mergeTags) => { - if (err) { - return callback(err.message || err); - } - - campaign.mergeTags = mergeTags; - return callback(null, campaign); - }); - }); - - } else { - return callback(_('Invalid resource type')); - } -} - -function getMergeTagsForResource(resource, callback) { - helpers.getDefaultMergeTags((err, defaultMergeTags) => { - if (err) { - return callback(err.message || err); - } - - if (!Number(resource.list)) { - return callback(null, defaultMergeTags); - } - - helpers.getListMergeTags(resource.list, (err, listMergeTags) => { - if (err) { - return callback(err.message || err); - } - - if (resource.type !== 2) { - return callback(null, defaultMergeTags.concat(listMergeTags)); - } - - helpers.getRSSMergeTags((err, rssMergeTags) => { - if (err) { - return callback(err.message || err); - } - - callback(null, defaultMergeTags.concat(listMergeTags, rssMergeTags)); - }); - }); - }); -} diff --git a/lib/fakelang.js b/lib/fakelang.js deleted file mode 100644 index 7a6027a1..00000000 --- a/lib/fakelang.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -/* lloyd|2012|http://wtfpl.org */ - -/* eslint-disable */ - -module.exports = str => { - let from = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_=+\\|`~[{]};:'\",<.>/?"; - let to = "ÉqÉ”pÇɟƃɥıɾʞʅɯuodbɹsʇnÊŒÊxÊŽz∀ÔↃᗡƎℲâ…HIſӼ⅂WNOԀÒᴚS⊥∩ɅMXâ…„Z0123456789¡@#$%ᵥ⅋âŽ()-_=+\\|,~[{]};:,„´<.>/¿"; - - return str.replace(/(\{\{[^\}]+\}\}|%s)/g, '\x00\x04$1\x00').split('\x00').map(c => { - if (c.charAt(0) === '\x04') { - return c; - } - let r = ''; - for (let i = 0, len = c.length; i < len; i++) { - let pos = from.indexOf(c.charAt(i)); - if (pos < 0) { - r += c.charAt(i); - } else { - r += to.charAt(pos); - } - } - return r; - }).join('\x00').replace(/[\x00\x04]/g, ''); -} diff --git a/lib/feed.js b/lib/feed.js deleted file mode 100644 index 66bd2f20..00000000 --- a/lib/feed.js +++ /dev/null @@ -1,68 +0,0 @@ -'use strict'; - -let FeedParser = require('feedparser'); -let request = require('request'); -let _ = require('./translate')._; -let util = require('util'); - -module.exports.fetch = (url, callback) => { - let req = request(url); - let feedparser = new FeedParser(); - let returned = false; - let entries = []; - - req.setHeader('user-agent', 'Mailtrain'); - req.setHeader('accept', 'text/html,application/xhtml+xml'); - - req.on('error', err => { - if (returned) { - return; - } - returned = true; - callback(err); - }); - - req.on('response', res => { - if (returned) { - return; - } - - if (res.statusCode !== 200) { - return req.emit('error', new Error(util.format(_('Bad status code %s'), res.statusCode))); - } - - req.pipe(feedparser); - }); - - feedparser.on('error', err => { - if (returned) { - return; - } - returned = true; - callback(err); - }); - - feedparser.on('readable', () => { - let item; - while ((item = feedparser.read())) { - let entry = { - title: item.title, - date: item.date || item.pubdate || item.pubDate || new Date(), - guid: item.guid || item.link, - link: item.link, - content: item.description || item.summary, - summary: item.summary || item.description, - image_url: item.image.url - }; - entries.push(entry); - } - }); - - feedparser.on('end', () => { - if (returned) { - return; - } - returned = true; - callback(null, entries); - }); -}; diff --git a/lib/file-helpers.js b/lib/file-helpers.js deleted file mode 100644 index deee31e1..00000000 --- a/lib/file-helpers.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -const path = require('path'); - -function nameToFileName(name) { - return name. - trim(). - toLowerCase(). - replace(/[ .+/]/g, '-'). - replace(/[^a-z0-9\-_]/gi, ''). - replace(/--*/g, '-'); -} - - -function getReportFileBase(report) { - return path.join(__dirname, '..', 'protected', 'reports', report.id + '-' + nameToFileName(report.name)); -} - -function getReportContentFile(report) { - return getReportFileBase(report) + '.out'; -} - -function getReportOutputFile(report) { - return getReportFileBase(report) + '.err'; -} - - -module.exports = { - getReportContentFile, - getReportOutputFile, - nameToFileName -}; diff --git a/lib/handlebars-helpers.js b/lib/handlebars-helpers.js deleted file mode 100644 index 10a38741..00000000 --- a/lib/handlebars-helpers.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -const util = require('util'); - -const _ = require('../lib/translate')._; - -module.exports.registerHelpers = handlebars => { - // {{#translate}}abc{{/translate}} - handlebars.registerHelper('translate', function (context, options) { // eslint-disable-line prefer-arrow-callback - if (typeof options === 'undefined' && context) { - options = context; - context = false; - } - - let result = _(options.fn(this)); // eslint-disable-line no-invalid-this - - if (Array.isArray(context)) { - result = util.format(result, ...context); - } - return new handlebars.SafeString(result); - }); - - - /* Credits to http://chrismontrois.net/2016/01/30/handlebars-switch/ - - {{#switch letter}} - {{#case "a"}} - A is for alpaca - {{/case}} - {{#case "b"}} - B is for bluebird - {{/case}} - {{/switch}} - */ - /* eslint no-invalid-this: "off" */ - handlebars.registerHelper('switch', function(value, options) { - this._switch_value_ = value; - const html = options.fn(this); // Process the body of the switch block - delete this._switch_value_; - return html; - }); - - handlebars.registerHelper('case', function(value, options) { - if (value === this._switch_value_) { - return options.fn(this); - } - }); - -}; diff --git a/lib/helpers.js b/lib/helpers.js deleted file mode 100644 index 786e3473..00000000 --- a/lib/helpers.js +++ /dev/null @@ -1,295 +0,0 @@ -'use strict'; - -let config = require('config'); -let path = require('path'); -let fs = require('fs'); -let tools = require('./tools'); -let settings = require('./models/settings'); -let lists = require('./models/lists'); -let fields = require('./models/fields'); -let forms = require('./models/forms'); -let _ = require('./translate')._; -let objectHash = require('object-hash'); -let mjml = require('mjml'); -let mjmlTemplates = new Map(); -let hbs = require('hbs'); - -module.exports = { - getDefaultMergeTags, - getRSSMergeTags, - getListMergeTags, - captureFlashMessages, - injectCustomFormData, - injectCustomFormTemplates, - filterCustomFields, - getMjmlTemplate, - rollbackAndReleaseConnection -}; - -function getDefaultMergeTags(callback) { - // Using a callback for the sake of future-proofness - callback(null, [{ - key: 'LINK_UNSUBSCRIBE', - value: _('URL that points to the unsubscribe page') - }, { - key: 'LINK_PREFERENCES', - value: _('URL that points to the preferences page of the subscriber') - }, { - key: 'LINK_BROWSER', - value: _('URL to preview the message in a browser') - }, { - key: 'EMAIL', - value: _('Email address') - }, { - key: 'FIRST_NAME', - value: _('First name') - }, { - key: 'LAST_NAME', - value: _('Last name') - }, { - key: 'FULL_NAME', - value: _('Full name (first and last name combined)') - }, { - key: 'SUBSCRIPTION_ID', - value: _('Unique ID that identifies the recipient') - }, { - key: 'LIST_ID', - value: _('Unique ID that identifies the list used for this campaign') - }, { - key: 'CAMPAIGN_ID', - value: _('Unique ID that identifies current campaign') - }]); -} - -function getRSSMergeTags(callback) { - // Using a callback for the sake of future-proofness - callback(null, [{ - key: 'RSS_ENTRY', - value: _('content from an RSS entry') - }, { - key: 'RSS_ENTRY_TITLE', - value: _('RSS entry title') - }, { - key: 'RSS_ENTRY_DATE', - value: _('RSS entry date') - }, { - key: 'RSS_ENTRY_LINK', - value: _('RSS entry link') - }, { - key: 'RSS_ENTRY_CONTENT', - value: _('content from an RSS entry') - }, { - key: 'RSS_ENTRY_SUMMARY', - value: _('RSS entry summary') - }, { - key: 'RSS_ENTRY_IMAGE_URL', - value: _('RSS entry image URL') - }]); -} - -function getListMergeTags(listId, callback) { - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - list = { - id: listId - }; - } - - fields.list(list.id, (err, fieldList) => { - if (err && !fieldList) { - fieldList = []; - } - - let mergeTags = []; - - fieldList.forEach(field => { - mergeTags.push({ - key: field.key, - value: field.name - }); - }); - - return callback(null, mergeTags); - }); - }); -} - -function filterCustomFields(customFieldsIn = [], fieldIds = [], method = 'include') { - let customFields = customFieldsIn.slice(); - fieldIds = typeof fieldIds === 'string' ? fieldIds.split(',') : fieldIds; - - customFields.unshift({ - id: 'email', - name: 'Email Address', - type: 'Email', - typeSubscriptionEmail: true - }, { - id: 'firstname', - name: 'First Name', - type: 'Text', - typeFirstName: true - }, { - id: 'lastname', - name: 'Last Name', - type: 'Text', - typeLastName: true - }); - - let filtered = []; - - if (method === 'include') { - fieldIds.forEach(id => { - let field = customFields.find(f => f.id.toString() === id); - field && filtered.push(field); - }); - } else { - customFields.forEach(field => { - !fieldIds.includes(field.id.toString()) && filtered.push(field); - }); - } - - return filtered; -} - -function injectCustomFormData(customFormId, viewPath, data, callback) { - - let injectDefaultData = data => { - data.customFields = filterCustomFields(data.customFields, [], 'exclude'); - data.formInputStyle = '@import url(/subscription/form-input-style.css);'; - return data; - }; - - if (Number(customFormId) < 1) { - return callback(null, injectDefaultData(data)); - } - - forms.get(customFormId, (err, form) => { - if (err) { - return callback(null, injectDefaultData(data)); - } - - let view = viewPath.split('/')[1]; - - if (view === 'web-subscribe') { - data.customFields = form.fieldsShownOnSubscribe - ? filterCustomFields(data.customFields, form.fieldsShownOnSubscribe) - : filterCustomFields(data.customFields, [], 'exclude'); - } else if (view === 'web-manage') { - data.customFields = form.fieldsShownOnManage - ? filterCustomFields(data.customFields, form.fieldsShownOnManage) - : filterCustomFields(data.customFields, [], 'exclude'); - } - - let key = tools.fromDbKey(view); - data.template.template = form[key] || data.template.template; - data.template.layout = form.layout || data.template.layout; - data.formInputStyle = form.formInputStyle || '@import url(/subscription/form-input-style.css);'; - - settings.list(['ua_code'], (err, configItems) => { - if (err) { - return callback(err); - } - - data.uaCode = configItems.uaCode; - data.customSubscriptionScripts = config.customsubscriptionscripts || []; - callback(null, data); - }); - }); -} - -function injectCustomFormTemplates(customFormId, templates, callback) { - if (Number(customFormId) < 1) { - return callback(null, templates); - } - - forms.get(customFormId, (err, form) => { - if (err) { - return callback(null, templates); - } - - let lookUp = name => { - let key = tools.fromDbKey( - /subscription\/([^.]*)/.exec(name)[1] - ); - return form[key] || name; - }; - - Object.keys(templates).forEach(key => { - let value = templates[key]; - - if (typeof value === 'string') { - templates[key] = lookUp(value); - } - if (typeof value === 'object' && value.template) { - templates[key].template = lookUp(value.template); - } - if (typeof value === 'object' && value.layout) { - templates[key].layout = lookUp(value.layout); - } - }); - - callback(null, templates); - }); -} - -function getMjmlTemplate(template, callback) { - if (!template) { - return callback(null, false); - } - - let key = (typeof template === 'object') ? objectHash(template) : template; - - if (mjmlTemplates.has(key)) { - return callback(null, mjmlTemplates.get(key)); - } - - let done = source => { - let compiled; - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return callback(err); - } - if (compiled.errors.length) { - return callback(compiled.errors[0].message || compiled.errors[0]); - } - let renderer = hbs.handlebars.compile(compiled.html); - mjmlTemplates.set(key, renderer); - callback(null, renderer); - }; - - if (typeof template === 'object') { - tools.mergeTemplateIntoLayout(template.template, template.layout, (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } else { - fs.readFile(path.join(__dirname, '..', 'views', template), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } -} - -function captureFlashMessages(req, res, callback) { - res.render('subscription/capture-flash-messages', { layout: null }, (err, flash) => { - if (err) { - return callback(err); - } - callback(null, flash); - }); -} - -function rollbackAndReleaseConnection(connection, callback) { - connection.rollback(() => { - connection.release(); - return callback(); - }); -} diff --git a/lib/mailer.js b/lib/mailer.js deleted file mode 100644 index 4ef5ad0a..00000000 --- a/lib/mailer.js +++ /dev/null @@ -1,297 +0,0 @@ -'use strict'; - -let log = require('npmlog'); -let config = require('config'); -let nodemailer = require('nodemailer'); -let openpgpEncrypt = require('nodemailer-openpgp').openpgpEncrypt; -let settings = require('./models/settings'); -let tools = require('./tools'); -let db = require('./db'); -let Handlebars = require('handlebars'); -let fs = require('fs'); -let path = require('path'); -let templates = new Map(); -let htmlToText = require('html-to-text'); -let aws = require('aws-sdk'); -let objectHash = require('object-hash'); -let mjml = require('mjml'); - -let _ = require('./translate')._; -let util = require('util'); - -Handlebars.registerHelper('translate', function (context, options) { // eslint-disable-line prefer-arrow-callback - if (typeof options === 'undefined' && context) { - options = context; - context = false; - } - - let result = _(options.fn(this)); // eslint-disable-line no-invalid-this - - if (Array.isArray(context)) { - result = util.format(result, ...context); - } - return new Handlebars.SafeString(result); -}); - -module.exports.transport = false; - -module.exports.update = () => { - createMailer(() => false); -}; - -module.exports.getMailer = callback => { - if (!module.exports.transport) { - return createMailer(callback); - } - callback(null, module.exports.transport); -}; - -module.exports.sendMail = (mail, template, callback) => { - if (!callback && typeof template === 'function') { - callback = template; - template = false; - } - - if (!module.exports.transport) { - return createMailer(err => { - if (err) { - return callback(err); - } - return module.exports.sendMail(mail, template, callback); - }); - } - - if (!mail.headers) { - mail.headers = {}; - } - mail.headers['X-Sending-Zone'] = 'transactional'; - - getTemplate(template.html, (err, htmlRenderer) => { - if (err) { - return callback(err); - } - - if (htmlRenderer) { - mail.html = htmlRenderer(template.data || {}); - } - - tools.prepareHtml(mail.html, (err, prepareHtml) => { - if (err) { - // ignore - } - - if (prepareHtml) { - mail.html = prepareHtml; - } - - getTemplate(template.text, (err, textRenderer) => { - if (err) { - return callback(err); - } - - if (textRenderer) { - mail.text = textRenderer(template.data || {}); - } else if (mail.html) { - mail.text = htmlToText.fromString(mail.html, { - wordwrap: 130 - }); - } - - let tryCount = 0; - let trySend = () => { - tryCount++; - - module.exports.transport.sendMail(mail, (err, info) => { - if (err) { - log.error('Mail', err); - if (err.responseCode && err.responseCode >= 400 && err.responseCode < 500 && tryCount <= 5) { - // temporary error, try again - log.verbose('Mail', 'Retrying after %s sec. ...', tryCount); - return setTimeout(trySend, tryCount * 1000); - } - return callback(err); - } - return callback(null, info); - }); - }; - setImmediate(trySend); - }); - }); - }); - -}; - -function getTemplate(template, callback) { - if (!template) { - return callback(null, false); - } - - let key = (typeof template === 'object') ? objectHash(template) : template; - - if (templates.has(key)) { - return callback(null, templates.get(key)); - } - - let done = (source, isMjml = false) => { - if (isMjml) { - let compiled; - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return callback(err); - } - if (compiled.errors.length) { - return callback(compiled.errors[0].message || compiled.errors[0]); - } - source = compiled.html; - } - let renderer = Handlebars.compile(source); - templates.set(key, renderer); - callback(null, renderer); - }; - - if (typeof template === 'object') { - tools.mergeTemplateIntoLayout(template.template, template.layout, (err, source) => { - if (err) { - return callback(err); - } - let isMjml = template.type === 'mjml'; - done(source, isMjml); - }); - } else { - fs.readFile(path.join(__dirname, '..', 'views', template), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - done(source); - }); - } -} - -function createMailer(callback) { - settings.list(['smtpHostname', 'smtpPort', 'smtpEncryption', 'smtpUser', 'smtpPass', 'smtpLog', 'smtpDisableAuth', 'smtpMaxConnections', 'smtpMaxMessages', 'smtpSelfSigned', 'pgpPrivateKey', 'pgpPassphrase', 'smtpThrottling', 'mailTransport', 'sesKey', 'sesSecret', 'sesRegion'], (err, configItems) => { - if (err) { - return callback(err); - } - - let oldListeners = []; - if (module.exports.transport) { - oldListeners = module.exports.transport.listeners('idle'); - module.exports.transport.removeAllListeners('idle'); - module.exports.transport.removeAllListeners('stream'); - module.exports.transport.checkThrottling = null; - } - - let sendingRate = Number(configItems.smtpThrottling) || 0; - if (sendingRate) { - // convert to messages/second - sendingRate = sendingRate / 3600; - } - - let transportOptions; - - let logfunc = function () { - let args = [].slice.call(arguments); - let level = args.shift(); - args.shift(); - args.unshift('Mail'); - log[level](...args); - }; - - if (configItems.mailTransport === 'smtp' || !configItems.mailTransport) { - transportOptions = { - pool: true, - host: configItems.smtpHostname, - port: Number(configItems.smtpPort) || false, - secure: configItems.smtpEncryption === 'TLS', - ignoreTLS: configItems.smtpEncryption === 'NONE', - auth: configItems.smtpDisableAuth ? false : { - user: configItems.smtpUser, - pass: configItems.smtpPass - }, - debug: !!configItems.smtpLog, - logger: !configItems.smtpLog ? false : { - debug: logfunc.bind(null, 'verbose'), - info: logfunc.bind(null, 'info'), - error: logfunc.bind(null, 'error') - }, - maxConnections: Number(configItems.smtpMaxConnections), - maxMessages: Number(configItems.smtpMaxMessages), - tls: { - rejectUnauthorized: !configItems.smtpSelfSigned - } - }; - } else if (configItems.mailTransport === 'ses') { - transportOptions = { - SES: new aws.SES({ - apiVersion: '2010-12-01', - accessKeyId: configItems.sesKey, - secretAccessKey: configItems.sesSecret, - region: configItems.sesRegion - }), - debug: !!configItems.smtpLog, - logger: !configItems.smtpLog ? false : { - debug: logfunc.bind(null, 'verbose'), - info: logfunc.bind(null, 'info'), - error: logfunc.bind(null, 'error') - }, - maxConnections: Number(configItems.smtpMaxConnections), - sendingRate, - tls: { - rejectUnauthorized: !configItems.smtpSelfSigned - } - }; - } else { - return callback(new Error(_('Invalid mail transport'))); - } - - module.exports.transport = nodemailer.createTransport(transportOptions, config.nodemailer); - - module.exports.transport.use('stream', openpgpEncrypt({ - signingKey: configItems.pgpPrivateKey, - passphrase: configItems.pgpPassphrase - })); - - if (oldListeners.length) { - log.info('Mail', 'Reattaching %s idle listeners', oldListeners.length); - oldListeners.forEach(listener => module.exports.transport.on('idle', listener)); - } - - - if (configItems.mailTransport === 'smtp' || !configItems.mailTransport) { - - let throttling = Number(configItems.smtpThrottling) || 0; - if (throttling) { - throttling = 1 / (throttling / (3600 * 1000)); - } - - let lastCheck = Date.now(); - - module.exports.transport.checkThrottling = function (next) { - if (!throttling) { - return next(); - } - let nextCheck = Date.now(); - let checkDiff = (nextCheck - lastCheck); - if (checkDiff < throttling) { - log.verbose('Mail', 'Throttling next message in %s sec.', (throttling - checkDiff) / 1000); - setTimeout(() => { - lastCheck = Date.now(); - next(); - }, throttling - checkDiff); - } else { - lastCheck = nextCheck; - next(); - } - }; - } else { - module.exports.transport.checkThrottling = next => next(); - } - - db.clearCache('sender', () => { - callback(null, module.exports.transport); - }); - }); -} - -module.exports.getTemplate = getTemplate; diff --git a/lib/models/blacklist.js b/lib/models/blacklist.js deleted file mode 100644 index 5aae8ccc..00000000 --- a/lib/models/blacklist.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict'; - -let db = require('../db'); - -module.exports.get = (start, limit, search, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - search = '%' + search + '%'; - connection.query('SELECT SQL_CALC_FOUND_ROWS `email` FROM blacklist WHERE `email` LIKE ? ORDER BY `email` LIMIT ? OFFSET ?', [search, limit, start], (err, rows) => { - if (err) { - return callback(err); - } - - connection.query('SELECT FOUND_ROWS() AS total', (err, total) => { - connection.release(); - if (err) { - return callback(err); - } - let emails = []; - rows.forEach(email => { - emails.push(email.email); - }); - return callback(null, emails, total && total[0] && total[0].total); - }); - }); - }); -}; - -module.exports.add = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('INSERT IGNORE INTO `blacklist` (`email`) VALUES(?)', email, err => { - if (err) { - return callback(err); - } - - connection.release(); - return callback(null, null); - - }); - }); -}; - -module.exports.delete = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM `blacklist` WHERE `email`=?', email, err => { - if (err) { - return callback(err); - } - - connection.release(); - return callback(null, null); - - }); - }); -}; - -module.exports.isblacklisted = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `email` FROM blacklist WHERE `email`=?', email, (err, rows) => { - if (err) { - return callback(err); - } - - connection.release(); - if (rows.length > 0) { - return callback(null, true); - } else { - return callback(null, false); - } - }); - }); -}; diff --git a/lib/models/campaigns.js b/lib/models/campaigns.js deleted file mode 100644 index 2db3a8d8..00000000 --- a/lib/models/campaigns.js +++ /dev/null @@ -1,1162 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); -let lists = require('./lists'); -let templates = require('./templates'); -let segments = require('./segments'); -let subscriptions = require('./subscriptions'); -let shortid = require('shortid'); -let isUrl = require('is-url'); -let feed = require('../feed'); -let log = require('npmlog'); -let mailer = require('../mailer'); -let humanize = require('humanize'); -let _ = require('../translate')._; -let util = require('util'); -let tableHelpers = require('../table-helpers'); - -let allowedKeys = ['description', 'from', 'address', 'reply_to', 'subject', 'editor_name', 'editor_data', 'template', 'source_url', 'list', 'segment', 'html', 'text', 'click_tracking_disabled', 'open_tracking_disabled', 'unsubscribe']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('campaigns', ['*'], 'scheduled', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - let queryData; - if (parent) { - queryData = { - // only find normal and RSS parent campaigns at this point - where: '`parent`=?', - values: [parent] - }; - } else { - queryData = { - // only find normal and RSS parent campaigns at this point - where: '`type` IN (?,?,?)', - values: [1, 2, 4] - }; - } - - tableHelpers.filter('campaigns', ['*'], request, ['#', 'name', 'description', 'status', 'created'], ['name'], 'created DESC', queryData, callback); -}; - -module.exports.filterQuicklist = (request, callback) => { - tableHelpers.filter('campaigns', ['id', 'name', 'description', 'created'], request, ['#', 'name', 'description', 'created'], ['name'], 'name ASC', null, callback); -}; - -module.exports.filterClickedSubscribers = (campaign, linkId, request, columns, callback) => { - let queryData = { - where: 'campaign_tracker__' + campaign.id + '.list=? AND campaign_tracker__' + campaign.id + '.link=?', - values: [campaign.list, linkId] - }; - - tableHelpers.filter('subscription__' + campaign.list + ' JOIN campaign_tracker__' + campaign.id + ' ON campaign_tracker__' + campaign.id + '.subscriber=subscription__' + campaign.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -module.exports.statsClickedSubscribersByColumn = (campaign, linkId, request, column, limit, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query_template = 'SELECT ?? AS data, COUNT(*) AS cnt FROM `subscription__%d` JOIN `campaign_tracker__%d` ON `campaign_tracker__%d`.`list`=%d AND `campaign_tracker__%d`.`subscriber`=`subscription__%d`.`id` AND `campaign_tracker__%d`.`link`=%d GROUP BY ?? ORDER BY COUNT(??) DESC, ??'; - let query = util.format(query_template, campaign.list, campaign.id, campaign.id, campaign.list, campaign.id, campaign.list, campaign.id, linkId); - - connection.query(query, [column, column, column, column], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let data = {}; - let dataList = []; - let total = 0; - - rows.forEach((row, index) => { - if (index < limit) { - data[row.data] = row.cnt; - } else { - data.other = (data.other ? data.other : 0) + row.cnt; - } - total += row.cnt; - }); - Object.keys(data).forEach(key => { - let name = key + ': ' + data[key]; - dataList.push([name, data[key]]); - }); - return callback(null, dataList, total); - }); - }); -}; - -module.exports.filterStatusSubscribers = (campaign, status, request, columns, callback) => { - let queryData = { - where: 'campaign__' + campaign.id + '.list=? AND campaign__' + campaign.id + '.segment=? AND campaign__' + campaign.id + '.status=?', - values: [campaign.list, campaign.segment && campaign.segment.id || 0, status] - }; - - tableHelpers.filter('subscription__' + campaign.list + ' JOIN campaign__' + campaign.id + ' ON campaign__' + campaign.id + '.subscription=subscription__' + campaign.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -module.exports.getByCid = (cid, callback) => { - cid = (cid || '').toString().trim(); - if (!cid) { - return callback(new Error(_('Missing Campaign ID'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM campaigns WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - return callback(null, campaign); - }); - }); -}; - -module.exports.get = (id, withSegment, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM campaigns WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - - let handleSegment = () => { - - if (!campaign.segment || !withSegment) { - return callback(null, campaign); - } else { - segments.get(campaign.segment, (err, segment) => { - if (err || !segment) { - // ignore - return callback(null, campaign); - } - segments.subscribers(segment.id, true, (err, subscribers) => { - if (err || !subscribers) { - segment.subscribers = 0; - } else { - segment.subscribers = subscribers; - } - campaign.segment = segment; - return callback(null, campaign); - }); - }); - } - }; - - if (!campaign.parent) { - return handleSegment(); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `id`, `cid`, `name` FROM campaigns WHERE id=?', [campaign.parent], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return handleSegment(); - } - - campaign.parent = tools.convertKeys(rows[0]); - return handleSegment(); - }); - }); - }); - }); -}; - -module.exports.getAttachments = (campaign, callback) => { - campaign = Number(campaign) || 0; - - if (campaign < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['id', 'filename', 'content_type', 'size', 'created']; - - connection.query('SELECT `' + keys.join('`, `') + '` FROM `attachments` WHERE `campaign`=?', [campaign], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let attachments = rows.map((row, i) => { - row = tools.convertKeys(row); - row.index = i + 1; - row.size = humanize.filesize(Number(row.size) || 0); - return row; - }); - return callback(null, attachments); - }); - }); -}; - -module.exports.addAttachment = (id, attachment, callback) => { - - let size = attachment.content ? attachment.content.length : 0; - - if (!size) { - return callback(new Error(_('Emtpy or too large attahcment'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['campaign', 'size']; - let values = [id, size]; - - Object.keys(attachment).forEach(key => { - let value; - if (Buffer.isBuffer(attachment[key])) { - value = attachment[key]; - } else { - value = typeof attachment[key] === 'number' ? attachment[key] : (attachment[key] || '').toString().trim(); - } - - key = tools.toDbKey(key); - keys.push(key); - values.push(value); - }); - - let query = 'INSERT INTO `attachments` (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let attachmentId = result && result.insertId || false; - return callback(null, attachmentId); - }); - }); -}; - -module.exports.deleteAttachment = (id, attachment, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'DELETE FROM `attachments` WHERE `id`=? AND `campaign`=? LIMIT 1'; - connection.query(query, [attachment, id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let deleted = result && result.affectedRows || false; - return callback(null, deleted); - }); - }); -}; - -module.exports.getAttachment = (campaign, attachment, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM `attachments` WHERE `id`=? AND `campaign`=? LIMIT 1'; - connection.query(query, [attachment, campaign], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - if (!rows || !rows.length) { - return callback(null, false); - } - - let attachment = tools.convertKeys(rows[0]); - return callback(null, attachment); - }); - }); -}; - -module.exports.getLinks = (id, linkId, callback) => { - if (!callback && typeof linkId === 'function') { - callback = linkId; - linkId = false; - } - - id = Number(id) || 0; - linkId = Number(linkId) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - let values; - - if (!linkId) { - query = 'SELECT `id`, `url`, `clicks` FROM links WHERE `campaign`=? LIMIT 1000'; - values = [id]; - } else { - query = 'SELECT `id`, `url`, `clicks` FROM links WHERE `id`=? AND `campaign`=? LIMIT 1'; - values = [linkId, id]; - } - - connection.query(query, values, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let links = rows.map( - row => tools.convertKeys(row) - ).sort((a, b) => ( - a.url.replace(/^https?:\/\/(www.)?/, '').toLowerCase()).localeCompare(b.url.replace(/^https?:\/\/(www.)?/, '').toLowerCase())); - - return callback(null, links); - }); - - }); -}; - -module.exports.duplicate = (id, callback) => module.exports.get(id, true, (err, campaign) => { - if (err) { - return callback(err); - } - if (!campaign) { - return callback(new Error(_('Campaign does not exist'))); - } - campaign.name = campaign.name + ' Copy'; - return module.exports.create(campaign, false, callback); -}); - -module.exports.create = (campaign, opts, callback) => { - - campaign = tools.convertKeys(campaign); - let name = (campaign.name || '').toString().trim(); - - campaign.openTrackingDisabled = campaign.openTrackingDisabled ? 1 : 0; - campaign.clickTrackingDisabled = campaign.clickTrackingDisabled ? 1 : 0; - - opts = opts || {}; - - if (/^\d+:\d+$/.test(campaign.list)) { - campaign.segment = Number(campaign.list.split(':').pop()); - campaign.list = Number(campaign.list.split(':').shift()); - } else { - campaign.list = Number(campaign.list) || 0; - campaign.segment = 0; - } - - switch ((campaign.type || '').toString().trim().toLowerCase()) { - case 'triggered': - campaign.type = 4; - break; - case 'rss': - campaign.type = 2; - break; - case 'entry': - if (opts.parent) { - campaign.type = 3; - } else { - campaign.type = 1; - } - break; - case 'normal': - default: - campaign.type = 1; - } - - campaign.template = Number(campaign.template) || 0; - - if (!name) { - return callback(new Error(_('Campaign Name must be set'))); - } - - if (campaign.type === 2 && (!campaign.sourceUrl || !isUrl(campaign.sourceUrl))) { - return callback(new Error(_('RSS URL must be set and needs to be a valid URL'))); - } - - let getList = (listId, callback) => { - if (campaign.type === 4) { - return callback(null, false); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - return callback(null, list || { - id: listId - }); - }); - }; - - getList(campaign.list, err => { - if (err) { - return callback(err); - } - - let keys = ['name', 'type']; - let values = [name, campaign.type]; - - if (campaign.type === 2) { - keys.push('status'); - values.push(5); // inactive - } - - if (campaign.type === 3) { - keys.push('status', 'parent'); - values.push(2, opts.parent); - } - - if (campaign.type === 4) { - keys.push('status'); - values.push(6); // active - } - - let create = next => { - Object.keys(campaign).forEach(key => { - let value = typeof campaign[key] === 'number' ? campaign[key] : (campaign[key] || '').toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - let cid = shortid.generate(); - keys.push('cid'); - values.push(cid); - - tools.prepareHtml(campaign.html, (err, preparedHtml) => { - if (err) { - log.error('jsdom', err); - } - - if (!preparedHtml) { - preparedHtml = campaign.html; - } - - keys.push('html_prepared'); - values.push(preparedHtml); - - db.getConnection((err, connection) => { - if (err) { - return next(err); - } - - let query = 'INSERT INTO campaigns (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return next(err); - } - - let campaignId = result && result.insertId || false; - if (!campaignId) { - return next(null, false); - } - - // we are going to aqcuire a lot of log info, so we are putting - // sending logs into separate tables - createCampaignTables(campaignId, err => { - if (err) { - // FIXME: rollback - return next(err); - } - return next(null, campaignId); - }); - }); - }); - }); - }; - - if (campaign.type === 2) { - feed.fetch(campaign.sourceUrl, (err, entries) => { - if (err) { - return callback(err); - } - - mailer.getTemplate('emails/rss-html.hbs', (err, rendererHtml) => { - if (err) { - return callback(err); - } - - campaign.html = rendererHtml(); - - create((err, campaignId) => { - if (err) { - return callback(err); - } - if (!campaignId || !entries.length) { - return callback(null, campaignId); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // store references to already existing feed entries - // this is needed to detect new entries - let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(','); - - values = []; - entries.forEach(entry => { - values.push(campaignId, entry.guid, entry.date); - }); - - connection.query(query, values, err => { - connection.release(); - if (err) { - // too late to report as failed - log.error('RSS', err); - } - - return callback(null, campaignId); - }); - }); - }); - }); - }); - return; - } else if (campaign.template) { - templates.get(campaign.template, (err, template) => { - if (err) { - return callback(err); - } - if (!template) { - return callback(new Error(_('Selected template not found'))); - } - - campaign.editorName = template.editorName; - campaign.editorData = template.editorData; - campaign.html = template.html; - campaign.text = template.text; - - create(callback); - }); - return; - } else { - return create(callback); - } - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - let campaign = tools.convertKeys(updates); - let name = (campaign.name || '').toString().trim(); - - campaign.openTrackingDisabled = campaign.openTrackingDisabled ? 1 : 0; - campaign.clickTrackingDisabled = campaign.clickTrackingDisabled ? 1 : 0; - - if (!name) { - return callback(new Error(_('Campaign Name must be set'))); - } - - if (/^\d+:\d+$/.test(campaign.list)) { - campaign.segment = Number(campaign.list.split(':').pop()); - campaign.list = Number(campaign.list.split(':').shift()); - } else { - campaign.list = Number(campaign.list) || 0; - campaign.segment = 0; - } - - let getList = (listId, callback) => { - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - return callback(null, list || { - id: listId - }); - }); - }; - - getList(campaign.list, err => { - if (err) { - return callback(err); - } - - let keys = ['name']; - let values = [name]; - - Object.keys(campaign).forEach(key => { - let value = typeof campaign[key] === 'number' ? campaign[key] : (campaign[key] || '').toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - tools.prepareHtml(campaign.html, (err, preparedHtml) => { - if (err) { - log.error('jsdom', err); - } - - if (!preparedHtml) { - preparedHtml = campaign.html; - } - - keys.push('html_prepared'); - values.push(preparedHtml); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE campaigns SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - if (err) { - connection.release(); - return callback(err); - } - let affected = result && result.affectedRows || false; - - if (!affected) { - connection.release(); - return callback(null, affected); - } - - connection.query('SELECT `type`, `source_url` FROM campaigns WHERE id=? LIMIT 1', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows[0] || rows[0].type !== 2) { - // if not RSS, then nothing to do here - return callback(null, affected); - } - - // update seen rss entries to avoid sending old entries to subscribers - feed.fetch(rows[0].source_url, (err, entries) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(','); - - values = []; - entries.forEach(entry => { - values.push(id, entry.guid, entry.date); - }); - - connection.query(query, values, err => { - connection.release(); - if (err) { - // too late to report as failed - log.error('RSS', err); - } - return callback(null, affected); - }); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Campaign ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM campaigns WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - removeCampaignTables(id, err => { - if (err) { - return callback(err); - } - - db.clearCache('sender', () => { - callback(null, affected); - }); - }); - }); - }); -}; - -module.exports.send = (id, scheduled, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status === 2) { // already sending - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - let values; - if (scheduled) { - query = 'UPDATE campaigns SET `status`=2, `scheduled`=?, `status_change`=NOW() WHERE id=? LIMIT 1'; - values = [scheduled, id]; - } else { - query = 'UPDATE campaigns SET `status`=2, `status_change`=NOW() WHERE id=? LIMIT 1'; - values = [id]; - } - - // campaigns marked as status=2 should be picked up by the sending processes - connection.query(query, values, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.pause = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 2) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=4 are paused - connection.query('UPDATE campaigns SET `status`=4, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - db.clearCache('sender', () => { - callback(null, true); - }); - }); - }); - }); -}; - -module.exports.reset = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 3 && campaign.status !== 4 && !(campaign.status === 2 && campaign.scheduled > new Date())) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('UPDATE campaigns SET `status`=1, `status_change`=NULL, `delivered`=0, `opened`=0, `clicks`=0, `bounced`=0, `complained`=0, `unsubscribed`=0, `blacklisted`=0 WHERE id=? LIMIT 1', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - - db.clearCache('sender', () => { - connection.query('UPDATE links SET `clicks`=0 WHERE campaign=?', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('TRUNCATE TABLE `campaign__' + id + '`', [id], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('TRUNCATE TABLE `campaign_tracker__' + id + '`', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.activate = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 5) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=5 are paused - connection.query('UPDATE campaigns SET `status`=6, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.inactivate = (id, callback) => { - module.exports.get(id, false, (err, campaign) => { - if (err) { - return callback(err); - } - - if (campaign.status !== 6) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - // campaigns marked as status=6 are paused - connection.query('UPDATE campaigns SET `status`=5, `status_change`=NOW() WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -module.exports.getMail = (campaignId, listId, subscriptionId, callback) => { - campaignId = Number(campaignId) || 0; - listId = Number(listId) || 0; - subscriptionId = Number(subscriptionId) || 0; - - if (campaignId < 1 || listId < 1 || subscriptionId < 1) { - return callback(new Error(_('Invalid or missing message ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `campaign__' + campaignId + '` WHERE list=? AND subscription=?', [listId, subscriptionId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let campaign = tools.convertKeys(rows[0]); - return callback(null, campaign); - }); - }); -}; - -module.exports.findMailByResponse = (responseId, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id FROM campaigns ORDER BY id DESC', [], (err, campaignList) => { - if (err) { - connection.release(); - return callback(err); - } - if (!campaignList || !campaignList.length) { - connection.release(); - return callback(null, false); - } - - let pos = 0; - let checkNext = () => { - if (pos >= campaignList.length) { - // all campaigns checked, result not found - connection.release(); - return callback(null, false); - } - let campaign = campaignList[pos++]; - - connection.query('SELECT id, list, segment, subscription FROM `campaign__' + campaign.id + '` WHERE `response_id`=? LIMIT 1', [responseId], (err, rows) => { - if (err || !rows || !rows.length) { - return checkNext(); - } - connection.release(); - - let message = rows[0]; - message.campaign = campaign.id; - return callback(null, message); - }); - }; - - checkNext(); - }); - }); -}; - -module.exports.findMailByCampaign = (campaignHeader, callback) => { - if (!campaignHeader) { - return callback(null, false); - } - - let parts = campaignHeader.split('.'); - let cCid = parts.shift(); - let sCid = parts.pop(); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT `id`, `list`, `segment` FROM `campaigns` WHERE `cid`=? LIMIT 1'; - connection.query(query, [cCid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(null, false); - } - - let campaignId = rows[0].id; - let listId = rows[0].list; - let segmentId = rows[0].segment; - - let query = 'SELECT id FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1'; - connection.query(query, [sCid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(null, false); - } - - let subscriptionId = rows[0].id; - - let query = 'SELECT `id`, `list`, `segment`, `subscription` FROM `campaign__' + campaignId + '` WHERE `list`=? AND `segment`=? AND `subscription`=? LIMIT 1'; - connection.query(query, [listId, segmentId, subscriptionId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - if (!rows || !rows.length) { - return callback(null, false); - } - - let message = rows[0]; - message.campaign = campaignId; - - return callback(null, message); - }); - }); - }); - }); -}; - -module.exports.updateMessage = (message, status, updateSubscription, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let statusCode; - if (status === 'unsubscribed') { - statusCode = subscriptions.Status.UNSUBSCRIBED; - } else if (status === 'bounced') { - statusCode = subscriptions.Status.BOUNCED; - } else if (status === 'complained') { - statusCode = subscriptions.Status.COMPLAINED; - } else { - return callback(new Error(_('Unrecognized message status'))); - } - - let query = 'UPDATE `campaigns` SET `' + status + '`=`' + status + '`+1 WHERE id=? LIMIT 1'; - connection.query(query, [message.campaign], () => { - - let query = 'UPDATE `campaign__' + message.campaign + '` SET status=?, updated=NOW() WHERE id=? LIMIT 1'; - connection.query(query, [statusCode, message.id], err => { - connection.release(); - if (err) { - return callback(err); - } - - if (updateSubscription) { - subscriptions.changeStatus(message.list, message.subscription, statusCode === subscriptions.Status.UNSUBSCRIBED ? message.campaign : false, statusCode, callback); - } else { - return callback(null, true); - } - }); - }); - - }); -}; - -module.exports.updateMessageResponse = (message, response, response_id, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'UPDATE `campaign__' + message.campaign + '` SET `response`=?, `response_id`=? WHERE id=? LIMIT 1'; - connection.query(query, [response, response_id, message.id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - - }); -}; - -function createCampaignTables(id, callback) { - let query = 'CREATE TABLE `campaign__' + id + '` LIKE campaign'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - if (err) { - connection.release(); - return callback(err); - } - let query = 'CREATE TABLE `campaign_tracker__' + id + '` LIKE campaign_tracker'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -} - -function removeCampaignTables(id, callback) { - let query = 'DROP TABLE IF EXISTS `campaign__' + id + '`'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - if (err) { - connection.release(); - return callback(err); - } - let query = 'DROP TABLE IF EXISTS `campaign_tracker__' + id + '`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -} diff --git a/lib/models/confirmations.js b/lib/models/confirmations.js deleted file mode 100644 index 9cbceee6..00000000 --- a/lib/models/confirmations.js +++ /dev/null @@ -1,91 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let helpers = require('../helpers'); -let _ = require('../translate')._; - -/* - Adds new entry to the confirmations tables. Generates confirmation cid, which it returns. - */ -module.exports.addConfirmation = (listId, action, ip, data, callback) => { - let cid = shortid.generate(); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO confirmations (cid, list, action, ip, data) VALUES (?,?,?,?,?)'; - connection.query(query, [cid, listId, action, ip, JSON.stringify(data || {})], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!result || !result.affectedRows) { - return callback(new Error(_('Could not store confirmation data'))); - } - - return callback(null, cid); - }); - }); -}; - -/* - Atomically retrieves confirmation from the database, removes it from the database and returns it. - */ -module.exports.takeConfirmation = (cid, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT cid, list, action, ip, data FROM confirmations WHERE cid=? LIMIT 1'; - connection.query(query, [cid], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!rows || !rows.length) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, false)); - } - - connection.query('DELETE FROM confirmations WHERE `cid`=? LIMIT 1', [cid], () => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - - let data; - try { - data = JSON.parse(rows[0].data); - } catch (E) { - data = {}; - } - - const result = { - listId: rows[0].list, - action: rows[0].action, - ip: rows[0].ip, - data - }; - - return callback(null, result); - }); - }); - }); - }); - }); -}; diff --git a/lib/models/fields.js b/lib/models/fields.js deleted file mode 100644 index 1b3dbe2b..00000000 --- a/lib/models/fields.js +++ /dev/null @@ -1,625 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let slugify = require('slugify'); -let lists = require('./lists'); -let shortid = require('shortid'); -let Handlebars = require('handlebars'); -let _ = require('../translate')._; -let util = require('util'); - -let allowedKeys = ['name', 'description', 'key', 'default_value', 'group', 'group_template', 'visible']; -let allowedTypes; - -module.exports.grouped = ['radio', 'checkbox', 'dropdown']; -module.exports.types = { - text: _('Text'), - website: _('Website'), - longtext: _('Multi-line text'), - gpg: _('GPG Public Key'), - number: _('Number'), - radio: _('Radio Buttons'), - checkbox: _('Checkboxes'), - dropdown: _('Drop Down'), - 'date-us': _('Date (MM/DD/YYY)'), - 'date-eur': _('Date (DD/MM/YYYY)'), - 'birthday-us': _('Birthday (MM/DD)'), - 'birthday-eur': _('Birthday (DD/MM)'), - json: _('JSON value for custom rendering'), - option: _('Option') -}; - -module.exports.allowedTypes = allowedTypes = Object.keys(module.exports.types); - -module.exports.genericTypes = { - text: 'string', - website: 'string', - longtext: 'textarea', - gpg: 'textarea', - json: 'textarea', - number: 'number', - 'date-us': 'date', - 'date-eur': 'date', - 'birthday-us': 'birthday', - 'birthday-eur': 'birthday', - option: 'boolean' -}; - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE list=? ORDER BY id'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let fieldList = rows && rows.map(row => tools.convertKeys(row)) || []; - let groups = new Map(); - - // remove grouped rows - for (let i = fieldList.length - 1; i >= 0; i--) { - let field = fieldList[i]; - if (module.exports.grouped.indexOf(field.type) >= 0) { - if (!groups.has(field.id)) { - groups.set(field.id, []); - } - field.options = groups.get(field.id); - } else if (field.group && field.type === 'option') { - if (!groups.has(field.group)) { - groups.set(field.group, [field]); - } else { - groups.get(field.group).unshift(field); - } - fieldList.splice(i, 1); - } - } - - return callback(null, fieldList); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let field = rows && rows[0] && tools.convertKeys(rows[0]) || false; - field.isGroup = module.exports.grouped.indexOf(field.type) >= 0 || field.type === 'json'; - return callback(null, field); - }); - }); -}; - -module.exports.create = (listId, field, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - field = tools.convertKeys(field); - - if (field.type === 'option' && !field.group) { - return callback(new Error(_('Option field requires a group to be selected'))); - } - - if (field.type !== 'option') { - field.group = null; - } - - field.description = (field.description || '').toString().trim() || null; - field.defaultValue = (field.defaultValue || '').toString().trim() || null; - field.groupTemplate = (field.groupTemplate || '').toString().trim() || null; - - addCustomField(listId, field.name, field.description, field.defaultValue, field.type, field.group, field.groupTemplate, field.visible, callback); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - updates = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Field ID'))); - } - - if (!(updates.name || '').toString().trim()) { - return callback(new Error(_('Field Name must be set'))); - } - - if (updates.key) { - updates.key = slugify(updates.key, '_').toUpperCase(); - } - - updates.description = (updates.description || '').toString().trim() || null; - updates.defaultValue = (updates.defaultValue || '').toString().trim() || null; - updates.groupTemplate = (updates.groupTemplate || '').toString().trim() || null; - - updates.visible = updates.visible ? 1 : 0; - - let name = (updates.name || '').toString().trim(); - let keys = ['name']; - let values = [name]; - - Object.keys(updates).forEach(key => { - let value = typeof updates[key] === 'string' ? updates[key].trim() : updates[key]; - key = tools.toDbKey(key); - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE custom_fields SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.delete = (fieldId, callback) => { - fieldId = Number(fieldId) || 0; - - if (fieldId < 1) { - return callback(new Error(_('Missing Field ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM custom_fields WHERE id=? LIMIT 1'; - connection.query(query, [fieldId], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Custom field not found'))); - } - - let field = tools.convertKeys(rows[0]); - if (field.column) { - connection.query('ALTER TABLE `subscription__' + field.list + '` DROP COLUMN `' + field.column + '`', err => { - if (err && err.code !== 'ER_CANT_DROP_FIELD_OR_KEY') { - connection.release(); - return callback(err); - } - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], err => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('DELETE FROM segment_rules WHERE column=? LIMIT 1', [field.column], err => { - connection.release(); - if (err) { - // ignore - } - return callback(null, true); - }); - }); - }); - } else { - // delete all subfields in this group - let query = 'SELECT id FROM custom_fields WHERE `group`=?'; - connection.query(query, [fieldId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - rows = []; - } - - let pos = 0; - let deleteNext = () => { - if (pos >= rows.length) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - return; - } - module.exports.delete(rows[pos++].id, deleteNext); - }; - - deleteNext(); - }); - } - }); - }); -}; - -function addCustomField(listId, name, description, defaultValue, type, group, groupTemplate, visible, callback) { - type = (type || '').toString().trim().toLowerCase(); - group = Number(group) || null; - listId = Number(listId) || 0; - - let column = null; - let key = slugify('merge ' + name, '_').toUpperCase(); - - if (allowedTypes.indexOf(type) < 0) { - return callback(new Error(util.format(_('Unknown column type %s'), type))); - } - - if (!name) { - return callback(new Error(_('Missing column name'))); - } - - if (listId <= 0) { - return callback(new Error(_('Missing list ID'))); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(_('Provided List ID not found')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - if (module.exports.grouped.indexOf(type) < 0) { - column = ('custom_' + slugify(name, '_') + '_' + shortid.generate()).toLowerCase().replace(/[^a-z0-9_]/g, ''); - } - - let query = 'INSERT INTO custom_fields (`list`, `name`, `description`, `key`,`default_value`, `type`, `group`, `group_template`, `column`, `visible`) VALUES(?,?,?,?,?,?,?,?,?,?)'; - connection.query(query, [listId, name, description, key, defaultValue, type, group, groupTemplate, column, visible ? 1 : 0], (err, result) => { - - if (err) { - connection.release(); - return callback(err); - } - - let fieldId = result && result.insertId; - let indexQuery; - - switch (type) { - case 'text': - case 'website': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` VARCHAR(255) DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'gpg': - case 'longtext': - case 'json': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TEXT DEFAULT NULL'; - break; - case 'number': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` INT(11) DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'option': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` TINYINT(4) UNSIGNED NOT NULL DEFAULT \'0\''; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - case 'date-us': - case 'date-eur': - case 'birthday-us': - case 'birthday-eur': - query = 'ALTER TABLE `subscription__' + listId + '` ADD COLUMN `' + column + '` DATETIME NULL DEFAULT NULL'; - indexQuery = 'CREATE INDEX ' + column + '_index ON `subscription__' + listId + '` (`column`);'; - break; - default: - connection.release(); - return callback(null, fieldId, key); - } - - connection.query(query, err => { - if (err) { - connection.query('DELETE FROM custom_fields WHERE id=? LIMIT 1', [fieldId], () => connection.release()); - return callback(err); - } - if (!indexQuery) { - connection.release(); - return callback(null, fieldId, key); - } else { - connection.query(query, err => { - if (err) { - // ignore index errors - } - connection.release(); - return callback(null, fieldId, key); - }); - } - }); - }); - }); - }); -} - -module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => { - let valueList = {}; - let row = []; - - Object.keys(values || {}).forEach(key => { - let value = values[key]; - key = tools.toDbKey(key); - if (key.indexOf('custom_') === 0) { - valueList[key] = value; - } else if (key.indexOf('group_g') === 0 && value.indexOf('custom_') === 0) { - valueList[tools.toDbKey(value)] = 1; - } - }); - - fieldList.filter(field => showAll || field.visible).forEach(field => { - if (onlyExisting && field.column && !valueList.hasOwnProperty(field.column)) { - // ignore missing values - return; - } - /* eslint-disable indent */ - switch (field.type) { - case 'text': - case 'website': - case 'gpg': - case 'longtext': - { - let item = { - id: field.id, - type: field.type, - name: field.name, - description: field.description, - column: field.column, - value: (valueList[field.column] || '').toString().trim(), - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (valueList[field.column] || '').toString().trim() || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'json': - { - let value; - let json = (valueList[field.column] || '').toString().trim(); - try { - let parsed = JSON.parse(json); - if (Array.isArray(parsed)) { - parsed = { - values: parsed - }; - } - value = json ? render(field.groupTemplate, parsed) : ''; - } catch (E) { - value = E.message; - } - - let item = { - id: field.id, - type: field.type, - name: field.name, - description: field.description, - column: field.column, - value: (valueList[field.column] || '').toString().trim(), - visible: !!field.visible, - mergeTag: field.key, - mergeValue: value || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'number': - { - let item = { - id: field.id, - type: field.type, - name: field.name, - description: field.description, - column: field.column, - value: Number(valueList[field.column]) || 0, - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (Number(valueList[field.column]) || Number(field.defaultValue) || 0).toString(), - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - case 'dropdown': - case 'radio': - case 'checkbox': - { - let hasSelectedOption = (field.options || []).some(subField => subField.column && valueList[subField.column]); - let item = { - id: field.id, - type: field.type, - name: field.name, - description: field.description, - visible: !!field.visible, - key: 'group-g' + field.id, - mergeTag: field.key, - mergeValue: field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true, - groupTemplate: field.groupTemplate, - options: (field.options || []).map(subField => { - if (onlyExisting && subField.column && !valueList.hasOwnProperty(subField.column)) { - if (hasSelectedOption && field.type !== 'checkbox') { - // Set all radio or dropdown options if a selection for the group is present - } else if (field.type === 'checkbox' && values['originGroupG' + field.id] === 'webform') { - // Set all checkbox options if origin is webform (subscribe, manage, or admin edit) #333 - // Atomic updates via API call or CSV import still possible - } else { - // ignore missing values - return false; - } - } - return { - type: subField.type, - name: subField.name, - description: subField.description, - column: subField.column, - value: valueList[subField.column] ? 1 : 0, - visible: !!subField.visible, - mergeTag: subField.key, - mergeValue: valueList[subField.column] ? subField.name : subField.defaultValue - }; - }).filter(subField => subField) - }; - let subItems = item.options.filter(subField => (showAll || subField.visible) && subField.value).map(subField => subField.name); - item.value = field.groupTemplate ? render(field.groupTemplate, { - values: subItems - }) : subItems.join(', '); - item.mergeValue = item.value || field.defaultValue; - row.push(item); - break; - } - case 'date-eur': - case 'birthday-eur': - case 'date-us': - case 'birthday-us': - { - let isUs = /-us$/.test(field.type); - let isYear = field.type.indexOf('date-') === 0; - let value = valueList[field.column]; - let day, month, year; - let formatted; - - if (value && typeof value.getUTCFullYear === 'function') { - day = value.getUTCDate(); - month = value.getUTCMonth() + 1; - year = value.getUTCFullYear(); - } else { - value = (value || '').toString().trim(); - - // try international format first YYYY-MM-DD - let parts = value.match(/(\d{4})\D+(\d{2})(?:\D+(\d{2})\b)?/); - if (parts) { - year = Number(parts[1]) || 2000; - month = Number(parts[2]) || 0; - day = Number(parts[3]) || 0; - value = new Date(Date.UTC(year, month - 1, day)); - } else { - parts = value.match(/(\d+)\D+(\d+)(?:\D+(\d+)\b)?/); - if (!parts) { - value = null; - } else { - day = Number(parts[isUs ? 2 : 1]) || 0; - month = Number(parts[isUs ? 1 : 2]) || 0; - year = Number(parts[3]) || 2000; - - if (!day || !month) { - value = null; - } else { - value = new Date(Date.UTC(year, month - 1, day)); - } - } - } - } - - if (day && month) { - if (isUs) { - formatted = (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day; - } else { - formatted = (day < 10 ? '0' : '') + day + '/' + (month < 10 ? '0' : '') + month; - } - - if (isYear) { - formatted += '/' + year; - } - } else { - formatted = null; - } - - let item = { - id: field.id, - type: field.type, - name: field.name, - description: field.description, - column: field.column, - value: useDate ? value : formatted, - visible: !!field.visible, - mergeTag: field.key, - mergeValue: (useDate ? value : formatted) || field.defaultValue, - ['type' + (field.type || '').toString().trim().replace(/(?:^|-)([a-z])/g, (m, c) => c.toUpperCase())]: true - }; - row.push(item); - break; - } - } - /* eslint-enable indent */ - }); - - return row; -}; - -module.exports.getValues = (row, showAll) => { - let result = []; - row.filter(field => showAll || field.visible).forEach(field => { - if (field.column) { - result.push({ - key: field.column, - value: field.value - }); - } else if (field.options) { - field.options.filter(field => showAll || field.visible).forEach(subField => { - result.push({ - key: subField.column, - value: subField.value - }); - }); - } - }); - - return result; -}; - - -function render(template, options) { - let renderer = Handlebars.compile(template); - return renderer(options); -} diff --git a/lib/models/forms.js b/lib/models/forms.js deleted file mode 100644 index 9550077b..00000000 --- a/lib/models/forms.js +++ /dev/null @@ -1,418 +0,0 @@ -'use strict'; - -let db = require('../db'); -let fs = require('fs'); -let path = require('path'); -let tools = require('../tools'); -let mjml = require('mjml'); -let _ = require('../translate')._; - -let allowedKeys = [ - 'name', - 'description', - 'fields_shown_on_subscribe', - 'fields_shown_on_manage', - 'layout', - 'form_input_style', - 'web_subscribe', - 'web_confirm_subscription_notice', - 'mail_confirm_subscription_html', - 'mail_confirm_subscription_text', - 'mail_already_subscribed_html', - 'mail_already_subscribed_text', - 'web_subscribed_notice', - 'mail_subscription_confirmed_html', - 'mail_subscription_confirmed_text', - 'web_manage', - 'web_manage_address', - 'web_updated_notice', - 'web_unsubscribe', - 'web_confirm_unsubscription_notice', - 'mail_confirm_unsubscription_html', - 'mail_confirm_unsubscription_text', - 'mail_confirm_address_change_html', - 'mail_confirm_address_change_text', - 'web_unsubscribed_notice', - 'mail_unsubscription_confirmed_html', - 'mail_unsubscription_confirmed_text', - 'web_manual_unsubscribe_notice' -]; - - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE list=? ORDER BY id', [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let formList = rows && rows.map(row => tools.convertKeys(row)) || []; - return callback(null, formList); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let form = rows && rows[0] && tools.convertKeys(rows[0]) || false; - - if (!form) { - connection.release(); - return callback(new Error('Selected form not found')); - } - - connection.query('SELECT * FROM custom_forms_data WHERE form=?', [id], (err, data_rows = []) => { - connection.release(); - if (err) { - return callback(err); - } - - data_rows.forEach(data_row => { - let modelKey = tools.fromDbKey(data_row.data_key); - form[modelKey] = data_row.data_value; - }); - - return callback(null, form); - }); - }); - }); -}; - - -module.exports.create = (listId, form, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - form = tools.convertKeys(form); - form = setDefaultValues(form); - form.name = (form.name || '').toString().trim(); - - if (!form.name) { - return callback(new Error(_('Form Name must be set'))); - } - - let keys = ['list']; - let values = [listId]; - - Object.keys(form).forEach(key => { - let value = form[key].trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let filtered = filterKeysAndValues(keys, values, 'exclude', ['mail_', 'web_']); - let query = 'INSERT INTO custom_forms (' + filtered.keys.join(', ') + ') VALUES (' + filtered.values.map(() => '?').join(',') + ')'; - - connection.query(query, filtered.values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let formId = result && result.insertId; - - if (!formId) { - return callback(new Error('Invalid custom_forms insertId')); - } - - let jobs = 1; - let error = null; - - let done = err => { - jobs--; - error = err ? err : error; // One's enough - jobs === 0 && callback(error, formId); - }; - - filtered = filterKeysAndValues(keys, values, 'include', ['mail_', 'web_']); - - filtered.keys.forEach((key, index) => { - jobs++; - - db.getConnection((err, connection) => { - if (err) { - return done(err); - } - - connection.query('INSERT INTO custom_forms_data (form, data_key, data_value) VALUES (?, ?, ?)', [formId, key, filtered.values[index]], err => { - connection.release(); - if (err) { - return done(err); - } - - return done(null); - }); - }); - }); - - done(null); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - updates = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - if (!(updates.name || '').toString().trim()) { - return callback(new Error(_('Form Name must be set'))); - } - - let keys = []; - let values = []; - - Object.keys(updates).forEach(key => { - let value = typeof updates[key] === 'string' ? updates[key].trim() : updates[key]; - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let filtered = filterKeysAndValues(keys, values, 'exclude', ['mail_', 'web_']); - let query = 'UPDATE custom_forms SET ' + filtered.keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - - connection.query(query, filtered.values.concat(id), (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affectedRows = result && result.affectedRows; - - let jobs = 1; - let error = null; - - let done = err => { - jobs--; - error = err ? err : error; // One's enough - - if (jobs === 0) { - if (error) { - return callback(error); - } - - // Save then validate, as otherwise their work get's lost ... - err = testForMjmlErrors(keys, values); - if (err) { - return callback(err); - } - - return callback(null, affectedRows); - } - }; - - filtered = filterKeysAndValues(keys, values, 'include', ['mail_', 'web_']); - - filtered.keys.forEach((key, index) => { - jobs++; - - db.getConnection((err, connection) => { - if (err) { - return done(err); - } - - connection.query('UPDATE custom_forms_data SET data_value=? WHERE data_key=? AND form=?', [filtered.values[index], key, id], err => { - connection.release(); - if (err) { - return done(err); - } - - return done(null); - }); - }); - }); - - done(null); - }); - }); -}; - -module.exports.delete = (formId, callback) => { - formId = Number(formId) || 0; - - if (formId < 1) { - return callback(new Error(_('Missing Form ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM custom_forms WHERE id=? LIMIT 1', [formId], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Custom form not found'))); - } - - connection.query('DELETE FROM custom_forms WHERE id=? LIMIT 1', [formId], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); - }); -}; - -function setDefaultValues(form) { - let getContents = fileName => { - try { - let basePath = path.join(__dirname, '..', '..'); - let template = fs.readFileSync(path.join(basePath, fileName), 'utf8'); - return template.replace(/\{\{#translate\}\}(.*?)\{\{\/translate\}\}/g, (m, s) => _(s)); - } catch (err) { - return false; - } - }; - - allowedKeys.forEach(key => { - let modelKey = tools.fromDbKey(key); - let base = 'views/subscription/' + key.replace(/_/g, '-'); - - if (key.startsWith('mail') || key.startsWith('web')) { - form[modelKey] = getContents(base + '.mjml.hbs') || getContents(base + '.hbs') || ''; - } - }); - - form.layout = getContents('views/subscription/layout.mjml.hbs') || ''; - form.formInputStyle = getContents('public/subscription/form-input-style.css') || '@import url(/subscription/form-input-style.css);'; - - return form; -} - -function filterKeysAndValues(keysIn, valuesIn, method = 'include', prefixes = []) { - let values = []; - - let prefixMatch = key => ( - prefixes.some(prefix => key.startsWith(prefix)) - ); - - let keys = keysIn.filter((key, index) => { - if ((method === 'include' && prefixMatch(key)) || (method === 'exclude' && !prefixMatch(key))) { - values.push(valuesIn[index]); - return true; - } - return false; - }); - - return { - keys, - values - }; -} - -function testForMjmlErrors(keys, values) { - - let errors = []; - let testLayout = '{{{body}}}'; - - let hasMjmlError = (template, layout = testLayout) => { - let source = layout.replace(/\{\{\{body\}\}\}/g, template); - let compiled; - - try { - compiled = mjml.mjml2html(source); - } catch (err) { - return err; - } - - if (compiled.errors.length) { - return compiled.errors[0].message || compiled.errors[0]; - } - - return null; - }; - - keys.forEach((key, index) => { - if (key.startsWith('mail_') || key.startsWith('web_')) { - - let template = values[index]; - let err = hasMjmlError(template); - - err && errors.push(key + ': ' + (err.message || err)); - key === 'mail_confirm_html' && !template.includes('{{confirmUrl}}') && errors.push(key + ': Missing {{confirmUrl}}'); - - } else if (key === 'layout') { - - let layout = values[index]; - let err = hasMjmlError('', layout); - - err && errors.push('layout: ' + (err.message || err)); - !layout.includes('{{{body}}}') && errors.push('layout: {{{body}}} not found'); - } - }); - - - if (errors.length) { - errors.forEach((err, index) => { - errors[index] = (index + 1) + ') ' + err; - }); - return 'Please fix these MJML errors:\n\n' + errors.join('\n'); - } - - return null; -} diff --git a/lib/models/links.js b/lib/models/links.js deleted file mode 100644 index e7ce5591..00000000 --- a/lib/models/links.js +++ /dev/null @@ -1,364 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let util = require('util'); -let _ = require('../translate')._; - -let geoip = require('geoip-ultralight'); -let campaigns = require('./campaigns'); -let subscriptions = require('./subscriptions'); -let lists = require('./lists'); - -let log = require('npmlog'); -let urllib = require('url'); -let he = require('he'); -let ua_parser = require('device'); - -module.exports.resolve = (linkCid, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT id, url FROM links WHERE `cid`=? LIMIT 1'; - connection.query(query, [linkCid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length) { - return callback(null, rows[0].id, rows[0].url); - } - - return callback(null, false); - }); - }); -}; - -module.exports.countClick = (remoteIp, useragent, campaignCid, listCid, subscriptionCid, linkId, callback) => { - getSubscriptionData(campaignCid, listCid, subscriptionCid, (err, data) => { - if (err) { - return callback(err); - } - - if (!data || data.campaign.clickTrackingDisabled) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let country = geoip.lookupCountry(remoteIp) || null; - let device = ua_parser(useragent, { unknownUserAgentDeviceType: 'desktop', emptyUserAgentDeviceType: 'desktop' }); - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `count`=`count`+1'; - connection.query(query, [data.list.id, data.subscription.id, linkId, remoteIp, device.type, country], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - if (err && err.code === 'ER_DUP_ENTRY' || result.affectedRows > 1) { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE `subscription__' + data.list.id + '` SET `latest_click`=NOW(), `latest_open`=NOW() WHERE id=?'; - connection.query(query, [data.subscription.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'UPDATE links SET clicks = clicks + 1 WHERE id=?'; - connection.query(query, [linkId], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?)'; - connection.query(query, [data.list.id, data.subscription.id, 0, remoteIp, device.type, country], err => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - if (err && err.code === 'ER_DUP_ENTRY') { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE campaigns SET clicks = clicks + 1 WHERE id=?'; - connection.query(query, [data.campaign.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - }); - - // also count clicks as open events in case beacon image was blocked - module.exports.countOpen(remoteIp, useragent, campaignCid, listCid, subscriptionCid, () => false); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.countOpen = (remoteIp, useragent, campaignCid, listCid, subscriptionCid, callback) => { - getSubscriptionData(campaignCid, listCid, subscriptionCid, (err, data) => { - if (err) { - return callback(err); - } - - if (!data || data.campaign.openTrackingDisabled) { - return callback(null, false); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let country = geoip.lookupCountry(remoteIp) || null; - let device = ua_parser(useragent, { unknownUserAgentDeviceType: 'desktop', emptyUserAgentDeviceType: 'desktop' }); - let query = 'INSERT INTO `campaign_tracker__' + data.campaign.id + '` (`list`, `subscriber`, `link`, `ip`, `device_type`, `country`) VALUES (?,?,?,?,?,?) ON DUPLICATE KEY UPDATE `count`=`count`+1'; - connection.query(query, [data.list.id, data.subscription.id, -1, remoteIp, device.type, country], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - if (err && err.code === 'ER_DUP_ENTRY' || result.affectedRows > 1) { - return connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - } - - let query = 'UPDATE `subscription__' + data.list.id + '` SET `latest_open`=NOW() WHERE id=?'; - connection.query(query, [data.subscription.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - - let query = 'UPDATE campaigns SET opened = opened + 1 WHERE id=?'; - connection.query(query, [data.campaign.id], err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.commit(err => { - if (err) { - return connection.rollback(() => { - connection.release(); - return callback(err); - }); - } - connection.release(); - return callback(null, false); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.add = (url, campaignId, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let cid = shortid.generate(); - let query = 'INSERT INTO links (`cid`, `campaign`, `url`) VALUES (?,?,?)'; - connection.query(query, [cid, campaignId, url], (err, result) => { - if (err && err.code !== 'ER_DUP_ENTRY') { - connection.release(); - return callback(err); - } - - if (!err && result && result.insertId) { - connection.release(); - return callback(null, result.insertId, cid); - } - - let query = 'SELECT id, cid FROM links WHERE `campaign`=? AND `url`=? LIMIT 1'; - connection.query(query, [campaignId, url], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length) { - return callback(null, rows[0].id, rows[0].cid); - } - - return callback(null, false); - }); - }); - }); -}; - -module.exports.updateLinks = (campaign, list, subscription, serviceUrl, message, callback) => { - if ((campaign.openTrackingDisabled && campaign.clickTrackingDisabled) || !message || !message.trim()) { - // tracking is disabled, do not modify the message - return setImmediate(() => callback(null, message)); - } - - // insert tracking image - if (!campaign.openTrackingDisabled) { - let inserted = false; - let imgUrl = urllib.resolve(serviceUrl, util.format('/links/%s/%s/%s', campaign.cid, list.cid, encodeURIComponent(subscription.cid))); - let img = 'mt'; - message = message.replace(/<\/body\b/i, match => { - inserted = true; - return img + match; - }); - if (!inserted) { - message = message + img; - } - if (campaign.clickTrackingDisabled) { - return callback(null, message); - } - } - - if (!campaign.clickTrackingDisabled) { - let re = /(]* href\s*=[\s"']*)(http[^"'>\s]+)/gi; - let urls = new Set(); - (message || '').replace(re, (match, prefix, url) => { - urls.add(url); - }); - - let map = new Map(); - let vals = urls.values(); - - let replaceUrls = () => { - callback(null, - message.replace(re, (match, prefix, url) => - prefix + (map.has(url) ? urllib.resolve(serviceUrl, util.format('/links/%s/%s/%s/%s', campaign.cid, list.cid, encodeURIComponent(subscription.cid), encodeURIComponent(map.get(url)))) : url))); - }; - - let storeNext = () => { - let urlItem = vals.next(); - if (urlItem.done) { - return replaceUrls(); - } - - module.exports.add(he.decode(urlItem.value, { - isAttributeValue: true - }), campaign.id, (err, linkId, cid) => { - if (err) { - log.error('Link', err); - return storeNext(); - } - map.set(urlItem.value, cid); - return storeNext(); - }); - }; - - storeNext(); - } -}; - -function getSubscriptionData(campaignCid, listCid, subscriptionCid, callback) { - campaigns.getByCid(campaignCid, (err, campaign) => { - if (err) { - return callback(err); - } - if (!campaign) { - return callback(new Error(_('Campaign not found'))); - } - - lists.getByCid(listCid, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(new Error(_('List not found'))); - } - - subscriptions.get(list.id, subscriptionCid, (err, subscription) => { - if (err) { - return callback(err); - } - if (!subscription) { - return callback(new Error(_('Subscription not found'))); - } - - return callback(null, { - campaign, - list, - subscription - }); - }); - }); - }); -} diff --git a/lib/models/lists.js b/lib/models/lists.js deleted file mode 100644 index 6c0a498a..00000000 --- a/lib/models/lists.js +++ /dev/null @@ -1,341 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let shortid = require('shortid'); -let segments = require('./segments'); -let subscriptions = require('./subscriptions'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -const UnsubscriptionMode = { - ONE_STEP: 0, - ONE_STEP_WITH_FORM: 1, - TWO_STEP: 2, - TWO_STEP_WITH_FORM: 3, - MANUAL: 4, - MAX: 5 -}; - -module.exports.UnsubscriptionMode = UnsubscriptionMode; - -let allowedKeys = ['description', 'default_form', 'public_subscribe', 'unsubscription_mode', 'listunsubscribe_disabled']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('lists', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - tableHelpers.filter('lists', ['*'], request, ['#', 'name', 'cid', 'subscribers', 'description'], ['name'], 'name ASC', null, callback); -}; - -module.exports.filterQuicklist = (request, callback) => { - tableHelpers.filter('lists', ['id', 'name', 'subscribers'], request, ['#', 'name', 'subscribers'], ['name'], 'name ASC', null, callback); -}; - -module.exports.quicklist = callback => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, name, subscribers FROM lists ORDER BY name LIMIT 1000', (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let lists = (rows || []).map(tools.convertKeys); - - connection.query('SELECT id, list, name FROM segments ORDER BY list, name LIMIT 1000', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let segments = (rows || []).map(tools.convertKeys); - - lists.forEach(list => { - list.segments = segments.filter(segment => segment.list === list.id); - }); - - return callback(null, lists); - }); - }); - }); -}; - -module.exports.getListsWithEmail = (email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, name FROM lists', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let lists = (rows || []).map(tools.convertKeys); - const results = []; - lists.forEach((list, index, arr) => { - subscriptions.getByEmail(list.id, email, (err, sub) => { - if (err) { - return callback(err); - } - if (sub) { - results.push(list.id); - } - if (index === arr.length - 1) { - return callback(null, lists.filter(list => results.includes(list.id))); - } - }); - }); - }); - }); -}; - -module.exports.getByCid = (cid, callback) => { - resolveCid(cid, (err, id) => { - if (err) { - return callback(err); - } - if (!id) { - return callback(null, false); - } - module.exports.get(id, callback); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM lists WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let list = tools.convertKeys(rows[0]); - segments.list(list.id, (err, segmentList) => { - if (err || !segmentList) { - segmentList = []; - } - list.segments = segmentList; - return callback(null, list); - }); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - const data = tools.convertKeys(updates); - - const keys = []; - const values = []; - - // The update can be only partial when executed from forms/:list - if (!data.customFormChangeOnly) { - data.publicSubscribe = data.publicSubscribe ? 1 : 0; - data.listunsubscribeDisabled = data.listunsubscribeDisabled ? 1 : 0; - data.unsubscriptionMode = Number(data.unsubscriptionMode); - - let name = (data.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('List Name must be set'))); - } - - keys.push('name'); - values.push(name); - } - - Object.keys(data).forEach(key => { - let value = data[key].toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE lists SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.create = (list, callback) => { - - let data = tools.convertKeys(list); - data.publicSubscribe = data.publicSubscribe ? 1 : 0; - - let name = (data.name || '').toString().trim(); - - if (!data) { - return callback(new Error(_('List Name must be set'))); - } - - let keys = ['name']; - let values = [name]; - - Object.keys(data).forEach(key => { - let value = data[key].toString().trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - let cid = shortid.generate(); - keys.push('cid'); - values.push(cid); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO lists (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let listId = result && result.insertId || false; - if (!listId) { - return callback(null, false); - } - - createSubscriptionTable(listId, err => { - if (err) { - // FIXME: rollback - return callback(err); - } - return callback(null, listId); - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM lists WHERE id=? LIMIT 1', id, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - - removeSubscriptionTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, affected); - }); - }); - }); -}; - -function resolveCid(cid, callback) { - cid = (cid || '').toString().trim(); - if (!cid) { - return callback(new Error(_('Missing List CID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id FROM lists WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows[0] && rows[0].id || false); - }); - }); -} - -function createSubscriptionTable(id, callback) { - let query = 'CREATE TABLE `subscription__' + id + '` LIKE subscription'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} - -function removeSubscriptionTable(id, callback) { - let query = 'DROP TABLE IF EXISTS `subscription__' + id + '`'; - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} diff --git a/lib/models/report-templates.js b/lib/models/report-templates.js deleted file mode 100644 index 6dcb2c70..00000000 --- a/lib/models/report-templates.js +++ /dev/null @@ -1,161 +0,0 @@ -'use strict'; - -const db = require('../db'); -const tableHelpers = require('../table-helpers'); -const tools = require('../tools'); -const _ = require('../translate')._; - -const allowedKeys = ['name', 'description', 'mime_type', 'user_fields', 'js', 'hbs']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('report_templates', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.quicklist = callback => { - tableHelpers.quicklist('report_templates', ['id', 'name'], 'name', callback); -}; - -module.exports.filter = (request, callback) => { - tableHelpers.filter('report_templates', ['*'], request, ['#', 'name', 'description', 'created'], ['name'], 'created DESC', null, callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM report_templates WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - const template = tools.convertKeys(rows[0]); - - const userFields = template.userFields.trim(); - if (userFields !== '') { - try { - template.userFieldsObject = JSON.parse(userFields); - } catch (err) { - // This is to handle situation when for some reason we get corrupted JSON in the DB. - template.userFieldsObject = {}; - template.userFields = '{}'; - } - } else { - template.userFieldsObject = {}; - } - - return callback(null, template); - }); - }); -}; - -module.exports.createOrUpdate = (createMode, data, callback) => { - data = data || {}; - - const id = 'id' in data ? Number(data.id) : 0; - - if (!createMode && id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - const template = tools.convertKeys(data); - const name = (template.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('Report template name must be set'))); - } - - const keys = ['name']; - const values = [name]; - - Object.keys(template).forEach(key => { - let value = typeof template[key] === 'number' ? template[key] : (template[key] || '').toString().trim(); - key = tools.toDbKey(key); - - if (key === 'description') { - value = tools.purifyHTML(value); - } - - if (key === 'user_fields') { - value = value.trim(); - - if (value !== '') { - try { - JSON.parse(value); - } catch (err) { - return callback(err); - } - } - } - - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (createMode) { - query = 'INSERT INTO report_templates (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - } else { - query = 'UPDATE report_templates SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - values.push(id); - } - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (createMode) { - return callback(null, result && result.insertId || false); - } else { - return callback(null, result && result.affectedRows || false); - } - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM report_templates WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - const affected = result && result.affectedRows || 0; - return callback(err, affected); - }); - }); -}; - diff --git a/lib/models/reports.js b/lib/models/reports.js deleted file mode 100644 index edfe665f..00000000 --- a/lib/models/reports.js +++ /dev/null @@ -1,262 +0,0 @@ -'use strict'; - -const db = require('../db'); -const tableHelpers = require('../table-helpers'); -const fields = require('./fields'); -const reportTemplates = require('./report-templates'); -const tools = require('../tools'); -const _ = require('../translate')._; - -const allowedKeys = ['name', 'description', 'report_template', 'params']; - -const ReportState = { - SCHEDULED: 0, - PROCESSING: 1, - FINISHED: 2, - FAILED: 3, - MAX: 4 -}; - -module.exports.ReportState = ReportState; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('reports', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.listWithState = (state, start, limit, callback) => { - tableHelpers.list('reports', ['*'], 'name', { where: 'state=?', values: [state] }, start, limit, callback); -}; - -module.exports.filter = (request, callback) => { - tableHelpers.filter('reports JOIN report_templates ON reports.report_template = report_templates.id', - ['reports.id AS id', 'reports.name AS name', 'reports.description AS description', 'reports.state AS state', 'reports.report_template AS report_template', 'reports.params AS params', 'reports.last_run AS last_run', 'report_templates.name AS report_template_name', 'report_templates.mime_type AS mime_type' ], - request, ['#', 'name', 'report_templates.name', 'description', 'last_run'], ['name'], 'name ASC', null, callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM reports WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - const template = tools.convertKeys(rows[0]); - - const params = template.params.trim(); - if (params !== '') { - try { - template.paramsObject = JSON.parse(params); - } catch (err) { - return callback(err); - } - } else { - template.params = {}; - } - - return callback(null, template); - }); - }); -}; - -// This method is not supposed to be used for unsanitized inputs. It does not do any checks. -module.exports.updateFields = (id, fieldValueMap, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - const clauses = []; - const values = []; - for (let key of Object.keys(fieldValueMap)) { - clauses.push(tools.toDbKey(key) + '=?'); - values.push(fieldValueMap[key]); - } - - values.push(id); - - const query = 'UPDATE reports SET ' + clauses.join(', ') + ' WHERE id=? LIMIT 1'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.createOrUpdate = (createMode, report, callback) => { - report = report || {}; - - const id = 'id' in report ? Number(report.id) : 0; - - if (!createMode && id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - const name = (report.name || '').toString().trim(); - - if (!name) { - return callback(new Error(_('Report name must be set'))); - } - - const reportTemplateId = Number(report.reportTemplate); - reportTemplates.get(reportTemplateId, (err, reportTemplate) => { - if (err) { - return callback(err); - } - - const params = report.paramsObject; - for (const spec of reportTemplate.userFieldsObject) { - if (params[spec.id].length < spec.minOccurences) { - return callback(new Error(_('At least ' + spec.minOccurences + ' rows in "' + spec.name + '" have to be selected.'))); - } - - if (params[spec.id].length > spec.maxOccurences) { - return callback(new Error(_('At most ' + spec.minOccurences + ' rows in "' + spec.name + '" can be selected.'))); - } - } - - const keys = ['name', 'params']; - const values = [name, JSON.stringify(params)]; - - - Object.keys(report).forEach(key => { - let value = typeof report[key] === 'number' ? report[key] : (report[key] || '').toString().trim(); - key = tools.toDbKey(key); - - if (key === 'description') { - value = tools.purifyHTML(value); - } - - if (allowedKeys.indexOf(key) >= 0 && keys.indexOf(key) < 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (createMode) { - query = 'INSERT INTO reports (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - } else { - query = 'UPDATE reports SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1'; - values.push(id); - } - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - if (createMode) { - return callback(null, result && result.insertId || false); - } else { - return callback(null, result && result.affectedRows || false); - } - }); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing report ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM reports WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - const affected = result && result.affectedRows || 0; - return callback(err, affected); - }); - }); -}; - -const campaignFieldsMapping = { - tracker_count: 'tracker.count', - country: 'tracker.country', - device_type: 'tracker.device_type', - status: 'campaign.status', - first_name: 'subscribers.first_name', - last_name: 'subscribers.last_name', - email: 'subscribers.email' -}; - -module.exports.getCampaignResults = (campaign, select, clause, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - fields.list(campaign.list, (err, fieldList) => { - if (err) { - return callback(err); - } - - const fieldsMapping = fieldList.reduce((map, field) => { - map[customFieldName(field.key)] = 'subscribers.' + field.column; - return map; - }, Object.assign({}, campaignFieldsMapping)); - - let selFields = []; - for (let idx = 0; idx < select.length; idx++) { - const item = select[idx]; - if (item in fieldsMapping) { - selFields.push(fieldsMapping[item] + ' AS ' + item); - } else if (item === '*') { - selFields = selFields.concat(Object.keys(fieldsMapping).map(item => fieldsMapping[item] + ' AS ' + item)); - } else { - selFields.push(item); - } - } - - const query = 'SELECT ' + selFields.join(', ') + ' FROM `subscription__' + campaign.list + '` subscribers INNER JOIN `campaign__' + campaign.id + '` campaign on subscribers.id=campaign.subscription LEFT JOIN `campaign_tracker__' + campaign.id + '` tracker on subscribers.id=tracker.subscriber ' + clause; - - connection.query(query, (err, results) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, results); - }); - }); - }); -}; - -function customFieldName(id) { - return id.replace(/MERGE_/, 'CUSTOM_').toLowerCase(); -} diff --git a/lib/models/segments.js b/lib/models/segments.js deleted file mode 100644 index a2e891f9..00000000 --- a/lib/models/segments.js +++ /dev/null @@ -1,692 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); -let fields = require('./fields'); -let util = require('util'); -let _ = require('../translate')._; - -module.exports.defaultColumns = [{ - column: 'email', - name: _('Email address'), - type: 'string' -}, { - column: 'opt_in_country', - name: _('Signup country'), - type: 'string' -}, { - column: 'created', - name: _('Sign up date'), - type: 'date' -}, { - column: 'latest_open', - name: _('Latest open'), - type: 'date' -}, { - column: 'latest_click', - name: _('Latest click'), - type: 'date' -}, { - column: 'first_name', - name: _('First name'), - type: 'string' -}, { - column: 'last_name', - name: _('Last name'), - type: 'string' -}]; - -module.exports.list = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segments WHERE list=? ORDER BY name'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let segments = (rows || []).map(tools.convertKeys); - return callback(null, segments); - }); - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segments WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Segment not found'))); - } - - let segment = tools.convertKeys(rows[0]); - - let query = 'SELECT * FROM segment_rules WHERE segment=? ORDER BY id ASC'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - fields.list(segment.list, (err, fieldList) => { - if (err || !fieldList) { - fieldList = []; - } - - segment.columns = [].concat(module.exports.defaultColumns); - fieldList.forEach(field => { - if (fields.genericTypes[field.type] === 'textarea') { - return; - } - if (field.column) { - segment.columns.push({ - column: field.column, - name: field.name, - type: fields.genericTypes[field.type] || 'string' - }); - } - if (field.options) { - field.options.forEach(subField => { - if (subField.column) { - segment.columns.push({ - column: subField.column, - name: field.name + ': ' + subField.name, - type: fields.genericTypes[subField.type] || 'string' - }); - } - }); - } - }); - - segment.rules = (rows || []).map(rule => { - rule = tools.convertKeys(rule); - if (rule.value) { - try { - rule.value = JSON.parse(rule.value); - } catch (E) { - // ignore - } - } - if (!rule.value) { - rule.value = {}; - } - rule.columnType = segment.columns.filter(column => rule.column === column.column).pop() || {}; - rule.name = rule.columnType.name || ''; - switch (rule.columnType.type) { - case 'number': - case 'date': - case 'birthday': - if (rule.value.relativeRange) { - let startString = rule.value.startDirection ? util.format(_('%s days after today'), rule.value.start) : util.format(_('%s days before today'), rule.value.start); - let endString = rule.value.endDirection ? util.format(_('%s days after today'), rule.value.end) : util.format(_('%s days before today'), rule.value.end); - rule.formatted = (rule.value.start ? startString : _('today')) + ' … ' + (rule.value.end ? endString : _('today')); - } else if (rule.value.range) { - rule.formatted = (rule.value.start || '') + ' … ' + (rule.value.end || ''); - } else { - rule.formatted = rule.value.value || ''; - } - break; - case 'boolean': - rule.formatted = rule.value.value ? _('Selected') : _('Not selected'); - break; - default: - rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || ''); - } - - return rule; - }); - - return callback(null, segment); - }); - }); - }); - }); -}; - -module.exports.create = (listId, segment, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - segment = tools.convertKeys(segment); - - segment.name = (segment.name || '').toString().trim(); - segment.type = Number(segment.type) || 0; - - if (!segment.name) { - return callback(new Error(_('Field Name must be set'))); - } - - if (segment.type <= 0) { - return callback(new Error(_('Invalid segment rule type'))); - } - - let keys = ['list', 'name', 'type']; - let values = [listId, segment.name, segment.type]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO segments (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - let segment = tools.convertKeys(updates); - - segment.name = (segment.name || '').toString().trim(); - segment.type = Number(segment.type) || 0; - - if (!segment.name) { - return callback(new Error(_('Field Name must be set'))); - } - - if (segment.type <= 0) { - return callback(new Error(_('Invalid segment rule type'))); - } - - let keys = ['name', 'type']; - let values = [segment.name, segment.type]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE segments SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM segments WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -}; - -module.exports.createRule = (segmentId, rule, callback) => { - segmentId = Number(segmentId) || 0; - - if (segmentId < 1) { - return callback(new Error(_('Missing Segment ID'))); - } - - rule = tools.convertKeys(rule); - - module.exports.get(segmentId, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Selected segment not found'))); - } - - let column = segment.columns.filter(column => column.column === rule.column).pop(); - if (!column) { - return callback(new Error(_('Invalid rule type'))); - } - - let value; - - switch (column.type) { - case 'date': - case 'birthday': - case 'number': - if (column.type === 'date' && rule.range === 'relative') { - value = { - relativeRange: true, - start: Number(rule.startRelative) || 0, - startDirection: Number(rule.startDirection) ? 1 : 0, - end: Number(rule.endRelative) || 0, - endDirection: Number(rule.endDirection) ? 1 : 0 - }; - } else if (rule.range === 'yes') { - value = { - range: true, - start: rule.start, - end: rule.end - }; - } else { - value = { - value: rule.value - }; - } - break; - case 'boolean': - value = { - value: rule.value ? 1 : 0 - }; - break; - default: - value = { - negate: Number(rule.negate) ? 1 : 0, - value: rule.value - }; - } - - let keys = ['segment', 'column', 'value']; - let values = [segment.id, rule.column, JSON.stringify(value)]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO segment_rules (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); - }); -}; - -module.exports.getRule = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM segment_rules WHERE id=? LIMIT 1'; - connection.query(query, [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(new Error(_('Specified rule not found'))); - } - - let rule = tools.convertKeys(rows[0]); - - module.exports.get(rule.segment, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Specified segment not found'))); - } - - if (rule.value) { - try { - rule.value = JSON.parse(rule.value); - } catch (E) { - // ignore - } - } - if (!rule.value) { - rule.value = {}; - } - - rule.columnType = segment.columns.filter(column => rule.column === column.column).pop() || {}; - - rule.name = rule.columnType.name || ''; - switch (rule.columnType.type) { - case 'number': - case 'date': - case 'birthday': - if (rule.value.relativeRange) { - - let startString = rule.value.startDirection ? util.format(_('%s days after today'), rule.value.start) : util.format(_('%s days before today'), rule.value.start); - let endString = rule.value.endDirection ? util.format(_('%s days after today'), rule.value.end) : util.format(_('%s days before today'), rule.value.end); - rule.formatted = (rule.value.start ? startString : _('today')) + ' … ' + (rule.value.end ? endString : _('today')); - } else if (rule.value.range) { - rule.formatted = (rule.value.start || '') + ' … ' + (rule.value.end || ''); - } else { - rule.formatted = rule.value.value || ''; - } - break; - case 'boolean': - rule.formatted = rule.value.value ? _('Selected') : _('Not selected'); - break; - default: - rule.formatted = (rule.value.negate ? '!= ' : '') + (rule.value.value || ''); - } - - return callback(null, rule); - }); - }); - }); -}; - -module.exports.updateRule = (id, rule, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - rule = tools.convertKeys(rule); - - module.exports.getRule(id, (err, existingRule) => { - if (err) { - return callback(err); - } - - if (!existingRule) { - return callback(new Error(_('Selected rule not found'))); - } - - module.exports.get(existingRule.segment, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Selected segment not found'))); - } - - let column = segment.columns.filter(column => column.column === existingRule.column).pop(); - if (!column) { - return callback(new Error(_('Invalid rule type'))); - } - - let value; - switch (column.type) { - case 'date': - case 'birthday': - case 'number': - if (column.type === 'date' && rule.range === 'relative') { - value = { - relativeRange: true, - start: Number(rule.startRelative) || 0, - startDirection: Number(rule.startDirection) ? 1 : 0, - end: Number(rule.endRelative) || 0, - endDirection: Number(rule.endDirection) ? 1 : 0 - }; - } else if (rule.range === 'yes') { - value = { - range: true, - start: rule.start, - end: rule.end - }; - } else { - value = { - value: rule.value - }; - } - break; - case 'boolean': - value = { - value: rule.value ? 1 : 0 - }; - break; - default: - value = { - negate: Number(rule.negate) ? 1 : 0, - value: rule.value - }; - } - - let keys = ['value']; - let values = [JSON.stringify(value)]; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE segment_rules SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); - }); - }); -}; - -module.exports.deleteRule = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Rule ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM segment_rules WHERE id=? LIMIT 1', [id], err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -}; - -module.exports.getQuery = (id, prefix, callback) => { - module.exports.get(id, (err, segment) => { - if (err) { - return callback(err); - } - - if (!segment) { - return callback(new Error(_('Segment not found'))); - } - - prefix = prefix ? prefix + '.' : ''; - - let query = []; - let values = []; - - let getRelativeDate = (days, direction) => { - let date = new Date(Date.now() + (direction ? 1 : -1) * days * 24 * 3600 * 1000); - return date.toISOString().substr(0, 10); - }; - - let getDate = (value, nextDay) => { - let parts = value.trim().split(/\D/); - let year = Number(parts.shift()) || 0; - let month = Number(parts.shift()) || 0; - let day = Number(parts.shift()) || 0; - if (!year || !month || !day) { - return false; - } - return new Date(Date.UTC(year, month - 1, day + (nextDay ? 1 : 0))); - }; - - segment.rules.forEach(rule => { - switch (rule.columnType.type) { - case 'string': { - let condition = rule.value.negate ? 'NOT LIKE' : 'LIKE'; - query.push(prefix + '`' + rule.columnType.column + '` ' + condition + ' ?'); - values.push(rule.value.value); - break; - } - case 'boolean': - query.push(prefix + '`' + rule.columnType.column + '` = ?'); - values.push(rule.value.value); - break; - case 'number': - if (rule.value.range) { - let ruleval = ''; - if (rule.value.start) { - ruleval = prefix + '`' + rule.columnType.column + '` >= ?'; - values.push(rule.value.start); - } - if (rule.value.end) { - ruleval = (ruleval ? '(' + ruleval + ' AND ' : '') + prefix + '`' + rule.columnType.column + '` < ?' + (ruleval ? ')' : ''); - values.push(rule.value.end); - } - if (ruleval) { - query.push(ruleval); - } - } else { - query.push(prefix + '`' + rule.columnType.column + '` = ?'); - values.push(rule.value.value); - } - break; - case 'birthday': - if (rule.value.range) { - let start = rule.value.start || '01-01'; - let end = rule.value.end || '12-31'; - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate('2000-' + start)); - values.push(getDate('2000-' + end, true)); - } else { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate('2000-' + rule.value.value)); - values.push(getDate('2000-' + rule.value.value, true)); - } - break; - case 'date': - if (rule.value.relativeRange) { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - // start - values.push(getDate(getRelativeDate(rule.value.start, rule.value.startDirection))); - // end - values.push(getDate(getRelativeDate(rule.value.end, rule.value.endDirection), true)); - } else if (rule.value.range) { - let ruleval = ''; - if (rule.value.start) { - ruleval = prefix + '`' + rule.columnType.column + '` >= ?'; - values.push(getDate(rule.value.start)); - } - if (rule.value.end) { - ruleval = (ruleval ? '(' + ruleval + ' AND ' : '') + prefix + '`' + rule.columnType.column + '` < ?' + (ruleval ? ')' : ''); - values.push(getDate(rule.value.end, true)); - } - if (ruleval) { - query.push(ruleval); - } - } else { - query.push('(' + prefix + '`' + rule.columnType.column + '` >= ? AND ' + prefix + '`' + rule.columnType.column + '` < ?)'); - values.push(getDate(rule.value.value)); - values.push(getDate(rule.value.value, true)); - } - - break; - } - }); - - return callback(null, { - where: query.join(segment.type === 1 ? ' AND ' : ' OR ') || '1', - values - }); - }); -}; - -module.exports.subscribers = (id, onlySubscribed, callback) => { - module.exports.get(id, (err, segment) => { - if (err) { - return callback(err); - } - if (!segment) { - return callback(new Error(_('Segment not found'))); - } - module.exports.getQuery(id, false, (err, queryData) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - if (!onlySubscribed) { - query = 'SELECT COUNT(id) AS `count` FROM `subscription__' + segment.list + '` WHERE ' + queryData.where + ' LIMIT 1'; - } else { - query = 'SELECT COUNT(id) AS `count` FROM `subscription__' + segment.list + '` WHERE `status`=1 ' + (queryData.where ? ' AND (' + queryData.where + ')' : '') + ' LIMIT 1'; - } - - connection.query(query, queryData.values, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let count = rows && rows[0] && rows[0].count || 0; - return callback(null, count); - }); - }); - }); - }); -}; diff --git a/lib/models/settings.js b/lib/models/settings.js deleted file mode 100644 index 9655ebd7..00000000 --- a/lib/models/settings.js +++ /dev/null @@ -1,77 +0,0 @@ -'use strict'; - -let tools = require('../tools'); -let db = require('../db'); - -module.exports = { - list: listValues, - get: getValue, - set: setValue -}; - -function listValues(filter, callback) { - if (!callback && typeof filter === 'function') { - callback = filter; - filter = false; - } - - // TODO: It would be good to cache the settings. It feels awkward to always go to DB to retrieve something what is essentially a constant - - filter = [].concat(filter || []).map(key => tools.toDbKey(key)); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query; - - if (filter.length) { - query = 'SELECT * FROM settings WHERE `key` IN (' + filter.map(() => '?').join(',') + ')'; - } else { - query = 'SELECT * FROM settings'; - } - - connection.query(query, filter, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - let settings = {}; - (rows || []).forEach(row => { - settings[row.key] = row.value; - }); - return callback(null, tools.convertKeys(settings)); - }); - }); -} - -function getValue(key, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `value` FROM settings WHERE `key`=?', [tools.toDbKey(key)], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows[0] && rows[0].value || false); - }); - }); -} - -function setValue(key, value, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('INSERT INTO settings (`key`, `value`) VALUES (?,?) ON DUPLICATE KEY UPDATE `key`=?, `value`=?', [key, value, key, value], (err, response) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, response && response.insertId || 0); - }); - }); -} diff --git a/lib/models/subscriptions.js b/lib/models/subscriptions.js deleted file mode 100644 index 3a9a7f58..00000000 --- a/lib/models/subscriptions.js +++ /dev/null @@ -1,933 +0,0 @@ -'use strict'; - -let db = require('../db'); -let shortid = require('shortid'); -let striptags = require('striptags'); -let tools = require('../tools'); -let helpers = require('../helpers'); -let fields = require('./fields'); -let segments = require('./segments'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -const Status = { - SUBSCRIBED: 1, - UNSUBSCRIBED: 2, - BOUNCED: 3, - COMPLAINED: 4, - MAX: 5 -}; - -module.exports.Status = Status; - -module.exports.list = (listId, start, limit, callback) => { - listId = Number(listId) || 0; - if (!listId) { - return callback(new Error('Missing List ID')); - } - - tableHelpers.list('subscription__' + listId, ['*'], 'email', null, start, limit, (err, rows, total) => { - if (!err) { - rows = rows.map(row => tools.convertKeys(row)); - } - return callback(err, rows, total); - }); -}; - -module.exports.listTestUsers = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error('Missing List ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, cid, email, first_name, last_name FROM `subscription__' + listId + '` WHERE is_test=1 LIMIT 100', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let subscribers = rows.map(subscriber => { - subscriber = tools.convertKeys(subscriber); - let fullName = [].concat(subscriber.firstName || []).concat(subscriber.lastName || []).join(' '); - if (fullName) { - subscriber.displayName = fullName + ' <' + subscriber.email + '>'; - } else { - subscriber.displayName = subscriber.email; - } - return subscriber; - }); - return callback(null, subscribers); - }); - }); -}; - -module.exports.filter = (listId, request, columns, segmentId, callback) => { - listId = Number(listId) || 0; - segmentId = Number(segmentId) || 0; - - if (!listId) { - return callback(new Error(_('Missing List ID'))); - } - - if (segmentId) { - segments.getQuery(segmentId, false, (err, queryData) => { - if (err) { - return callback(err); - } - - tableHelpers.filter('subscription__' + listId, ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); - }); - } else { - tableHelpers.filter('subscription__' + listId, ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', null, callback); - } - -}; - - -/* - Adds a new subscription. Returns error if a subscription with the same email address is already present and is not unsubscribed. - If it is unsubscribed, the existing subscription is changed based on the provided data. - If meta.partial is true, it updates even an active subscription. - */ -module.exports.insert = (listId, meta, subscriptionData, callback) => { - meta = tools.convertKeys(meta); - subscriptionData = tools.convertKeys(subscriptionData); - - meta.email = meta.email || subscriptionData.email; - meta.cid = meta.cid || shortid.generate(); - - fields.list(listId, (err, fieldList) => { - if (err) { - return callback(err); - } - - let insertKeys = ['email', 'cid', 'opt_in_ip', 'opt_in_country', 'imported']; - let insertValues = [meta.email, meta.cid, meta.optInIp || null, meta.optInCountry || null, meta.imported || null]; - let keys = []; - let values = []; - - let allowedKeys = ['first_name', 'last_name', 'tz', 'is_test']; - Object.keys(subscriptionData).forEach(key => { - let value = subscriptionData[key]; - key = tools.toDbKey(key); - if (key === 'tz') { - value = (value || '').toString().toLowerCase().trim(); - } - if (key === 'is_test') { - value = value ? '1' : '0'; - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - fields.getValues(fields.getRow(fieldList, subscriptionData, true, true, !!meta.partial), true).forEach(field => { - keys.push(field.key); - values.push(field.value); - }); - - values = values.map(v => typeof v === 'string' ? striptags(v) : v); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT `id`, `status`, `cid` FROM `subscription__' + listId + '` WHERE `email`=? OR `cid`=? LIMIT 1'; - connection.query(query, [meta.email, meta.cid], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query; - let queryArgs; - let existing = rows && rows[0] || false; - let entryId = existing ? existing.id : false; - - meta.cid = existing ? rows[0].cid : meta.cid; - - // meta.status may be 'undefined' or '0' when adding a subscription via API call or CSV import. In both cases meta.partial is 'true'. - // This must either update an existing subscription without changing its status or insert a new subscription with status SUBSCRIBED. - meta.status = meta.status || (existing ? existing.status : Status.SUBSCRIBED); - - let statusChange = !existing || existing.status !== meta.status; - let statusDirection; - - if (existing && existing.status === Status.SUBSCRIBED && !meta.partial) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Email address already registered')))); - } - - if (statusChange) { - keys.push('status', 'status_change'); - values.push(meta.status, new Date()); - statusDirection = !existing ? (meta.status === Status.SUBSCRIBED ? '+' : false) : (existing.status === Status.SUBSCRIBED ? '-' : '+'); - } - - if (!keys.length) { - // nothing to update - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - } - - if (!existing) { - // insert as new - keys = insertKeys.concat(keys); - queryArgs = values = insertValues.concat(values); - query = 'INSERT INTO `subscription__' + listId + '` (`' + keys.join('`, `') + '`) VALUES (' + keys.map(() => '?').join(',') + ')'; - } else { - // update existing - queryArgs = values.concat(existing.id); - query = 'UPDATE `subscription__' + listId + '` SET ' + keys.map(key => '`' + key + '`=?') + ' WHERE id=? LIMIT 1'; - } - - connection.query(query, queryArgs, (err, result) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - entryId = result.insertId || entryId; - - if (statusChange && statusDirection) { - connection.query('UPDATE lists SET `subscribers`=`subscribers`' + statusDirection + '1 WHERE id=?', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - }); - } else { - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, { - entryId, - cid: meta.cid, - inserted: !existing - }); - }); - } - }); - }); - }); - }); - }); -}; - -module.exports.get = (listId, cid, callback) => { - cid = (cid || '').toString().trim(); - - if (!cid) { - return callback(new Error(_('Missing Subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE cid=?', [cid], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getById = (listId, id, callback) => { - id = Number(id) || 0; - - if (!id) { - return callback(new Error(_('Missing Subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getByEmail = (listId, email, callback) => { - if (!email) { - return callback(new Error(_('Missing Subscription email address'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM `subscription__' + listId + '` WHERE email=?', [email], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let subscription = tools.convertKeys(rows[0]); - // ensure list id in response - subscription.list = subscription.list || listId; - return callback(null, subscription); - }); - }); -}; - -module.exports.getWithMergeTags = (listId, cid, callback) => { - module.exports.get(listId, cid, (err, subscription) => { - if (err) { - return callback(err); - } - - if (!subscription) { - return callback(null, false); - } - - fields.list(listId, (err, fieldList) => { - if (err || !fieldList) { - return fieldList = []; - } - - subscription.mergeTags = { - EMAIL: subscription.email, - FIRST_NAME: subscription.firstName, - LAST_NAME: subscription.lastName, - FULL_NAME: [].concat(subscription.firstName || []).concat(subscription.lastName || []).join(' '), - TIMEZONE: subscription.tz || '' - }; - - fields.getRow(fieldList, subscription, false, true).forEach(field => { - if (field.mergeTag) { - subscription.mergeTags[field.mergeTag] = field.mergeValue || ''; - } - if (field.options) { - field.options.forEach(subField => { - if (subField.mergeTag) { - subscription.mergeTags[subField.mergeTag] = subField.mergeValue || ''; - } - }); - } - }); - return callback(null, subscription); - }); - }); -}; - -module.exports.update = (listId, cid, updates, allowEmail, callback) => { - updates = tools.convertKeys(updates); - listId = Number(listId) || 0; - cid = (cid || '').toString().trim(); - - let keys = []; - let values = []; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing Subscription ID'))); - } - - fields.list(listId, (err, fieldList) => { - if (err) { - return callback(err); - } - - let allowedKeys = ['first_name', 'last_name', 'tz', 'is_test']; - - if (allowEmail) { - allowedKeys.unshift('email'); - } - - Object.keys(updates).forEach(key => { - let value = updates[key]; - key = tools.toDbKey(key); - if (key === 'tz') { - value = (value || '').toString().toLowerCase().trim(); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - fields.getValues(fields.getRow(fieldList, updates, true, true, true), true).forEach(field => { - keys.push(field.key); - values.push(field.value); - }); - - if (!values.length) { - return callback(null, false); - } - - values = values.map(v => typeof v === 'string' ? striptags(v) : v); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(cid); - connection.query('UPDATE `subscription__' + listId + '` SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE `cid`=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); - }); -}; - -module.exports.changeStatus = (listId, id, campaignId, status, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - connection.query('SELECT `status` FROM `subscription__' + listId + '` WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!rows || !rows.length) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, false)); - } - - let oldStatus = rows[0].status; - let statusChange = oldStatus !== status; - let statusDirection; - - if (!statusChange) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(null, true)); - } - - if (statusChange && oldStatus === Status.SUBSCRIBED || status === Status.SUBSCRIBED) { - statusDirection = status === Status.SUBSCRIBED ? '+' : '-'; - } - - connection.query('UPDATE `subscription__' + listId + '` SET `status`=?, `status_change`=NOW() WHERE id=? LIMIT 1', [status, id], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!statusDirection) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - connection.query('UPDATE `lists` SET `subscribers`=`subscribers`' + statusDirection + '1 WHERE id=? LIMIT 1', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - // status change is not related to a campaign or it marks message as bounced etc. - if (!campaignId || status !== Status.SUBSCRIBED && status !== Status.UNSUBSCRIBED) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - connection.query('SELECT `id` FROM `campaigns` WHERE `cid`=? LIMIT 1', [campaignId], (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let campaign = rows && rows[0] || false; - - if (!campaign) { - // should not happend - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - } - - // we should see only unsubscribe events here but you never know - connection.query('UPDATE `campaigns` SET `unsubscribed`=`unsubscribed`' + (status === Status.UNSUBSCRIBED ? '+' : '-') + '1 WHERE `cid`=? LIMIT 1', [campaignId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query = 'UPDATE `campaign__' + campaign.id + '` SET `status`=? WHERE `list`=? AND `subscription`=? LIMIT 1'; - let values = [status, listId, id]; - - // Updated tracker status - connection.query(query, values, err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, true); - }); - }); - }); - }); - }); - }); - }); - }); - }); -}; - -module.exports.delete = (listId, cid, callback) => { - listId = Number(listId) || 0; - cid = (cid || '').toString().trim(); - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing subscription ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT id, email, status FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1', [cid], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - let subscription = rows && rows[0]; - if (!subscription) { - connection.release(); - return callback(null, false); - } - - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - connection.query('DELETE FROM `subscription__' + listId + '` WHERE cid=? LIMIT 1', [cid], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (subscription.status !== Status.SUBSCRIBED) { - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, subscription.email); - }); - } - - connection.query('UPDATE lists SET subscribers=subscribers-1 WHERE id=? LIMIT 1', [listId], err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - return callback(null, subscription.email); - }); - }); - }); - }); - }); - }); -}; - -module.exports.createImport = (listId, type, path, size, delimiter, emailcheck, mapping, callback) => { - listId = Number(listId) || 0; - type = Number(type) || 0; - - if (listId < 1) { - return callback(new Error('Missing List ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'INSERT INTO importer (`list`, `type`, `path`, `size`, `delimiter`, `emailcheck`, `mapping`) VALUES(?,?,?,?,?,?,?)'; - connection.query(query, [listId, type, path, size, delimiter, emailcheck, JSON.stringify(mapping)], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.insertId || false); - }); - }); -}; - -module.exports.updateImport = (listId, importId, data, callback) => { - listId = Number(listId) || 0; - importId = Number(importId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - let keys = []; - let values = []; - - let allowedKeys = ['type', 'path', 'size', 'delimiter', 'status', 'error', 'processed', 'new', 'failed', 'mapping', 'finished']; - Object.keys(data).forEach(key => { - let value = data[key]; - key = tools.toDbKey(key); - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'UPDATE importer SET ' + keys.map(key => '`' + key + '`=?') + ' WHERE id=? AND list=? LIMIT 1'; - connection.query(query, values.concat([importId, listId]), (err, result) => { - if (err) { - connection.release(); - return callback(err); - } - - let affected = result && result.affectedRows || false; - - if (data.failed === 0) { - // remove entries from import_failed table - let query = 'DELETE FROM `import_failed` WHERE `import`=?'; - connection.query(query, [importId], () => { - connection.release(); - return callback(null, affected); - }); - } else { - connection.release(); - return callback(null, affected); - } - }); - }); -}; - -module.exports.getImport = (listId, importId, callback) => { - listId = Number(listId) || 0; - importId = Number(importId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM importer WHERE id=? AND list=? LIMIT 1'; - connection.query(query, [importId, listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let importer = tools.convertKeys(rows[0]); - try { - importer.mapping = JSON.parse(importer.mapping); - } catch (E) { - importer.mapping = { - columns: [] - }; - } - - return callback(null, importer); - }); - }); -}; - -module.exports.getFailedImports = (importId, callback) => { - importId = Number(importId) || 0; - - if (importId < 1) { - return callback(new Error(_('Missing Import ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM import_failed WHERE import=? LIMIT 1000'; - connection.query(query, [importId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, (rows || []).map(tools.convertKeys)); - }); - }); -}; - -module.exports.listImports = (listId, callback) => { - listId = Number(listId) || 0; - - if (listId < 1) { - return callback(new Error(_('Missing List ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'SELECT * FROM importer WHERE list=? AND status > 0 ORDER BY id DESC'; - connection.query(query, [listId], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, []); - } - - let imports = rows.map(row => { - let importer = tools.convertKeys(row); - try { - importer.mapping = JSON.parse(importer.mapping); - } catch (E) { - importer.mapping = { - columns: [] - }; - } - return importer; - }); - - return callback(null, imports); - }); - }); -}; - -/* -Performs checks before update of an address. This includes finding the existing subscriber, validating the new email -and checking whether the new email does not conflict with other subscribers. - */ -module.exports.updateAddressCheck = (list, cid, emailNew, ip, callback) => { - cid = (cid || '').toString().trim(); - - if (!list || !list.id) { - return callback(new Error(_('Missing List ID'))); - } - - if (!cid) { - return callback(new Error(_('Missing subscription ID'))); - } - - tools.validateEmail(emailNew, false, err => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT * FROM `subscription__' + list.id + '` WHERE `cid`=? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [cid]; - connection.query(query, args, (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - if (!rows || !rows.length) { - connection.release(); - return callback(new Error(_('Unknown subscription ID'))); - } - - if (rows[0].email === emailNew) { - connection.release(); - return callback(new Error(_('Nothing seems to be changed'))); - } - - let old = rows[0]; - - let query = 'SELECT `id` FROM `subscription__' + list.id + '` WHERE `email`=? AND `cid`<>? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, cid]; - connection.query(query, args, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (rows && rows.length > 0) { - return callback(null, old, false); - } else { - return callback(null, old, true); - } - }); - }); - }); - }); -}; - - -/* - Updates address in subscription__xxx - */ -module.exports.updateAddress = (listId, subscriptionId, emailNew, callback) => { - // update email address instead of adding new - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.beginTransaction(err => { - if (err) { - connection.release(); - return callback(err); - } - - let query = 'SELECT `id` FROM `subscription__' + listId + '` WHERE `email`=? AND `id`<>? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, (err, rows) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (rows && rows.length > 0) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Email address already registered')))); - } - - let query = 'DELETE FROM `subscription__' + listId + '` WHERE `email`=? AND `id`<>?'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - let query = 'UPDATE `subscription__' + listId + '` SET `email`=? WHERE `id`=? AND `status`=' + Status.SUBSCRIBED + ' LIMIT 1'; - let args = [emailNew, subscriptionId]; - connection.query(query, args, (err, result) => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - - if (!result || !result.affectedRows) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(new Error(_('Subscription not found in this list')))); - } - - return connection.commit(err => { - if (err) { - return helpers.rollbackAndReleaseConnection(connection, () => callback(err)); - } - connection.release(); - - return callback(); - }); - }); - }); - }); - }); - }); - -}; - -module.exports.getUnsubscriptionMode = (list, subscriptionId) => list.unsubscriptionMode; // eslint-disable-line no-unused-vars -// TODO: Once the unsubscription mode is customizable per segment, then this will be a good place to process it. diff --git a/lib/models/templates.js b/lib/models/templates.js deleted file mode 100644 index b0f0099e..00000000 --- a/lib/models/templates.js +++ /dev/null @@ -1,176 +0,0 @@ -'use strict'; - -let db = require('../db'); -let tools = require('../tools'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -let allowedKeys = ['description', 'editor_name', 'editor_data', 'html', 'text']; - -module.exports.list = (start, limit, callback) => { - tableHelpers.list('templates', ['*'], 'name', null, start, limit, callback); -}; - -module.exports.filter = (request, parent, callback) => { - tableHelpers.filter('templates', ['*'], request, ['#', 'name', 'description'], ['name'], 'name ASC', null, callback); -}; - -module.exports.quicklist = callback => { - tableHelpers.quicklist('templates', ['id', 'name'], 'name', callback); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM templates WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let template = tools.convertKeys(rows[0]); - return callback(null, template); - }); - }); -}; - -module.exports.create = (template, callback) => { - - let data = tools.convertKeys(template); - - if (!(data.name || '').toString().trim()) { - return callback(new Error(_('Template Name must be set'))); - } - - let name = (template.name || '').toString().trim(); - - let keys = ['name']; - let values = [name]; - - Object.keys(template).forEach(key => { - let value = template[key]; - key = tools.toDbKey(key); - if (!allowedKeys.includes(key)) { - return; - } - value = value.trim(); - if (key === 'description') { - value = tools.purifyHTML(value); - } - keys.push(key); - values.push(value); - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'INSERT INTO templates (' + keys.join(', ') + ') VALUES (' + values.map(() => '?').join(',') + ')'; - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let templateId = result && result.insertId || false; - return callback(null, templateId); - }); - }); -}; - -module.exports.update = (id, updates, callback) => { - updates = updates || {}; - id = Number(id) || 0; - - let data = tools.convertKeys(updates); - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - if (!(data.name || '').toString().trim()) { - return callback(new Error(_('Template Name must be set'))); - } - - let name = (updates.name || '').toString().trim(); - let keys = ['name']; - let values = [name]; - - Object.keys(updates).forEach(key => { - let value = updates[key].trim(); - key = tools.toDbKey(key); - if (key === 'description') { - value = tools.purifyHTML(value); - } - if (allowedKeys.indexOf(key) >= 0) { - keys.push(key); - values.push(value); - } - }); - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - values.push(id); - - connection.query('UPDATE templates SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result && result.affectedRows || false); - }); - }); -}; - -module.exports.duplicate = (id, callback) => module.exports.get(id, (err, template) => { - if (err) { - return callback(err); - } - if (!template) { - return callback(new Error(_('Template does not exist'))); - } - template.name = template.name + ' Copy'; - return module.exports.create(template, callback); -}); - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Template ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM templates WHERE id=? LIMIT 1', id, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - - return callback(null, affected); - }); - }); -}; diff --git a/lib/models/triggers.js b/lib/models/triggers.js deleted file mode 100644 index b87125c4..00000000 --- a/lib/models/triggers.js +++ /dev/null @@ -1,427 +0,0 @@ -'use strict'; - -let log = require('npmlog'); -let tools = require('../tools'); -let db = require('../db'); -let lists = require('./lists'); -let segments = require('./segments'); -let util = require('util'); -let _ = require('../translate')._; -let tableHelpers = require('../table-helpers'); - -module.exports.defaultColumns = [{ - column: 'created', - name: _('Sign up date'), - type: 'date' -}, { - column: 'latest_open', - name: _('Latest open'), - type: 'date' -}, { - column: 'latest_click', - name: _('Latest click'), - type: 'date' -}]; - -module.exports.defaultCampaignEvents = [{ - option: 'delivered', - name: _('Delivered') -}, { - option: 'opened', - name: _('Has Opened') -}, { - option: 'clicked', - name: _('Has Clicked') -}, { - option: 'not_opened', - name: _('Not Opened') -}, { - option: 'not_clicked', - name: _('Not Clicked') -}]; - -let defaultColumnMap = {}; -let defaultEventMap = {}; -module.exports.defaultColumns.forEach(col => defaultColumnMap[col.column] = col.name); -module.exports.defaultCampaignEvents.forEach(evt => defaultEventMap[evt.option] = evt.name); - -module.exports.list = callback => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let tableFields = [ - '`triggers`.`id` AS `id`', - '`triggers`.`name` AS `name`', - '`triggers`.`description` AS `description`', - '`triggers`.`enabled` AS `enabled`', - '`triggers`.`list` AS `list`', - '`triggers`.`segment` AS `segment`', - '`lists`.`name` AS `list_name`', - '`segments`.`name` AS `segment_name`', - '`source`.`id` AS `source_campaign`', - '`source`.`name` AS `source_campaign_name`', - '`dest`.`id` AS `dest_campaign`', - '`dest`.`name` AS `dest_campaign_name`', - '`triggers`.`count` AS `count`', - '`custom_fields`.`id` AS `column_id`', - '`triggers`.`column` AS `column`', - '`custom_fields`.`name` AS `column_name`', - '`triggers`.`rule` AS `rule`', - '`triggers`.`seconds` AS `seconds`', - '`triggers`.`created` AS `created`' - ]; - - let query = 'SELECT ' + tableFields.join(', ') + ' FROM `triggers` LEFT JOIN `campaigns` `source` ON `source`.`id`=`triggers`.`source_campaign` LEFT JOIN `campaigns` `dest` ON `dest`.`id`=`triggers`.`dest_campaign` LEFT JOIN `lists` ON `lists`.`id`=`triggers`.`list` LEFT JOIN `segments` ON `segments`.`id`=`triggers`.`segment` LEFT JOIN `custom_fields` ON `custom_fields`.`list` = `triggers`.`list` AND `custom_fields`.`column`=`triggers`.`column` ORDER BY `triggers`.`name`'; - connection.query(query, (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - let triggers = (rows || []).map(tools.convertKeys).map(row => { - if (row.rule === 'subscription' && row.column && !row.columnName) { - row.columnName = defaultColumnMap[row.column]; - } - - let days = Math.round(row.seconds / (24 * 3600)); - row.formatted = util.format('%s days after %s', days, row.rule === 'subscription' ? row.columnName : (util.format('%s %s', defaultEventMap[row.column], row.sourceCampaign, row.sourceCampaignName))); - - return row; - }); - return callback(null, triggers); - }); - }); -}; - -module.exports.getQuery = (id, callback) => { - module.exports.get(id, (err, trigger) => { - if (err) { - return callback(err); - } - - let limit = 300; - - // time..NOW..time + 24h, 24 hour window after trigger target to detect it - //We need a 24 hour window for triggers as the format for dates added via the API are stored as 00:00:00 - let treshold = 3600 * 24; - - let intervalQuery = (column, seconds, treshold) => column + ' <= NOW() - INTERVAL ' + seconds + ' SECOND AND ' + column + ' >= NOW() - INTERVAL ' + (treshold + seconds) + ' SECOND'; - - - let getSegmentQuery = (segmentId, next) => { - segmentId = Number(segmentId); - if (!segmentId) { - return next(null, { - where: '', - values: [] - }); - } - - segments.getQuery(segmentId, 'subscription', next); - }; - - getSegmentQuery(trigger.segment, (err, queryData) => { - if (err) { - log.err('Triggers', err); - return null; - } - - let query = false; - let querySegmentSubscription = ''; - let querySegmentTriggertable = ''; - if (trigger.segment > 0) - { - querySegmentSubscription = (queryData.where ? ' AND (' + queryData.where + ')' : ''); - querySegmentTriggertable = ' AND triggertable.`segment` = ' + trigger.segment; - } - - switch (trigger.rule) { - case 'subscription': - query = 'SELECT id FROM `subscription__' + trigger.list + '` subscription WHERE status=1 AND ' + intervalQuery('`' + trigger.column + '`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'campaign': - switch (trigger.column) { - case 'delivered': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'not_clicked': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=0 WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' AND tracker.created IS NULL ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'not_opened': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=-1 WHERE campaign.status=1 AND ' + intervalQuery('`campaign`.`created`', trigger.seconds, treshold) + ' AND tracker.created IS NULL ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'clicked': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=0 WHERE campaign.status=1 AND ' + intervalQuery('`tracker`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - case 'opened': - query = 'SELECT subscription.id AS id FROM `subscription__' + trigger.list + '` subscription LEFT JOIN `campaign__' + trigger.sourceCampaign + '` campaign ON campaign.list=' + trigger.list + ' AND subscription.id=campaign.subscription LEFT JOIN `campaign_tracker__' + trigger.sourceCampaign + '` tracker ON tracker.list=campaign.list AND tracker.subscriber=subscription.id AND tracker.link=-1 WHERE campaign.status=1 AND ' + intervalQuery('`tracker`.`created`', trigger.seconds, treshold) + ' ' + querySegmentSubscription + ' AND subscription.id NOT IN (SELECT subscription FROM `trigger__' + id + '` triggertable WHERE triggertable.`list` = ' + trigger.list + ' ' + querySegmentTriggertable + ' AND triggertable.`subscription` = subscription.`id`) LIMIT ' + limit; - break; - } - break; - } - - if (trigger.segment > 0) { - let values = queryData.values.concat([trigger.list, trigger.segment]); - for (let i = 0; i < values.length; i++) { - query = query.replace('?', db.escape(values[i])); - } - } - - callback(null, query); - - }); - - }); -}; - -module.exports.get = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error('Missing Trigger ID')); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT * FROM triggers WHERE id=?', [id], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - - if (!rows || !rows.length) { - return callback(null, false); - } - - let trigger = tools.convertKeys(rows[0]); - return callback(null, trigger); - }); - }); -}; - -module.exports.create = (trigger, callback) => { - - trigger = tools.convertKeys(trigger); - let name = (trigger.name || '').toString().trim(); - let description = (trigger.description || '').toString().trim(); - let listId = Number(trigger.list) || 0; - let segmentId = Number(trigger.segmentId) || 0; - let seconds = (Number(trigger.days) || 0) * 24 * 3600; - let rule = (trigger.rule || '').toString().toLowerCase().trim(); - let destCampaign = Number(trigger.destCampaign) || 0; - let sourceCampaign = null; - let column; - - if (!listId) { - return callback(new Error(_('Missing or invalid list ID'))); - } - - if (seconds < 0) { - return callback(new Error(_('Days in the past are not allowed'))); - } - - if (!rule || ['campaign', 'subscription'].indexOf(rule) < 0) { - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - switch (rule) { - case 'subscription': - column = (trigger.column || '').toString().toLowerCase().trim(); - if (!column) { - return callback(new Error(_('Invalid subscription configuration'))); - } - break; - case 'campaign': - column = (trigger.campaignOption || '').toString().toLowerCase().trim(); - sourceCampaign = Number(trigger.sourceCampaign) || 0; - if (!column || !sourceCampaign) { - return callback(new Error(_('Invalid campaign configuration'))); - } - if (sourceCampaign === destCampaign) { - return callback(new Error(_('A campaing can not be a target for itself'))); - } - break; - default: - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - lists.get(listId, (err, list) => { - if (err) { - return callback(err); - } - if (!list) { - return callback(new Error(_('Missing or invalid list ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['name', 'description', 'list', 'segment', 'source_campaign', 'rule', 'column', 'seconds', 'dest_campaign', 'last_check']; - let values = [name, description, list.id, segmentId, sourceCampaign, rule, column, seconds, destCampaign]; - - let query = 'INSERT INTO `triggers` (`' + keys.join('`, `') + '`) VALUES (' + values.map(() => '?').join(', ') + ', NOW())'; - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let id = result && result.insertId; - if (!id) { - return callback(new Error(_('Could not store trigger row'))); - } - - createTriggerTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, id); - }); - }); - }); - }); -}; - -module.exports.update = (id, trigger, callback) => { - id = Number(id) || 0; - if (id < 1) { - return callback(new Error(_('Missing or invalid Trigger ID'))); - } - - trigger = tools.convertKeys(trigger); - let name = (trigger.name || '').toString().trim(); - let description = (trigger.description || '').toString().trim(); - let enabled = trigger.enabled ? 1 : 0; - let seconds = (Number(trigger.days) || 0) * 24 * 3600; - let rule = (trigger.rule || '').toString().toLowerCase().trim(); - let destCampaign = Number(trigger.destCampaign) || 0; - let sourceCampaign = null; - let column; - - if (seconds < 0) { - return callback(new Error(_('Days in the past are not allowed'))); - } - - if (!rule || ['campaign', 'subscription'].indexOf(rule) < 0) { - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - switch (rule) { - case 'subscription': - column = (trigger.column || '').toString().toLowerCase().trim(); - if (!column) { - return callback(new Error(_('Invalid subscription configuration'))); - } - break; - case 'campaign': - column = (trigger.campaignOption || '').toString().toLowerCase().trim(); - sourceCampaign = Number(trigger.sourceCampaign) || 0; - if (!column || !sourceCampaign) { - return callback(new Error(_('Invalid campaign configuration'))); - } - if (sourceCampaign === destCampaign) { - return callback(new Error(_('A campaing can not be a target for itself'))); - } - break; - default: - return callback(new Error(_('Missing or invalid trigger rule'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let keys = ['name', 'description', 'enabled', 'source_campaign', 'rule', 'column', 'seconds', 'dest_campaign']; - let values = [name, description, enabled, sourceCampaign, rule, column, seconds, destCampaign]; - - let query = 'UPDATE `triggers` SET ' + keys.map(key => '`' + key + '`=?').join(', ') + ' WHERE `id`=? LIMIT 1'; - - connection.query(query, values.concat(id), (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - return callback(null, result && result.affectedRows); - }); - }); -}; - -module.exports.delete = (id, callback) => { - id = Number(id) || 0; - - if (id < 1) { - return callback(new Error(_('Missing Trigger ID'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('DELETE FROM triggers WHERE id=? LIMIT 1', [id], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - - let affected = result && result.affectedRows || 0; - removeTriggerTable(id, err => { - if (err) { - return callback(err); - } - return callback(null, affected); - }); - }); - }); -}; - -module.exports.filterSubscribers = (trigger, request, columns, callback) => { - let queryData = { - where: 'trigger__' + trigger.id + '.list=?', - values: [trigger.list] - }; - - tableHelpers.filter('subscription__' + trigger.list + ' JOIN trigger__' + trigger.id + ' ON trigger__' + trigger.id + '.subscription=subscription__' + trigger.list + '.id', ['*'], request, columns, ['email', 'first_name', 'last_name'], 'email ASC', queryData, callback); -}; - -function createTriggerTable(id, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'CREATE TABLE `trigger__' + id + '` LIKE `trigger`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} - -function removeTriggerTable(id, callback) { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - let query = 'DROP TABLE IF EXISTS `trigger__' + id + '`'; - connection.query(query, err => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, true); - }); - }); -} diff --git a/lib/models/users.js b/lib/models/users.js deleted file mode 100644 index b16106c9..00000000 --- a/lib/models/users.js +++ /dev/null @@ -1,392 +0,0 @@ -'use strict'; - -let log = require('npmlog'); - -let bcrypt = require('bcrypt-nodejs'); -let db = require('../db'); -let tools = require('../tools'); -let mailer = require('../mailer'); -let settings = require('./settings'); -let crypto = require('crypto'); -let urllib = require('url'); -let _ = require('../translate')._; - -/** - * Fetches user by ID value - * - * @param {Number} id User id - * @param {Function} callback Return an error or an user object - */ -module.exports.get = (id, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `id`=? LIMIT 1', [id], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.findByAccessToken = (accessToken, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `access_token`=? LIMIT 1', [accessToken], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.findByUsername = (username, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT `id`, `username`, `email`, `access_token` FROM `users` WHERE `username`=? LIMIT 1', [username], (err, rows) => { - connection.release(); - - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, user); - }); - }); -}; - -module.exports.add = (username, password, email, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('INSERT INTO `users` (`username`, `password`, `email`, `created`) VALUES (?, ?, ?, NOW())', [username, password, email], (err, result) => { - connection.release(); - - if (err) { - return callback(err); - } - - let id = result && result.insertId; - if (!id) { - return callback(new Error(_('Could not store user row'))); - } - - return callback(null, id); - }); - }); -}; - -/** - * Fetches user by username and password - * - * @param {String} username - * @param {String} password - * @param {Function} callback Return an error or authenticated user - */ -module.exports.authenticate = (username, password, callback) => { - - if (password === '') { - return callback(null, false); - } - - let login = (connection, callback) => { - connection.query('SELECT `id`, `password`, `access_token` FROM `users` WHERE `username`=? OR email=? LIMIT 1', [username, username], (err, rows) => { - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(null, false); - } - - bcrypt.compare(password, rows[0].password, (err, result) => { - if (err) { - return callback(err); - } - if (!result) { - return callback(null, false); - } - - let user = tools.convertKeys(rows[0]); - return callback(null, { - id: user.id, - username - }); - }); - - }); - }; - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - login(connection, (err, user) => { - connection.release(); - callback(err, user); - }); - }); -}; - -/** - * Updates user password - * - * @param {Object} id User ID - * @param {Object} updates - * @param {Function} Return an error or success/fail - */ -module.exports.update = (id, updates, callback) => { - - if (!updates.email) { - return callback(new Error(_('Email Address must be set'))); - } - - let update = (connection, callback) => { - - connection.query('SELECT password FROM users WHERE id=? LIMIT 1', [id], (err, rows) => { - if (err) { - return callback(err); - } - - if (!rows.length) { - return callback(_('Failed to check user data')); - } - - let keys = ['email']; - let values = [updates.email]; - - let finalize = () => { - values.push(id); - connection.query('UPDATE users SET ' + keys.map(key => key + '=?').join(', ') + ' WHERE id=? LIMIT 1', values, (err, result) => { - if (err) { - if (err.code === 'ER_DUP_ENTRY') { - err = new Error(_('Can\'t change email as another user with the same email address already exists')); - } - return callback(err); - } - return callback(null, result.affectedRows); - }); - }; - - if (!updates.password && !updates.password2) { - return finalize(); - } - - bcrypt.compare(updates.currentPassword, rows[0].password, (err, result) => { - if (err) { - return callback(err); - } - if (!result) { - return callback(_('Incorrect current password')); - } - - if (!updates.password) { - return callback(new Error(_('New password not set'))); - } - - if (updates.password !== updates.password2) { - return callback(new Error(_('Passwords do not match'))); - } - - bcrypt.hash(updates.password, null, null, (err, hash) => { - if (err) { - return callback(err); - } - - keys.push('password'); - values.push(hash); - - finalize(); - }); - }); - }); - }; - - tools.validateEmail(updates.email, false, err => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - update(connection, (err, updated) => { - connection.release(); - callback(err, updated); - }); - }); - }); -}; - -module.exports.resetToken = (id, callback) => { - id = Number(id) || 0; - - if (!id) { - return callback(new Error(_('User ID not set'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let token = crypto.randomBytes(20).toString('hex').toLowerCase(); - let query = 'UPDATE users SET `access_token`=? WHERE id=? LIMIT 1'; - let values = [token, id]; - - connection.query(query, values, (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result.affectedRows); - }); - }); - -}; - - -module.exports.sendReset = (username, callback) => { - username = (username || '').toString().trim(); - - if (!username) { - return callback(new Error(_('Username must be set'))); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id, email, username FROM users WHERE username=? OR email=? LIMIT 1', [username, username], (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - - if (!rows.length) { - connection.release(); - return callback(null, false); - } - - let resetToken = crypto.randomBytes(16).toString('base64').replace(/[^a-z0-9]/gi, ''); - connection.query('UPDATE users SET reset_token=?, reset_expire=NOW() + INTERVAL 1 HOUR WHERE id=? LIMIT 1', [resetToken, rows[0].id], err => { - connection.release(); - if (err) { - return callback(err); - } - - settings.list(['serviceUrl', 'adminEmail'], (err, configItems) => { - if (err) { - return callback(err); - } - - mailer.sendMail({ - from: { - address: configItems.adminEmail - }, - to: { - address: rows[0].email - }, - subject: _('Mailer password change request') - }, { - html: 'emails/password-reset-html.hbs', - text: 'emails/password-reset-text.hbs', - data: { - title: 'Mailtrain', - username: rows[0].username, - confirmUrl: urllib.resolve(configItems.serviceUrl, '/users/reset') + '?token=' + encodeURIComponent(resetToken) + '&username=' + encodeURIComponent(rows[0].username) - } - }, err => { - if (err) { - log.error('Mail', err); // eslint-disable-line no-console - } - }); - - callback(null, true); - }); - }); - }); - }); -}; - -module.exports.checkResetToken = (username, resetToken, callback) => { - if (!username || !resetToken) { - return callback(new Error(_('Missing username or reset token'))); - } - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('SELECT id FROM users WHERE username=? AND reset_token=? AND reset_expire > NOW() LIMIT 1', [username, resetToken], (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows && rows.length || false); - }); - }); -}; - -module.exports.resetPassword = (data, callback) => { - let updates = tools.convertKeys(data); - - if (!updates.username || !updates.resetToken) { - return callback(new Error(_('Missing username or reset token'))); - } - - if (!updates.password || !updates.password2 || updates.password !== updates.password2) { - return callback(new Error(_('Invalid new password'))); - } - - bcrypt.hash(updates.password, null, null, (err, hash) => { - if (err) { - return callback(err); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - connection.query('UPDATE users SET password=?, reset_token=NULL, reset_expire=NULL WHERE username=? AND reset_token=? AND reset_expire > NOW() LIMIT 1', [hash, updates.username, updates.resetToken], (err, result) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, result.affectedRows); - }); - }); - }); -}; diff --git a/lib/passport.js b/lib/passport.js deleted file mode 100644 index 364d34fe..00000000 --- a/lib/passport.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -let config = require('config'); -let log = require('npmlog'); -let _ = require('./translate')._; -let util = require('util'); - -let passport = require('passport'); -let fs = require('fs'); -let LocalStrategy = require('passport-local').Strategy; - -let csrf = require('csurf'); -let bodyParser = require('body-parser'); -let users = require('./models/users'); - -let LdapStrategy; -try { - LdapStrategy = require('passport-ldapjs').Strategy; // eslint-disable-line global-require -} catch (E) { - if (config.ldap.enabled) { - log.info('LDAP', 'Module "passport-ldapjs" not installed. It will not be used for LDAP auth.'); - } -} - -let LdapAuthStrategy; -try { - LdapAuthStrategy = require('passport-ldapauth').Strategy; // eslint-disable-line global-require -} catch (E) { - if (config.ldapauth.enabled) { - log.info('LDAP', 'Module "passport-ldapauth" not installed. It will not be used for LDAP auth.'); - } -} - -module.exports.csrfProtection = csrf({ - cookie: true -}); - -module.exports.parseForm = bodyParser.urlencoded({ - extended: false, - limit: config.www.postsize -}); - -module.exports.setup = app => { - app.use(passport.initialize()); - app.use(passport.session()); -}; - -module.exports.logout = (req, res) => { - if (req.user) { - req.flash('info', util.format(_('%s logged out'), req.user.username)); - req.logout(); - } - res.redirect('/'); -}; - -module.exports.login = (req, res, next) => { - let authMode = config.ldapauth.enabled ? 'ldapauth' : config.ldap.enabled ? 'ldap' : 'local'; - passport.authenticate(authMode, (err, user, info) => { - if (err) { - req.flash('danger', err.message); - return next(err); - } - if (!user) { - log.warn('auth', `[client ${req.ip}] authentication failure`); - req.flash('danger', info && info.message || _('Failed to authenticate user')); - return res.redirect('/users/login' + (req.body.next ? '?next=' + encodeURIComponent(req.body.next) : '')); - } - req.logIn(user, err => { - if (err) { - return next(err); - } - - if (req.body.remember) { - // Cookie expires after 30 days - req.session.cookie.maxAge = 30 * 24 * 60 * 60 * 1000; - } else { - // Cookie expires at end of session - req.session.cookie.expires = false; - } - - req.flash('success', util.format(_('Logged in as %s'), user.username)); - return res.redirect(req.body.next || '/'); - }); - })(req, res, next); -}; - -if (config.ldap.enabled && LdapStrategy) { - log.info('Using LDAP auth (passport-ldapjs)'); - - let opts = { - server: { - url: config.ldap.url, - tlsOptions: { - ca: config.ldap.ca ? [ - fs.readFileSync(config.ldap.ca) - ] : undefined - } - }, - base: config.ldap.baseDN, - search: { - filter: config.ldap.filter, - attributes: [config.ldap.uidTag, 'mail'], - scope: 'sub' - }, - uidTag: config.ldap.uidTag, - bindUser: config.ldap.bindUser, - bindPassword: config.ldap.bindPassword - }; - - passport.use(new LdapStrategy(opts, (profile, done) => { - users.findByUsername(profile[config.ldap.uidTag], (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - // password is empty for ldap - users.add(profile[config.ldap.uidTag], '', profile.mail, (err, id) => { - if (err) { - return done(err); - } - - return done(null, { - id, - username: profile[config.ldap.uidTag] - }); - }); - } else { - return done(null, { - id: user.id, - username: user.username - }); - } - }); - })); -} else if (config.ldapauth.enabled && LdapAuthStrategy) { - log.info('Using LDAP auth (passport-ldapauth)'); - let opts = { - server: { - url: config.ldapauth.url, - searchBase: config.ldapauth.baseDN, - searchFilter: config.ldapauth.filter, - searchAttributes: [config.ldapauth.uidTag, 'mail'], - bindDN: config.ldapauth.bindUser, - bindCredentials: config.ldapauth.bindPassword, - tlsOptions: { - ca: config.ldapauth.ca ? [ - fs.readFileSync(config.ldapauth.ca) - ] : undefined - } - } - }; - - passport.use(new LdapAuthStrategy(opts, (profile, done) => { - users.findByUsername(profile[config.ldapauth.uidTag], (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - // password is empty for ldap - users.add(profile[config.ldapauth.uidTag], '', profile.mail, (err, id) => { - if (err) { - return done(err); - } - - return done(null, { - id, - username: profile[config.ldapauth.uidTag] - }); - }); - } else { - return done(null, { - id: user.id, - username: user.username - }); - } - }); - })); -} else { - log.info('Using local auth'); - - passport.use(new LocalStrategy((username, password, done) => { - users.authenticate(username, password, (err, user) => { - if (err) { - return done(err); - } - - if (!user) { - return done(null, false, { - message: _('Incorrect username or password') - }); - } - - return done(null, user); - }); - })); -} - -passport.serializeUser((user, done) => { - done(null, user.id); -}); - -passport.deserializeUser((id, done) => { - users.get(id, done); -}); diff --git a/lib/report-processor.js b/lib/report-processor.js deleted file mode 100644 index 82653849..00000000 --- a/lib/report-processor.js +++ /dev/null @@ -1,147 +0,0 @@ -'use strict'; - -const log = require('npmlog'); -const reports = require('./models/reports'); -const executor = require('./executor'); - -let runningWorkersCount = 0; -let maxWorkersCount = 1; - -let workers = {}; - -function startWorker(report) { - - function onStarted(tid) { - log.info('ReportProcessor', 'Worker process for "%s" started with tid %s. Current worker count is %s.', report.name, tid, runningWorkersCount); - workers[report.id] = tid; - } - - function onFinished(code, signal) { - runningWorkersCount--; - log.info('ReportProcessor', 'Worker process for "%s" (tid %s) exited with code %s signal %s. Current worker count is %s.', report.name, workers[report.id], code, signal, runningWorkersCount); - delete workers[report.id]; - - const fields = {}; - if (code === 0) { - fields.state = reports.ReportState.FINISHED; - fields.lastRun = new Date(); - } else { - fields.state = reports.ReportState.FAILED; - } - - reports.updateFields(report.id, fields, err => { - if (err) { - log.error('ReportProcessor', err); - } - - setImmediate(startWorkers); - }); - } - - function onFailed(msg) { - runningWorkersCount--; - log.error('ReportProcessor', 'Executing worker process for "%s" (tid %s) failed with message "%s". Current worker count is %s.', report.name, workers[report.id], msg, runningWorkersCount); - delete workers[report.id]; - - const fields = { - state: reports.ReportState.FAILED - }; - - reports.updateFields(report.id, fields, err => { - if (err) { - log.error('ReportProcessor', err); - } - - setImmediate(startWorkers); - }); - } - - const reportData = { - id: report.id, - name: report.name - }; - - runningWorkersCount++; - executor.start('report-processor-worker', reportData, onStarted, onFinished, onFailed); -} - -function startWorkers() { - reports.listWithState(reports.ReportState.SCHEDULED, 0, maxWorkersCount - runningWorkersCount, (err, reportList) => { - if (err) { - log.error('ReportProcessor', err); - return; - } - - for (let report of reportList) { - reports.updateFields(report.id, { state: reports.ReportState.PROCESSING }, err => { - if (err) { - log.error('ReportProcessor', err); - return; - } - - startWorker(report); - }); - } - }); -} - -module.exports.start = (reportId, callback) => { - if (!workers[reportId]) { - log.info('ReportProcessor', 'Scheduling report id: %s', reportId); - reports.updateFields(reportId, { state: reports.ReportState.SCHEDULED, lastRun: null}, err => { - if (err) { - return callback(err); - } - - if (runningWorkersCount < maxWorkersCount) { - log.info('ReportProcessor', 'Starting worker because runningWorkersCount=%s maxWorkersCount=%s', runningWorkersCount, maxWorkersCount); - - startWorkers(); - } else { - log.info('ReportProcessor', 'Not starting worker because runningWorkersCount=%s maxWorkersCount=%s', runningWorkersCount, maxWorkersCount); - } - - callback(null); - }); - } else { - log.info('ReportProcessor', 'Worker for report id: %s is already running.', reportId); - } -}; - -module.exports.stop = (reportId, callback) => { - const tid = workers[reportId]; - if (tid) { - log.info('ReportProcessor', 'Killing worker for report id: %s', reportId); - executor.stop(tid); - reports.updateFields(reportId, { state: reports.ReportState.FAILED}, callback); - } else { - log.info('ReportProcessor', 'No running worker found for report id: %s', reportId); - } -}; - -module.exports.init = callback => { - reports.listWithState(reports.ReportState.PROCESSING, 0, 0, (err, reportList) => { - if (err) { - log.error('ReportProcessor', err); - } - - function scheduleReport() { - if (reportList.length > 0) { - const report = reportList.shift(); - - reports.updateFields(report.id, { state: reports.ReportState.SCHEDULED}, err => { - if (err) { - log.error('ReportProcessor', err); - } - - scheduleReport(); - }); - } - - startWorkers(); - return callback(); - } - - scheduleReport(); - }); -}; diff --git a/lib/subscription-mail-helpers.js b/lib/subscription-mail-helpers.js deleted file mode 100644 index 71ed13af..00000000 --- a/lib/subscription-mail-helpers.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict'; - -const log = require('npmlog'); -let fields = require('./models/fields'); -let settings = require('./models/settings'); -let mailer = require('./mailer'); -let urllib = require('url'); -let helpers = require('./helpers'); -let _ = require('./translate')._; -let util = require('util'); - - -module.exports = { - sendAlreadySubscribed, - sendConfirmAddressChange, - sendConfirmSubscription, - sendConfirmUnsubscription, - sendSubscriptionConfirmed, - sendUnsubscriptionConfirmed -}; - -function sendSubscriptionConfirmed(list, email, subscription, callback) { - const relativeUrls = { - preferencesUrl: '/subscription/' + list.cid + '/manage/' + subscription.cid, - unsubscribeUrl: '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid - }; - - sendMail(list, email, 'subscription-confirmed', _('%s: Subscription Confirmed'), relativeUrls, {}, subscription, callback); -} - -function sendAlreadySubscribed(list, email, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - preferencesUrl: '/subscription/' + list.cid + '/manage/' + subscription.cid, - unsubscribeUrl: '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid - }; - sendMail(list, email, 'already-subscribed', _('%s: Email Address Already Registered'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmAddressChange(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/change-address/' + cid - }; - sendMail(list, email, 'confirm-address-change', _('%s: Please Confirm Email Change in Subscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmSubscription(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/subscribe/' + cid - }; - sendMail(list, email, 'confirm-subscription', _('%s: Please Confirm Subscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendConfirmUnsubscription(list, email, cid, subscription, callback) { - const mailOpts = { - ignoreDisableConfirmations: true - }; - const relativeUrls = { - confirmUrl: '/subscription/confirm/unsubscribe/' + cid - }; - sendMail(list, email, 'confirm-unsubscription', _('%s: Please Confirm Unsubscription'), relativeUrls, mailOpts, subscription, callback); -} - -function sendUnsubscriptionConfirmed(list, email, subscription, callback) { - const relativeUrls = { - subscribeUrl: '/subscription/' + list.cid + '?cid=' + subscription.cid - }; - sendMail(list, email, 'unsubscription-confirmed', _('%s: Unsubscription Confirmed'), relativeUrls, {}, subscription, callback); -} - - -function sendMail(list, email, template, subject, relativeUrls, mailOpts, subscription, callback) { - fields.list(list.id, (err, fieldList) => { - if (err) { - return callback(err); - } - - let encryptionKeys = []; - fields.getRow(fieldList, subscription).forEach(field => { - if (field.type === 'gpg' && field.value) { - encryptionKeys.push(field.value.trim()); - } - }); - - settings.list(['defaultHomepage', 'defaultFrom', 'defaultAddress', 'defaultPostaddress', 'serviceUrl', 'disableConfirmations'], (err, configItems) => { - if (err) { - return callback(err); - } - - if (!mailOpts.ignoreDisableConfirmations && configItems.disableConfirmations) { - return callback(); - } - - const data = { - title: list.name, - homepage: configItems.defaultHomepage || configItems.serviceUrl, - contactAddress: configItems.defaultAddress, - defaultPostaddress: configItems.defaultPostaddress - }; - - for (let relativeUrlKey in relativeUrls) { - data[relativeUrlKey] = urllib.resolve(configItems.serviceUrl, relativeUrls[relativeUrlKey]); - } - - let text = { - template: 'subscription/mail-' + template + '-text.hbs' - }; - - let html = { - template: 'subscription/mail-' + template + '-html.mjml.hbs', - layout: 'subscription/layout.mjml.hbs', - type: 'mjml' - }; - - helpers.injectCustomFormTemplates(list.defaultForm, { text, html }, (err, tmpl) => { - if (!err && tmpl) { - text = tmpl.text || text; - html = tmpl.html || html; - } - - mailer.sendMail({ - from: { - name: configItems.defaultFrom, - address: configItems.defaultAddress - }, - to: { - name: [].concat(subscription.firstName || []).concat(subscription.lastName || []).join(' '), - address: email - }, - subject: util.format(subject, list.name), - encryptionKeys - }, { - html, - text, - data - }, err => { - if (err) { - log.error('Subscription', err); - } - }); - - callback(); - - }); - }); - }); -} diff --git a/lib/table-helpers.js b/lib/table-helpers.js deleted file mode 100644 index 1176eba2..00000000 --- a/lib/table-helpers.js +++ /dev/null @@ -1,134 +0,0 @@ -'use strict'; - -const db = require('./db'); -const tools = require('./tools'); - -module.exports.list = (source, fields, orderBy, queryData, start, limit, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let limitQuery = ''; - let limitValues = []; - if (limit) { - limitQuery = ' LIMIT ?'; - limitValues.push(limit); - - if (start) { - limitQuery += ' OFFSET ?'; - limitValues.push(start); - } - } - - let whereClause = ''; - let whereValues = []; - - if (queryData) { - whereClause = ' WHERE ' + queryData.where; - whereValues = queryData.values; - } - - connection.query('SELECT SQL_CALC_FOUND_ROWS ' + fields.join(', ') + ' FROM ' + source + whereClause + ' ORDER BY ' + orderBy + ' DESC' + limitQuery, whereValues.concat(limitValues), (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('SELECT FOUND_ROWS() AS total', (err, total) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, rows, total && total[0] && total[0].total); - }); - }); - }); -}; - -module.exports.quicklist = (source, fields, orderBy, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - connection.query('SELECT ' + fields.join(', ') + ' FROM ' + source + ' ORDER BY ' + orderBy + ' LIMIT 1000', (err, rows) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, (rows || []).map(tools.convertKeys)); - }); - }); -}; - -module.exports.filter = (source, fields, request, columns, searchFields, defaultOrdering, queryData, callback) => { - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let query = 'SELECT COUNT(*) AS total FROM ' + source; - let values = []; - - if (queryData) { - query += ' WHERE ' + queryData.where; - values = values.concat(queryData.values || []); - } - - connection.query(query, values, (err, total) => { - if (err) { - connection.release(); - return callback(err); - } - total = total && total[0] && total[0].total || 0; - - let ordering = []; - - if (request.order && request.order.length) { - - request.order.forEach(order => { - let orderField = columns[Number(order.column)]; - let orderDirection = (order.dir || '').toString().toLowerCase() === 'desc' ? 'DESC' : 'ASC'; - if (orderField) { - ordering.push(orderField + ' ' + orderDirection); - } - }); - } - - if (!ordering.length) { - ordering.push(defaultOrdering); - } - - let searchWhere = ''; - let searchArgs = []; - - if (request.search && request.search.value) { - let searchVal = '%' + request.search.value.replace(/\\/g, '\\\\').replace(/([%_])/g, '\\$1') + '%'; - - searchWhere = searchFields.map(field => field + ' LIKE ?').join(' OR '); - searchArgs = searchFields.map(() => searchVal); - } - - let query = 'SELECT SQL_CALC_FOUND_ROWS ' + fields.join(', ') + ' FROM ' + source +' WHERE ' + (searchWhere ? '(' + searchWhere + ')': '1') + (queryData ? ' AND (' + queryData.where + ')' : '') + ' ORDER BY ' + ordering.join(', ') + ' LIMIT ? OFFSET ?'; - let args = searchArgs.concat(queryData ? queryData.values : []).concat([Number(request.length) || 50, Number(request.start) || 0]); - - connection.query(query, args, (err, rows) => { - if (err) { - connection.release(); - return callback(err); - } - connection.query('SELECT FOUND_ROWS() AS total', (err, filteredTotal) => { - connection.release(); - if (err) { - return callback(err); - } - - rows = rows.map(row => tools.convertKeys(row)); - - filteredTotal = filteredTotal && filteredTotal[0] && filteredTotal[0].total || 0; - return callback(null, rows, total, filteredTotal); - }); - }); - }); - }); -}; diff --git a/lib/tools.js b/lib/tools.js deleted file mode 100644 index b0d16822..00000000 --- a/lib/tools.js +++ /dev/null @@ -1,323 +0,0 @@ -'use strict'; - -const config = require('config'); -let fs = require('fs'); -let path = require('path'); -let db = require('./db'); -let slugify = require('slugify'); -let Isemail = require('isemail'); -let urllib = require('url'); -let juice = require('juice'); -let jsdom = require('jsdom'); -let he = require('he'); -let _ = require('./translate')._; -let util = require('util'); -let createDOMPurify = require('dompurify'); -let htmlToText = require('html-to-text'); - -let blockedUsers = ['abuse', 'admin', 'billing', 'compliance', 'devnull', 'dns', 'ftp', 'hostmaster', 'inoc', 'ispfeedback', 'ispsupport', 'listrequest', 'list', 'maildaemon', 'noc', 'noreply', 'noreply', 'null', 'phish', 'phishing', 'postmaster', 'privacy', 'registrar', 'root', 'security', 'spam', 'support', 'sysadmin', 'tech', 'undisclosedrecipients', 'unsubscribe', 'usenet', 'uucp', 'webmaster', 'www']; - -module.exports = { - toDbKey, - fromDbKey, - convertKeys, - queryParams, - createSlug, - updateMenu, - validateEmail, - formatMessage, - getMessageLinks, - prepareHtml, - purifyHTML, - mergeTemplateIntoLayout, - workers: new Set() -}; - -function toDbKey(key) { - return key. - replace(/[^a-z0-9\-_]/gi, ''). - replace(/-+/g, '_'). - replace(/[A-Z]/g, c => '_' + c.toLowerCase()). - replace(/^_+|_+$/g, ''). - replace(/_+/g, '_'). - trim(); -} - -function fromDbKey(key) { - let prefix = ''; - if (key.startsWith('_')) { - key = key.substring(1); - prefix = '_'; - - } - return prefix + key.replace(/[_-]([a-z])/g, (m, c) => c.toUpperCase()); -} - -function convertKeys(obj, options) { - options = options || {}; - let response = {}; - Object.keys(obj || {}).forEach(key => { - let lKey = fromDbKey(key); - if (options.skip && options.skip.indexOf(lKey) >= 0) { - return; - } - if (options.keep && options.keep.indexOf(lKey) < 0) { - return; - } - response[lKey] = obj[key]; - }); - return response; -} - -function queryParams(obj) { - return Object.keys(obj). - filter(key => key !== '_csrf'). - map(key => encodeURIComponent(key) + '=' + encodeURIComponent(obj[key])). - join('&'); -} - -function createSlug(table, name, callback) { - - let baseSlug = slugify(name).trim().toLowerCase() || 'list'; - let counter = 0; - - if (baseSlug.length > 80) { - baseSlug = baseSlug.substr(0, 80); - } - - db.getConnection((err, connection) => { - if (err) { - return callback(err); - } - - let finalize = (err, slug) => { - connection.release(); - if (err) { - return callback(err); - } - return callback(null, slug); - }; - - let trySlug = () => { - let currentSlug = baseSlug + (counter === 0 ? '' : '-' + counter); - counter++; - connection.query('SELECT id FROM ' + table + ' WHERE slug=?', [currentSlug], (err, rows) => { - if (err) { - return finalize(err); - } - if (!rows || !rows.length) { - return finalize(null, currentSlug); - } - trySlug(); - }); - }; - - trySlug(); - }); -} - -function updateMenu(res) { - if (!res.locals.menu) { - res.locals.menu = []; - } - - res.locals.menu.push({ - title: _('Lists'), - url: '/lists', - key: 'lists' - }, { - title: _('Templates'), - url: '/templates', - key: 'templates' - }, { - title: _('Campaigns'), - url: '/campaigns', - key: 'campaigns' - }, { - title: _('Automation'), - url: '/triggers', - key: 'triggers' - }); - - if (config.reports && config.reports.enabled === true) { - res.locals.menu.push({ - title: _('Reports'), - url: '/reports', - key: 'reports' - }); - } -} - -function validateEmail(address, checkBlocked, callback) { - let user = (address || '').toString().split('@').shift().toLowerCase().replace(/[^a-z0-9]/g, ''); - if (checkBlocked && blockedUsers.indexOf(user) >= 0) { - return callback(new Error(util.format(_('Blocked email address "%s"'), address))); - } - - Isemail.validate(address, { - checkDNS: true, - errorLevel: 1 - }, result => { - - if (result !== 0) { - let message = util.format(_('Invalid email address "%s".'), address); - switch (result) { - case 5: - message += ' ' + _('MX record not found for domain'); - break; - case 6: - message += ' ' + _('Address domain not found'); - break; - case 12: - message += ' ' + _('Address domain name is required'); - break; - } - return callback(new Error(message)); - } - - return callback(); - }); -} - -function getMessageLinks(serviceUrl, campaign, list, subscription) { - return { - LINK_UNSUBSCRIBE: campaign.unsubscribe ? campaign.unsubscribe : urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid + '?c=' + campaign.cid), - LINK_PREFERENCES: urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/manage/' + subscription.cid), - LINK_BROWSER: urllib.resolve(serviceUrl, '/archive/' + campaign.cid + '/' + list.cid + '/' + subscription.cid), - CAMPAIGN_ID: campaign.cid, - LIST_ID: list.cid, - SUBSCRIPTION_ID: subscription.cid - }; -} - -function formatMessage(serviceUrl, campaign, list, subscription, message, filter, isHTML) { - filter = typeof filter === 'function' ? filter : (str => str); - - let links = getMessageLinks(serviceUrl, campaign, list, subscription); - - let getTagValue = key => { - key = (key || '').toString().toUpperCase().trim(); - if (links.hasOwnProperty(key)) { - return links[key]; - } - if (subscription.mergeTags.hasOwnProperty(key)) { - let value = (subscription.mergeTags[key] || '').toString(); - let containsHTML = /<[a-z][\s\S]*>/.test(value); - return isHTML ? he.encode((containsHTML ? value : value.replace(/(?:\r\n|\r|\n)/g, '
')), { - useNamedReferences: true, - allowUnsafeSymbols: true - }) : (containsHTML ? htmlToText.fromString(value) : value); - } - return false; - }; - - let tagReplace = message => - message.replace(/\[([a-z0-9_]+)(?:\/([^\]]+))?\]/ig, (match, identifier, fallback) => { - identifier = identifier.toUpperCase(); - let value = getTagValue(identifier); - if (value === false) { - return match; - } - value = (value || fallback || '').trim(); - return filter(value); - }); - - return tagReplace(tagReplace(message)); -} - -function prepareHtml(html, callback) { - if (!(html || '').toString().trim()) { - return callback(null, false); - } - jsdom.env(false, false, { - html, - features: { - FetchExternalResources: false, // disables resource loading over HTTP / filesystem - ProcessExternalResources: false // do not execute JS within script blocks - } - }, (err, win) => { - if (err) { - return callback(err); - } - - let head = win.document.querySelector('head'); - let hasCharsetTag = false; - let metaTags = win.document.querySelectorAll('meta'); - if (metaTags) { - for (let i = 0; i < metaTags.length; i++) { - if (metaTags[i].hasAttribute('charset')) { - metaTags[i].setAttribute('charset', 'utf-8'); - hasCharsetTag = true; - break; - } - } - } - if (!hasCharsetTag) { - let charsetTag = win.document.createElement('meta'); - charsetTag.setAttribute('charset', 'utf-8'); - head.appendChild(charsetTag); - } - let preparedHtml = '' + win.document.documentElement.innerHTML + ''; - - return callback(null, juice(preparedHtml)); - }); -} - -function purifyHTML(html) { - let win = jsdom.jsdom('', { - features: { - FetchExternalResources: false, // disables resource loading over HTTP / filesystem - ProcessExternalResources: false // do not execute JS within script blocks - } - }).defaultView; - let DOMPurify = createDOMPurify(win); - return DOMPurify.sanitize(html); -} - -// TODO Simplify! -function mergeTemplateIntoLayout(template, layout, callback) { - - layout = layout || '{{{body}}}'; - - let readFile = (relPath, callback) => { - fs.readFile(path.join(__dirname, '..', 'views', relPath), 'utf-8', (err, source) => { - if (err) { - return callback(err); - } - callback(null, source); - }); - }; - - let done = (template, layout) => { - let source = layout.replace(/\{\{\{body\}\}\}/g, template); - return callback(null, source); - }; - - if (layout.endsWith('.hbs')) { - readFile(layout, (err, layout) => { - if (err) { - return callback(err); - } - // Please dont end your custom messages with .hbs ... - if (template.endsWith('.hbs')) { - readFile(template, (err, template) => { - if (err) { - return callback(err); - } - return done(template, layout); - }); - } else { - return done(template, layout); - } - }); - } else if (template.endsWith('.hbs')) { - readFile(template, (err, template) => { - if (err) { - return callback(err); - } - return done(template, layout); - }); - } else { - return done(template, layout); - } -} diff --git a/lib/translate.js b/lib/translate.js deleted file mode 100644 index 9abd9a6f..00000000 --- a/lib/translate.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -const config = require('config'); - -const Gettext = require('node-gettext'); -const gt = new Gettext(); -const fs = require('fs'); -const path = require('path'); -const log = require('npmlog'); -const gettextParser = require('gettext-parser'); -const fakelang = require('./fakelang'); - -const language = config.language || 'en'; - -[].concat(config.language || []).forEach(lang => { - let data; - let file = path.join(__dirname, '..', 'languages', lang + '.mo'); - try { - data = gettextParser.mo.parse(fs.readFileSync(file)); - } catch (E) { - // ignore - } - if (data) { - gt.addTranslations(lang, lang, data); - gt.setTextDomain(lang); - gt.setLocale(lang); - log.info('LANG', 'Loaded language file for %s', lang); - } -}); - -module.exports._ = str => { - if (typeof str !== 'string') { - str = String(str); - } - - if (language === 'zz') { - return fakelang(str); - } - - return gt.dgettext(language, str); -}; diff --git a/locales/de-DE/common.json b/locales/de-DE/common.json new file mode 100644 index 00000000..e1f0faf2 --- /dev/null +++ b/locales/de-DE/common.json @@ -0,0 +1,1069 @@ +{ + "emailMustNotBeEmpty": "E-Mail darf nicht leer sein.", + "invalidEmailAddress": "Ungültige E-Mail-Adresse.", + "theEmailIsAlreadyAssociatedWithAnother": "Diese E-Mail ist bereits mit einem Benutzer im System verknüpft.", + "validationIsInProgress": "Validierung läuft...", + "fullNameMustNotBeEmpty": "Vollständiger Name darf nicht leer sen.", + "currentPasswordMustNotBeEmpty": "Aktuelles Passwort darf nicht leer sein.", + "incorrectPassword": "Falsches Passwort.", + "passwordsMustMatch": "Passwörter müssen gleich sein.", + "updatingUserProfile": "Benutzer Profil wird aktualisiert...", + "userProfileUpdated": "Benutzer Profil wird aktualisiert", + "thereAreErrorsInTheFormPleaseFixThemAnd": "Es gibt Fehler im Formular. Bitte korrigieren und erneut abschicken.", + "yourUpdatesCannotBeSaved": "Änderungen konnten nicht gespeichert werden.", + "thePasswordIsIncorrectPossiblyJust": "Passwort inkorrekt (vermutlich in einen anderen Fenster / Sitzung geändert). Bitte richtiges Passwort eingeben und erneut versuchen.", + "theEmailIsAlreadyAssignedToAnotherUser": "Diese E-Mail ist bereits einem Benutzer zugeordnet. Mit anderen E-Mail erneut versuchen.", + "account": "Account", + "generalSettings": "Einstellungen", + "fullName": "Vollständiger Name", + "email": "E-Mail", + "thisAddressIsUsedForAccountRecoveryIn": "Diese Adresse wird für die Passwortwiederherstellung benutzt.", + "passwordChange": "Passwort ändern", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "Formular muss nur ausgefüllt werden, wenn das aktuelle Passwort geändert werden soll", + "currentPassword": "Aktuelles Passwort", + "newPassword": "Neues Passwort", + "confirmPassword": "Passwort bestätigt", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Benutzerverwaltung nicht möglich. Es wurde eine externe Benutzerverwaltung konfiguriert.", + "ifYouWantToChangeThePasswordUseThisLink": "Um das Passwort zu ändern, <1>diesen Link benutzen.", + "personalAccessToken": "Persönlicher Zugriffs-Token", + "accessTokenNotYetGenerated": "Zugriffs-Token noch nicht generiert", + "api": "API", + "resetAccessToken": "Zugriffs-Token zurücksetzen", + "generateAccessToken": "Zugriffs-Token generieren", + "notesAboutTheApi": "Hinweise zur API", + "addSubscription": "Abonnement hinzufügen", + "thisApiCallEitherInsertsANewSubscription": "Dieser API Aufruf für ein Abonnement hinzu oder aktualisiert es. Nicht-angegebene Felder werden nicht aktualisiert. Wenn also nur der LAST_NAME angegeben wird, bleibt der FIRST_NAME unverändert.", + "arguments": "Argumente", + "yourPersonalAccessToken": "Persönlicher Zugriffs-Token", + "subscribersEmailAddress": "Abonnenten E-Mail-Adresse", + "required": "benötigt", + "requiredClientSideValidation": "Erforderlich (nur clientseitige Validierung)", + "subscribersFirstName": "Abonnenten Vorname", + "subscribersLastName": "Abonnenten Familienname", + "subscribersTimezoneEgEuropeTallinnPstOr": "Abonnenten Zeitzone (bsp. \"Europe/Tallinn\", \"PST\" oder \"UTC\"). Standardwert \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "Inhalt für benutzerdefiniertes Feld. Ja/Nein für Gruppenwerte benutzen (checkboxes, radios, drop downs)", + "additionalPostArguments": "Weitere POST Argumente", + "setToYesIfYouWantToMakeSureTheEmailIs": "Auf \"Ja\" setzen, wenn die die E-Mail auf abonniert gesetzt werden soll, selbst wenn diese vorher als abgemeldet gesetzt war. Wenn die E-Mail bereits als abgemeldet/blockiert gesetzt ist, wird der Status nicht geändert.", + "setToYesIfYouWantToSendConfirmationEmail": "Auf \"Ja\" setzen, wenn eine Bestätigungsmail an Abonnenten gesendet werden soll, bevor diese als abonniert markiert sind", + "example": "Beispiel", + "removeSubscription": "Abonnement entfernen", + "thisApiCallMarksASubscriptionAs": "Dieser API Aufruf markiert ein Abonnement als abgemeldet", + "deleteSubscription": "Abonnement löschen", + "thisApiCallDeletesASubscription": "Dieser API Aufruf löscht ein Abonnement", + "addNewCustomField": "Neues benutzerdefiniertes Feld hinzufügen", + "thisApiCallCreatesANewCustomFieldForA": "Dieser API Aufruf fügt ein neues benutzerdefiniertes Feld hinzu", + "fieldName": "Feldname", + "oneOfTheFollowingTypes": "Einer der folgenden Typen:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Wenn der Typ 'Option' ist, dann muss die ID des übergeordneten Element angegeben werden", + "templateForTheGroupElementIfNotSetThen": "Vorlage für Gruppenelement. Wenn leer, werden die Werte der Elemente mit Kommas verbunden", + "ifNotVisibleThenTheSubscriberCanNotView": "Wenn nicht sichtbar, können Abonnenten diesen Wert nicht im Profil sehen oder modifizieren", + "getListOfBlacklistedEmails": "Liste der E-Mails auf Blacklist", + "thisApiCallGetListOfBlacklistedEmails": "Dieser API Aufruf gibt die Liste der E-Mails auf Blacklist zurück", + "startPosition": "Anfangsposition", + "optionalDefault0": "optional, Standardwert 0", + "limitEmailsCountInResponse": "E-Mail Anzahl Limit in Antwort", + "optionalDefault10000": "optional, Standardwert 10000", + "filterByPartOfEmail": "Nach Teilen der E-Mail filtern", + "optionalDefault": "optional, Standardwert \"\"", + "addEmailToBlacklist": "E-Mail zu Blacklist hinzufügen", + "thisApiCallEitherAddEmailsToBlacklist": "Dieser API Aufruf fügt E-Mails zu Blacklist hinzu", + "emailAddress": "E-Mail-Adresse", + "deleteEmailFromBlacklist": "E-Mail von Blacklist löschen", + "thisApiCallEitherDeleteEmailsFrom": "Dieser API Aufruf löscht E-Mails von einer Blacklist", + "getTheListsAUserHasSubscribedTo": "Alle Listen des Abonnenten anzeigen", + "retrieveTheListsThatTheUserWithEmailHas": "Alle Listen des Abonnenten :email zurückgeben", + "triggerFetchOfACampaign": "Auslöser einer der Kampagne", + "forcesTheRssFeedCheckToImmediatelyCheck": "Erzwingt den RSS Feed Check die Kampagne mit der CID (:campaignCid) sofort zu prüfen. Funktioniert nur bei RSS Kampangen.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Einzelne E-Mail mit Vorlage via Vorlage ID verschicken.", + "idOfConfigurationUsedToCreateMailer": "ID der Konfiguration für die Mailer Instanz. Wenn leer, wird die globale Standardkonfiguration benutzt.", + "subject": "Betreff", + "dataPassedToTemplateWhenCompilingWith": "An die Vorlage übertragenen Daten, wenn mit Handlebars kompiliert wird", + "mapOfTemplatesubjectVariablesToReplace": "Zuweisung der Vorlagen Variablen, die ersetzt werden", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "E-Mail darf nicht leer sein", + "theEmailIsAlreadyOnBlacklist": "E-Mail bereits auf der Blacklist.", + "saving": "Wird gespeichert ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "Fehler im Formular. Bitte beheben und erneut versuchen.", + "removeFromBlacklist": "Von Blacklist entfernen", + "confirmRemovalFromBlacklist": "Blacklist Entfernung bestätigen", + "areYouSureYouWantToRemoveEmailFromThe": "Sicher, dass {{email}} von der Blacklist entfernt werden soll?", + "removingEmailFromTheBlacklist": "{{email}} wird von Blacklist entfernt", + "emailRemovedFromTheBlacklist": "{{email}} von Blacklist entfernt", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "E-Mail zur Blacklist hinzufügen", + "addToBlacklist": "Zur Blacklist hinzufügen", + "blacklistedEmails": "E-Mails auf Blacklist", + "campaignUpdated": "Kampagne aktualisiert", + "editCustomContent": "Benutzerdefinierten Inhalt bearbeiten", + "customTemplateEditor": "Benutzerdefinierte Vorlagen Editor", + "save": "Speichern", + "saveAndLeave": "Speichern und schließen", + "copy": "Kopieren", + "saveAndGoToStatus": "Speichern und zu Status wechseln", + "testSend": "Test Versand", + "createRegularCampaign": "Reguläre Kampagne erstellen", + "createRssCampaign": "RSS Kampagne erstellen", + "createTriggeredCampaign": "Ausgelöste Kampagne erstellen", + "editRegularCampaign": "Reguläre Kampagne bearbeiten", + "editRssCampaign": "RSS Kampagne bearbeiten", + "editTriggeredCampaign": "Ausgelöste Kampagne bearbeiten", + "template": "Vorlage", + "template_plural": "Vorlagen", + "customContentClonedFromTemplate": "Benutzerdefinierter Inhalt von einer Vorlage kopiert", + "customContentClonedFromAnotherCampaign": "Benutzerdefinierter Inhalt von einer Kampagne kopiert", + "customContent": "Benutzerdefinierter Inhalt", + "url": "URL", + "nameMustNotBeEmpty": "Name darf nicht leer sein", + "sendConfigurationMustBeSelected": "Versand Konfiguration muss ausgewählt sein", + "fromEmailMustNotBeEmpty": "\"From\" E-Mail darf nicht leer sein", + "templateMustBeSelected": "Vorlagen muss ausgewählt werden", + "campaignMustBeSelected": "Kampagne muss ausgewählt werden", + "typeMustBeSelected": "Typ muss ausgewählt werden", + "urlMustNotBeEmpty": "URL darf nicht leer sein", + "rssFeedUrlMustBeGiven": "RSS-Feed-URL muss angegeben werden", + "listMustBeSelected": "Liste muss ausgewählt werden", + "segmentMustBeSelected": "Segment muss ausgewählt werden", + "campaignCreated": "Kampagne erstellt", + "rssFeedUrl": "RSS-Feed-URL", + "name": "Name", + "id": "ID", + "subscribers": "Abonnenten", + "description": "Beschreibung", + "namespace": "Namensraum", + "namespace_plural": "Namenräume", + "remove": "Entfernen", + "insertNewEntryBeforeThisOne": "Neuen Eintrag vor diesem einfügen", + "moveUp": "Nach oben", + "moveDown": "Nach unten", + "list": "Liste", + "list_plural": "Listen", + "segment": "Segment", + "useAParticularSegment": "Spezielles Segment benutzen", + "lists": "Listen", + "addList": "Liste hinzufügen", + "type": "Typ", + "created": "Erstellt", + "override": "Überschreiben", + "fromName": "\"From\" Name", + "fromEmailAddress": "\"From\" E-Mail-Adresse", + "replytoEmailAddress": "\"Reply-to\" E-Mail-Adresse", + "subjectLine": "\"Subject\" Betreff", + "loadingSendConfiguration": "Versand Konfiguration wird geladen ...", + "contentSource": "Inhaltsquelle", + "selectingATemplateCreatesACampaign": "Eine Vorlage auswählen erstellt eine kampagne-spezifische Kopie davon.", + "campaign": "Kampagne", + "campaign_plural": "Kampagnen", + "contentOfTheSelectedCampaignWillBeCopied": "Inhalt der ausgewählten Kampagne werden kopiert.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "Wenn eine Nachricht gesendet wird, werden die Merge Tags als POST body an diese URL gePOSTed. Verwende das, wenn du die HTML-Nachricht selber generieren magst. Beispiel: http://www.example.com/foo", + "deletingCampaign": "Kampagne wird gelöscht ...", + "campaignDeleted": "Kampagne gelöscht", + "formCannotBeEditedBecauseTheCampaignIs": "Formular kann nicht bearbeitet werden, weil die Kampagne gerade verschickt wird. Warten bis Versand beendent wurde.", + "thisIsTheCampaignIdDisplayedToThe": "Diese Kampagnen ID wird den Abonnenten angezeigt", + "sendSettings": "Versand Einstellung", + "sendConfiguration": "Versand Konfiguration", + "sendConfiguration_plural": "Versand Konfigurationen", + "customUnsubscribeUrl": "Benutzerdefinierte URL für Abmeldung", + "tracking": "Tracking", + "disableOpenedTracking": "geöffnet-Tracking deaktivieren", + "disableClickedTracking": "geklickt-Tracking deaktivieren", + "saveAndEditContent": "Speichern und Inhalt bearbeiten", + "delete": "Löschen", + "regular": "Regulär", + "triggered": "Ausgelöst", + "rss": "RSS", + "idle": "Untätig", + "scheduled": "Geplant", + "paused": "Pausiert", + "finished": "Beendet", + "inactive": "Inaktiv", + "active": "Aktiv", + "sending": "Wird versandt", + "status": "Status", + "sendingScheduled": "Versand geplant", + "statistics": "Statistiken", + "edit": "Bearbeiten", + "content": "Inhalt", + "files": "Dateien", + "attachments": "Anhänge", + "triggers": "Auslöser", + "share": "Teilen", + "createCampaign": "Kampagne erstellen", + "campaigns": "Kampagnen", + "countries": "Länder", + "devices": "Geräte", + "campaignName": "Kampagne \"{{name}}\"", + "delivered": "Verschickt", + "deliveredEmails": "Verschickte Emails", + "complained": "Beschwerden", + "subscribersThatComplained": "Abonnenten Beschwerden", + "bounced": "Unzustellbar", + "emailsThatBounced": "Unzustellbare E-Mails", + "unsubscribed": "Abgemeldet", + "subscribersThatUnsubscribed": "Abgemeldete Abnonnenten", + "opened": "Geöffnet", + "clicks": "Klicks", + "theseFilesArePubliclyAvailableViaHttpSo": "Diese Dateien sind öffentlich via HTTP erreichbar, damit sie im Inhalt der Kampagne verlinkt werden können.", + "theseFilesWillBeAttachedToTheCampaign": "Diese Dateien werden an die E-Mails angehängt. Das heißt, sie erhöhen auch die E-Mail Dateigröße", + "triggerName": "Auslöser \"{{name}}\"", + "create": "Erstellen", + "campaignStatistics": "Kampagnen Statistik", + "total": "Gesamt", + "blacklisted": "Blacklisted", + "complaints": "Beschwerden", + "clicked": "Geklickt", + "quickReports": "Schneller Bericht", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Eindeutige Besucher", + "totalClicks": "Gesamte Klicks", + "campaignLinks": "Kampagnen Links", + "subscriptionId": "Abonnement ID", + "listId": "Listen ID", + "listNamespace": "Listen Namensraum", + "opensCount": "Anzahl Geöffnet", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Auto", + "console": "Konsole", + "distributionByDeviceType": "Verteilung nach Gerätetyp", + "loadingChart": "Grafik wird geladen", + "deviceType": "Gerätetyp", + "count": "Anzahl", + "unknown": "Unbekannt", + "distributionByCountry": "Verteilung nach Land", + "country": "Land", + "detailedStatistics": "Detailierte Statistik", + "listOfSubscribersThatOpenedTheCampaign": "Liste von Abonnenten, die die Kampagne geöffnet haben", + "subscriptionHasToBeSelectedToShowThe": "Abonnement muss ausgewählt werden um die Kampagne einem Testbenutzer anzuzeigen.", + "previewCampaignAs": "Kampagnen Vorschau als", + "preview": "Vorschau", + "dateMustNotBeEmpty": "Datum darf nicht leer sein", + "dateIsInvalid": "Datum ist ungültig", + "timeMustNotBeEmpty": "Zeit darf nicht leer sein", + "timeIsInvalid": "Zeit ist ungültig", + "confirmLaunch": "Start bestätigen", + "doYouWantToLaunchTheCampaign?": "Soll die Kampagne gestartet werden?", + "confirmReset": "Zurücksetzen bestätigen", + "doYouWantToResetTheCampaign?All": "Kampagne zurücksetzen? Alle Statistiken und Anzahl der geschickten Nachrichten geht verloren.", + "no": "Nein", + "yes": "Ja", + "subscribers-1": "Abonnenten", + "sendStatus": "Versandstatus", + "campaignIsScheduledForDelivery": "Versand der Kampagne ist geplant.", + "campaignIsReadyToBeSentOut": "Kampagne ist bereit verschickt zu werden.", + "sendLater": "Später verschicken", + "scheduleDeliveryAtAParticularDatetime": "Versand an einem späteren Zeitpunkt planen", + "date": "Datum", + "time": "Zeit", + "enter24HourTimeInFormatHhmmEg1348": "24-Stunden Zeitformat im Format HH:MM (Bsp. 13:48) eingeben", + "rescheduleSend": "Versand erneut planen", + "scheduleSend": "Versand planen", + "send": "Verschicken", + "viewStatistics": "Statistik anzeigen", + "campaignIsBeingSentOut": "Kampagne wird verschickt.", + "stop": "Anhalten", + "allMessagesSent!HitContinueIfYouYouWant": "Alle Nachrichten verschickt! \"Fortsetzen\" klicken, um diese Kampagne an neue Abonnenten zu verschicken.", + "continue": "Fortsetzen", + "reset": "Zurücksetzen", + "yourCampaignIsCurrentlyDisabledClick": "Kampagne ist aktuell deaktiviert. Zum aktivieren auf auf Aktivieren klicken.", + "enable": "Aktivieren", + "yourCampaignIsEnabledAndSendingMessages": "Kampagne ist aktiviert und Nachrichten werden verschickt.", + "disable": "Deaktivieren", + "campaignStatus": "Kampagnenstatus", + "targetListssegments": "Ziel Listen/Segmente", + "ifANewEntryIsFoundFromCampaignFeedANew": "Wenn ein neuer Eintrag in einem Kampangenfeed gefunden wird, wird eine Subkampange mit diesem Eintrag erstellt", + "sendingTestEmail": "Test E-Mail wird verschickt", + "subscriptionHasToBeSelected": "Abonnement muss ausgewählt werden.", + "sendTestEmail": "Test E-Mail verschicken", + "cancel": "Abbrechen", + "subscription": "Abonnement", + "valuesMustNotBeEmpty": "Werte dürfen nicht leer sein", + "valueMustBeANonnegativeNumber": "Wert darf keine nicht-negative Nummer sein", + "sourceCampaignMustNotBeEmpty": "Quell-Kampagne darf nicht leer sein", + "triggerUpdated": "Auslöser aktualisiert", + "triggerCreated": "Auslöser erstellt", + "deletingTrigger": "Auslöser wird gelöscht ...", + "triggerDeleted": "Auslöser gelöscht", + "editTrigger": "Auslöser bearbeiten", + "createTrigger": "Auslöser erstellen", + "entity": "Einheit", + "selectTheTypeOfTheTriggerRule": "Art der Auslöserregel auswählen.", + "triggerFires": "Auslöser angestoßen", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Event auswählen, dass den Versand der Kampagne auslöst.", + "enabled": "Aktiviert", + "latestOpen": "Zuletzt geöffnet", + "latestClick": "Zuletzt geklickt", + "notOpened": "Nicht geöffnet", + "notClicked": "Nicht geklickt", + "daysAfter": "Tage nach", + "welcomeToMailtrain": "Willkommen bei Mailtrain...", + "close": "Schließen", + "countFileAdded": "{{count}} Datei hinzugefügt", + "countFileAdded_plural": "{{count}} Dateien hinzugefügt", + "countFileReplaced": "{{count}} Datei ersetzt", + "countFileReplaced_plural": "{{count}} Dateien ersetzt", + "countFileIgnored": "{{count}} Datei ignoriert", + "countFileIgnored_plural": "{{count}} Dateien ignoriert", + "countFileUploaded": "{{count}} Dateien hochgeladen", + "countFileUploaded_plural": "{{count}} Dateien hochgeladen", + "uploadingCountFile": "{{count}} Datei wird hochgeladen", + "uploadingCountFile_plural": "{{count}} Dateien werden hochgeladen", + "fileUploadFailed": "Datei hochladen fehlgeschlagen:", + "noFilesToUpload": "Keine Dateien zum Hochladen", + "deletingFile": "Datei wird geschlöscht ...", + "fileDeleted": "Datei gelöscht", + "deleteFileFailed": "Datei löschen fehlgeschlagen:", + "size": "Größe", + "download": "Download", + "confirmFileDeletion": "Datei löschen bestätigen", + "areYouSureYouWantToDeleteTheFile?": "Sicher, dass dieser Datei gelöscht werden soll?", + "dropCountFile": "{{count}} Datei abgelegt", + "dropCountFile_plural": "{{count}} Dateien abgelegt", + "dropFilesHere": "Dateien hier ablegen", + "loading": "Wird geladen ...", + "openCalendar": "Kalender öffnen", + "select": "Auswählen", + "someoneElseHasIntroducedModificationIn": "Jemand anderes hat zwischenzeitlich Änderungen vorgenommen. Seite neu laden und mit neuen Daten beginnen. Alle Änderungen gehen verloren.", + "itSeemsThatSomeoneElseHasDeletedThe": "Scheinbar hat jemand anderes diesen Namensraum zwischenzeitlich gelöscht. Seite neu laden und mit neuen Daten beginnen. Alle Änderungen gehen verloren.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "Scheinbar hat jemand anderes diese Einheit zwischenzeitlich gelöscht.", + "customForms": "Benutzerdefinierte Formulare", + "report": "Bericht", + "report_plural": "Berichte", + "reportTemplate": "Bericht Vorlage", + "reportTemplate_plural": "Bericht Vorlagen", + "mosaicoTemplate": "Mosaico Vorlage", + "mosaicoTemplate_plural": "Mosaico Vorlagen", + "cannoteDeleteNameDueToTheFollowing": "\"{{name}}\" kann nicht gelöscht werden. Folgende Abhängigkeit:", + "andMore": "... weitere", + "confirmDeletion": "Löschen bestätigen", + "areYouSureYouWantToDeleteName?": "Sicher, dass \"{{name}}\" gelöscht werden soll?", + "namespaceMustBeSelected": "Namensraum muss ausgewählt werden", + "sourceOnGitHub": "Quelltext auf GitHub", + "sendTestEmail-1": "Test E-Mail verschicken", + "showHtml": "HTML anzeigen", + "maximizeEditor": "Editor maximieren", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Zeilenumbruch deaktivieren", + "enableWordWrap": "Zeilenumbruch aktivieren", + "hidePreview": "Vorschau ausblenden", + "showPreview": "Vorschau einblenden", + "showMjml": "MJML anzeigen", + "countEntriesSelected": "{{ count }} Einträge ausgewählt.", + "customFormMustBeSelected": "Benutzerdefiniertes Formular muss ausgewählt werden", + "listUpdated": "Liste aktualisiert", + "listCreated": "Liste erstellt", + "onestepIeNoEmailWithConfirmationLink": "Ein-Schritt (z.B. Keine E-Mail mit Bestätigungslink)", + "onestepWithUnsubscriptionFormIeNoEmail": "Ein-Schritt mit Abmeldungsformular (z.B. Keine E-Mail mit Bestätigungslink)", + "twostepIeAnEmailWithConfirmationLinkWill": "Zwei-Schritte (z.B. Eine E-Mail mit Bestätigungslink wird verschickt)", + "twostepWithUnsubscriptionFormIeAnEmail": "Zwei-Schritte mit Abmeldungsformular (z.B. Eine E-Mail mit Bestätigungslink wird verschickt)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manuell (z.B. Abmeldung muss von einem Listenadministrator gemacht werden)", + "defaultMailtrainForms": "Standard Mailtrain Formulare", + "customFormsSelectFormBelow": "Benutzerdefinierte Formulare (Auswahl unten)", + "recipientsNameTemplate": "Vorlage Empfängername", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Leer / Benutzerdefiniert (keine Felder)", + "nameOneField": "Name (ein Feld)", + "firstNameAndLastNameTwoFields": "Vor- und Nachname (Zwei Felder)", + "representationOfSubscribersName": "Darstellung des Abonnentennamen", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Liste wird gelöscht ...", + "listDeleted": "Liste gelöscht", + "editList": "Liste bearbeiten", + "createList": "Liste erstellen", + "thisIsTheListIdDisplayedToTheSubscribers": "Diese Listen ID wird den Abonnenten angezeigt.", + "contactEmail": "Kontakt E-Mail", + "contactEmailUsedInSubscriptionFormsAnd": "In Formularen und E-Mails benutzte Kontakt E-Mail-Adresse. Wenn leer, wird die globale Administrator E-Mail benutzt.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "In Formularen und E-Mails benutzte Homepage URL. Wenn leer, wird die globale Standard Homepage benutzt.", + "sendConfigurationThatWillBeUsedFor": "Versand Konfiguration für den Versand von E-Mails.", + "forms": "Formulare", + "webAndEmailFormsAndTemplatesUsedIn": "Im Abonnement Management benutze Web/E-Mail Formulare und Vorlagen.", + "allowPublicUsersToSubscribeThemselves": "Öffentlichen Benutzern erlauben sich selbst anzumelden", + "unsubscription": "Abmeldung", + "selectHowAnUnsuscriptionRequestBy": "Auswählen wie Abmeldungen bearbeitet werden sollen.", + "unsubscribeHeader": "Unsubscribe-Header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "Das benutzerdefinierte Formular für diese Liste. Formular kann <1>hier erstellt werden.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag ungültig. Kann nur großgeschriebene Zeichen und A-Z, 0-9, _ enthalten. Muss mit einem Buchstaben beginnen.", + "anotherFieldWithTheSameMergeTagExists": "Ein anderes Feld mit dem selben Merge tag existiert bereits. Anderen Namen auswählen.", + "groupHasToBeSelected": "Gruppe muss ausgewählt werden", + "defaultValueIsNotIntegerNumber": "Standardwert ist keine Nummer ", + "defaultValueIsNotAProperlyFormattedDate": "Standardwert ist kein gültiges Datum", + "defaultValueIsNotAProperlyFormatted": "Standardwert ist kein gültiges Geburtsdatum", + "defaultValueIsNotOneOfTheAllowedOptions": "Standardwert ist keine der erlaubten Optionen", + "errorOnLineLine": "Fehler in Zeile {{ line }}", + "fieldUpdated": "Feld aktualisiert", + "fieldCreated": "Feld erstellt", + "notVisible": "Nicht sichtbar", + "endOfList": "Ende der Liste", + "fieldSettings": "Feld Einstellungen", + "defaultValue": "Standardwert", + "defaultValueUsedWhenTheFieldIsEmpty": "Standardwert, wenn dieses Feld leer ist.", + "options": "Optionen", + "dateFormat": "Datumsformat", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge-Tag", + "group": "Gruppe", + "belongsToCheckboxDropdownRadioGroup": "Gehört zu Checkbox / Dropdown / Radio Gruppe", + "containingGroup": "Zugehörige Guppe", + "selectGroupToWhichTheOptionsShouldBelong": "Gruppe auswählen, zu der die Optionen gehören soll.", + "checkedLabel": "Ausgewählt-Label", + "labelThatWillBeDisplayedInListAnd": "Label, dass in der Liste und Abnonnenten angezeigt wird, wenn Option gewählt ist.", + "uncheckedLabel": "Nicht-ausgewählt-Label", + "labelThatWillBeDisplayedInListAnd-1": "Label, dass in der Liste und Abnonnenten angezeigt wird, wenn Option nicht gewählt ist.", + "deletingField": "Feld wird gelöscht ...", + "fieldDeleted": "Feld gelöscht", + "editField": "Feld bearbeiten", + "createField": "Feld erstellen", + "mergeTag-1": "Merge-Tag", + "fieldOrder": "Feld Reihenfolge", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Webseite", + "multilineText": "Mehrfach-Zeilen Text", + "gpgPublicKey": "GPG Public Key", + "number": "Nummer", + "checkboxesFromOptionFields": "Checkboxes (von Option Feld)", + "radioButtonsFromOptionFields": "Radio Buttons (von Option Feld)", + "dropDownFromOptionFields": "Drop Down (von Option Feld)", + "radioButtonsEnumerated": "Radio Buttons (aufgezählt)", + "dropDownEnumerated": "Drop Down (aufgezählt)", + "birthday": "Geburtstag", + "jsonValueForCustomRendering": "JSON Wert für benutzerdefinierte Anzeige", + "option": "Option", + "fields": "Felder", + "thePlaintextVersionForThisEmail": "Klartext Version für diese E-Mail", + "layout": "Layout", + "formInputStyle": "Formular Eingabestil", + "thisCssStylesheetDefinesTheAppearanceOf": "Dieses CSS Stylesheet definiert die Anzeige der Eingabeelemente und Warnungen", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Anmeldung bestätigen Hinweis", + "mailConfirmSubscriptionMjml": "Mail - Anmeldung bestätigen (MJML)", + "mailConfirmSubscriptionText": "Mail - Anmeldung bestätigen (Text)", + "mailAlreadySubscribedMjml": "Mail - Bereits angemeldet (MJML)", + "mailAlreadySubscribedText": "Mail - Bereits angemeldet (Text)", + "webSubscribedNotice": "Web - Anmeldungshinweis", + "mailSubscriptionConfirmedMjml": "Mail - Anmeldungsbestätigung (MJML)", + "mailSubscriptionConfirmedText": "Mail - Anmeldungsbestätigung (Text)", + "webManagePreferences": "Web - Einstellungen verwalten", + "webManageAddress": "Web - Adresse verwalten", + "mailConfirmAddressChangeMjml": "Mail - Änderung bestätigen (MJML)", + "mailConfirmAddressChangeText": "Mail - Änderung bestätigen (Text)", + "webUpdatedNotice": "Web - Änderungshinweis", + "webUnsubscribe": "Web - Abmelden", + "webConfirmUnsubscriptionNotice": "Web - Abmeldung bestätigen Hinweis", + "mailConfirmUnsubscriptionMjml": "Mail - Abmeldung bestätigen (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Abmeldung bestätigen (Text)", + "webUnsubscribedNotice": "Web - Abmeldungshinweis", + "mailUnsubscriptionConfirmedMjml": "Mail - Abmeldung bestätigt (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Abmeldung bestätigt (Text)", + "webManualUnsubscribeNotice": "Web - manueller Abmeldungshinweis", + "privacyPolicy": "Datenschutzrichtlinie", + "general": "Allgemein", + "subscribe": "Abonnieren", + "manage": "Manage", + "unsubscribe": "Abmelden", + "dataProtection": "Datenschutz", + "listOfErrorsInTemplates": "Liste von Fehlern in Vorlagen", + "customFormsUpdated": "Benutzerdefiniertes Formular aktualisiert", + "customFormsCreated": "Benutzerdefiniertes Formular erstellt", + "deletingForm": "Formular wird gelöscht ...", + "formDeleted": "Formular gelöscht", + "editCustomForms": "Benutzerdefiniertes Formular bearbeiten", + "createCustomForms": "Benutzerdefiniertes Formular erstellen", + "formsPreview": "Formular Vorschau", + "listToPreviewOn": "Liste für die Vorschau", + "selectListWhoseFieldsWillBeUsedToPreview": "Liste auswählen, deren Felder für die Vorschau genutzt werden soll.", + "noteTheseLinksAreSolelyForAQuickPreview": "Hinweis: Diese Links sind ausschließlich für eine schnelle Vorschau. Für die Adresse zum Abonnement Formular auf Listen Abonnenten und \"Abonnement Formular\" klicken.", + "formPreview": "Formular Vorschau:", + "refresh": "Aktualisieren", + "closePreview": "Vorschau schließen", + "templates": "Vorlagen", + "customFormsUseMjmlForFormattingSeeThe": "Benutzerdefiniertes Formular nutzen MJML zur Formatierung. Siehe MJML Dokumentation <1>hier", + "createCustomForm": "Benutzerdefiniertes Formular erstellen", + "fileMustBeSelected": "Datei muss ausgewählt werden", + "csvDelimiterMustNotBeEmpty": "CSV Trennzeichen darf nicht leer sein", + "emailMappingHasToBeProvided": "E-Mail Zuordnung muss angegeben werden", + "importSaved": "Import gespeichert", + "file": "Datei", + "delimiter": "Trennzeichen", + "preparationInProgressPleaseWaitTillItIs": "Vorbereitung läuft. Bitte warten bis der Vorgang beendet ist.", + "––Select ––": "–– Auswahl ––", + "eg": "z.B.:", + "checkImportedEmails": "Importierte E-Mails prüfen", + "mapping": "Zuordnung", + "saveAndEditSettings": "Speichern und Einstellungen bearbeiten", + "saveAndRun": "Speichern und ausführen", + "deletingImport": "Import wird gelöscht ...", + "importDeleted": "Import gelöscht", + "editImport": "Import bearbeiten", + "createImport": "Import erstellen", + "source": "Quelle", + "csvFile": "CSV Datei", + "preparing": "Vorbereiten", + "stopping": "Anhalten", + "ready": "Bereit", + "preparationFailed": "Vorbereitung fehlgeschlagen", + "running": "Läuft", + "failed": "Fehlgeschlagen", + "starting": "Wird gestartet", + "basicImportOfSubscribers": "Einfacher Import von Abonnenten", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Zuletzt ausgeführt", + "detailedStatus": "Detailierter Status", + "imports": "Import", + "row": "Zeile", + "reason": "Grund", + "importRunStatus": "Import Status", + "importName": "Import Name", + "importSource": "Import Quelle", + "runStarted": "Durchlauf gestartet", + "runFinished": "Durchlauf beendet", + "runStatus": "Durchlauf Status", + "processedEntries": "Verarbeitete Einträge", + "newEntries": "Neue Einträge", + "failedEntries": "Fehlgeschlagene Einträge", + "error": "Fehler", + "failedRows": "Fehlgeschlagene Reihen", + "started": "Gestartet", + "processed": "Verarbeitet", + "new": "Neue", + "importStatus": "Import Status", + "actions": "Aktionen", + "start": "Start", + "importRuns": "Import Durchläufe", + "segments": "Segmente", + "customForms-1": "Benutzerdefinierte Formulare", + "listName": "Liste \"{{name}}\"", + "fieldName-1": "Feld \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Durchlauf", + "customFormsName": "Benutzerdefiniertes Formular \"{{name}}\"", + "newRule": "Neue Regel", + "segmentUpdated": "Segment aktualisiert", + "segmentCreated": "Segment erstellt", + "deletingSegment": "Segment wird gelöscht ...", + "segmentDeleted": "Segment gelöscht", + "editSegment": "Segment bearbeiten", + "createSegment": "Segment erstellen", + "segmentOptions": "Segment Optionen", + "toplevelMatchType": "Toplevel Match Typ", + "addCompositeRule": "Zusammengesetze Regel hinzufügen", + "addRule": "Regel hinzufügen", + "rules": "Regeln", + "allRulesMustMatch": "Alle Regeln müssen zutreffen", + "atLeastOneRuleMustMatch": "Mindestens eine Regel muss zutreffen", + "noRuleMayMatch": "Keine Regeln darf zutreffen", + "equalTo": "Gleich", + "valueInColumnColNameIsEqualToValue": "Wert in Spalte \"{{colName}}\" gleich \"{{value}}\"", + "matchWithSqlLike": "Entspricht (mit SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Wert in Spalte \"{{colName}}\" entspricht (mit SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Entspricht (mit Regulärem Ausdruck)", + "valueInColumnColNameMatchesWithRegular": "Wert in Spalte \"{{colName}}\" entspricht (mit Regulärem Ausdruck) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetisch vor", + "valueInColumnColNameIsAlphabetically": "Wert in Spalte \"{{colName}}\" ist alphabetisch vor \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetisch vor oder gleich", + "valueInColumnColNameIsAlphabetically-1": "Wert in Spalte \"{{colName}}\" ist alphabetisch vor und gleich \"{{value}}\"", + "alphabeticallyAfter": "Alphabetisch nach", + "valueInColumnColNameIsAlphabetically-2": "Wert in Spalte \"{{colName}}\" ist alphabetisch nach \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetisch nach oder gleich", + "valueInColumnColNameIsAlphabetically-3": "Wert in Spalte \"{{colName}}\" ist alphabetisch nach oder gleich \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Wert in Spalte \"{{colName}}\" ist gleich {{value}}", + "lessThan": "Weniger als", + "valueInColumnColNameIsLessThanValue": "Wert in Spalte \"{{colName}}\" ist weniger als {{value}}", + "lessThanOrEqualTo": "Weniger als oder gleich", + "valueInColumnColNameIsLessThanOrEqualTo": "Wert in Spalte \"{{colName}}\" ist weniger oder gleich {{value}}", + "greaterThan": "Größer als", + "valueInColumnColNameIsGreaterThanValue": "Wert in Spalte \"{{colName}}\" ist größer als {{value}}", + "greaterThanOrEqualTo": "Größer als oder gleich", + "valueInColumnColNameIsGreaterThanOrEqual": "Wert in Spalte \"{{colName}}\" ist größer oder gleich {{value}}", + "on": "Am", + "dateInColumnColNameIsValue": "Datum in Reihe \"{{colName}}\" ist {{value}}", + "before": "Vor", + "dateInColumnColNameIsBeforeValue": "Datum in Spalte \"{{colName}}\" ist vor {{value}}", + "beforeOrOn": "Vor oder am", + "dateInColumnColNameIsBeforeOrOnValue": "Datum in Spalte \"{{colName}}\" ist vor oder am {{value}}", + "after": "Nach", + "dateInColumnColNameIsAfterValue": "Datum in Spalte \"{{colName}}\" ist nach {{value}}", + "afterOrOn": "Nach oder am", + "dateInColumnColNameIsAfterOrOnValue": "Darum in Spalte \"{{colName}}\" ist nach oder am {{value}}", + "onXthDayBeforeafterCurrentDate": "Am x-ten Tag vor doer nach dem aktuellen Datum", + "dateInColumnColNameIsTheCurrentDate": "Datum in Spalte \"{{colName}}\" ist das aktuelle Datum", + "dateInColumnColNameIsTheValuethDayAfter": "Datum in Spalte \"{{colName}}\" ist der {{value}}-te Tag nach dem aktuellen Datum", + "dateInColumnColNameIsTheValuethDayBefore": "Datum in Spalte \"{{colName}}\" is the {{value}}-te Tag vor dem aktuellen Datum", + "beforeXthDayBeforeafterCurrentDate": "Vor dem x-ten Tag vor oder nach dem aktuellen Datum", + "dateInColumnColNameIsBeforeTheCurrent": "Datum in Spalte \"{{colName}}\" ist vor dem aktuellen Datum", + "dateInColumnColNameIsBeforeTheValuethDay": "Datum in Spalte \"{{colName}}\" ist vor dem {{value}}-ten Tag nach dem aktuellen Datum", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Datum in Spalte \"{{colName}}\" ist vor dem {{value}}-ten Tag vor dem aktuellen Datum", + "beforeOrOnXthDayBeforeafterCurrentDate": "Vor oder am x-ten Tag vor oder nach dem aktuellen Datum", + "dateInColumnColNameIsBeforeOrOnThe": "Datum in Spalte \"{{colName}}\" ist vor oder am aktuellen Datum", + "dateInColumnColNameIsBeforeOrOnThe-1": "Datum in Spalte \"{{colName}}\" ist vor oder am {{value}}-ten Tag nach dem aktuellen Datum", + "dateInColumnColNameIsBeforeOrOnThe-2": "Datum in Spalte \"{{colName}}\" ist vor oder am {{value}}-ten Tag vor dem aktuellen Datum", + "afterXthDayBeforeafterCurrentDate": "Nach dem x-ten Tag vor oder nach dem aktuellen Tag", + "dateInColumnColNameIsAfterTheCurrentDate": "Datum in Spalte \"{{colName}}\" ist nach dem aktuellen Datum", + "dateInColumnColNameIsAfterTheValuethDay": "Datum in Spalte \"{{colName}}\" ist nach dem {{value}}-ten Tag nach aktuellen Datum", + "dateInColumnColNameIsAfterTheValuethDay-1": "Datum in Spalte \"{{colName}}\" ist nach dem {{value}}-ten Tag vor dem aktuellen Datum", + "afterOrOnXthDayBeforeafterCurrentDate": "Nach oder am x-ten Tag vor oder nach dem aktuellen Datum", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Datum in Spalte \"{{colName}}\" ist nach oder am aktuellen Datum", + "dateInColumnColNameIsAfterOrOnTheValueth": "Datum in Spalte \"{{colName}}\" ist nach oder am {{value}}-ten Tag nach dem aktuellen Datum", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Datum in Spalte \"{{colName}}\" ist nach oder am {{value}}-ten Tag vor dem aktuellen Datum", + "isSelected": "Ist ausgewählt", + "valueInColumnColNameIsSelected": "Wert in Spalte \"{{colName}}\" ist ausgewählt", + "isNotSelected": "Ist nicht ausgewählt", + "valueInColumnColNameIsNotSelected": "Wert in Spalte \"{{colName}}\" ist nicht ausgewählt", + "keyEqualTo": "Schlüssel gleich", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Schlüssel entspricht (mit SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Schlüssel alphabetisch vor", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Schlüssel alphabetisch nach", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Wert", + "valueMustNotBeEmpty": "Wert darf nicht leer sein", + "valueMustBeANumber": "Wert muss eine Nummer sein", + "numberOfDays": "Anzahl der Tage", + "beforeAfter": "Vor/Nach", + "beforeCurrentDate": "Vor dem aktuellem Datum", + "afterCurrentDate": "Nach dem aktuellem Datum", + "numberOfDaysMustNotBeEmpty": "Anzahl der Tage darf nicht leer sein", + "numberOfDaysMustBeANumber": "Anzahl der Tage muss eine Nummer sein", + "emailAddress-1": "E-Mail-Adresse", + "signupCountry": "Land der Anmeldung", + "signUpDate": "Datum der Anmeldung", + "testUser": "Test Benutzer", + "fieldMustBeSelected": "Feld muss ausgewählt werden", + "field": "Feld", + "select-1": "-- Auswahl --", + "ruleOptions": "Regel Optionen", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Ein anderes Abonnement mit der selben E-Mail-Adresse exisitert bereits.", + "subscriptionUpdated": "Abonnement aktualisiert", + "subscriptionCreated": "Abonnement erstellt", + "itSeemsThatAnotherSubscriptionWithThe": "Scheinbar wurde ein anderes Abnonnenten mit der gleichen E-Mail erstellt. Seite neu laden und mit neuen Daten beginnen. Alle Änderungen gehen verloren.", + "notSelected": "Nicht ausgewählt", + "areYouSureYouWantToDeleteSubscriptionFor": "Sicher, dass das Abonnement von \"{{email}}\" gelöscht soll?", + "deletingSubscription": "Abonnenten wird gelöscht ...", + "subscriptionDeleted": "Abonnenten gelöscht", + "editSubscription": "Abonnement bearbeiten", + "createSubscription": "Abonnement erstellen", + "timezone": "Zeitzone", + "subscriptionStatus": "Abonnement Status", + "testUser?": "Test Benutzer?", + "ifCheckedThenThisSubscriptionCanBeUsed": "Wenn ausgewählt, kann dieses Abonnement für Kampangenvorschau genutzt werden", + "subscribed": "Angemeldet", + "unubscribed": "Abgemeldet", + "erased": "[GELÖSCHT]", + "confirmUnsubscription": "Entfernung bestätigen", + "areYouSureYouWantToUnsubscribeEmail?": "Sicher, dass {{email}} entfernt werden soll?", + "unsubscribingEmail": "{{email}} wird entfernt", + "emailUnsubscribed": "{{email}} entfernt", + "confirmEmailBlacklisting": "E-Mail auf Blacklist setzen", + "areYouSureYouWantToBlacklistEmail?": "Sicher, dass {{email}} auf die Blacklist soll?", + "blacklistingEmail": "{{email}} wird hinzugefügt", + "emailBlacklisted": "{{email}} hinzugefügt", + "allSubscriptions": "Alle Abonnements", + "subscriptionForm": "Abonnement Formular", + "exportAsCsv": "Exportieren als CSV", + "addSubscriber": "Abonnent hinzufügen", + "usernameOrEmailMustNotBeEmpty": "Benutzername oder E-Mail darf nicht leer sein", + "processing": "Wird bearbeitet ...", + "ifTheUsernameEmailExistsInTheSystem": "Wenn der Benutzername/E-Mail im System existieren, wird der Link zum Zurücksetzen des Passworts an die registriete E-Mail geschickt.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Bitte Benutzername/E-Mail eingeben und erneut versuchen.", + "passwordReset": "Passwort zurücksetzen", + "pleaseProvideTheUsernameOrEmailAddress": "Bitte Benutzernamen/E-Mail des Mailtrain Account angeben .", + "weWillSendYouAnEmailThatWillAllowYouTo": "Eine E-Mail mit einem Link zum Zurücksetzen des Passworts wird verschickt.", + "usernameOrEmail": "Benutzername oder E-Mail", + "sendEmail": "E-Mail verschicken", + "userNameMustNotBeEmpty": "Benutzername darf nicht leer sein", + "passwordMustNotBeEmpty": "Passwort darf nicht leer sein", + "verifyingCredentials": "Zugangsdaten werden validiert ...", + "pleaseEnterYourCredentialsAndTryAgain": "Bitte Zugangsdaten eingeben und erneut versuchen.", + "invalidUsernameOrPassword": "Ungültiger Benutzername oder Passwort.", + "forgotYourPassword?": "Passwort vergessen?", + "signIn": "Anmelden", + "username": "Benutzername", + "password": "Passwort", + "rememberMe": "Eingeloggt bleiben", + "resettingPassword": "Passwort wird zurückgesetzt ...", + "passwordReset-1": "Passwort zurücksetzen", + "yourPasswordCannotBeReset": "Passwort konnte nicht zurückgesetzt werden.", + "thePasswordResetTokenHasExpired": "Passwort Wiederherstellungs-Token abgelaufen.", + "clickHereToRequestANewPasswordResetLink": "Hier klicken um einen neuen Link zum Zurücksetzen des Passworts anzufordern.", + "validatingPasswordResetToken": "Passwort Wiederherstellungs-Token wird validiert ...", + "thePasswordCannotBeReset": "Passwort konnte nicht zurückgesetzt werden.", + "setNewPasswordFor": "Neues Passwort setzen für", + "resetPassword": "Passwort zurücksetzen", + "parentNamespaceMustBeSelected": "Übergeordneter Namensraum muss ausgewählt sein", + "namespaceUpdated": "Namensraum aktualisiert", + "namespaceCreated": "Namensraum erstellt", + "thereHasBeenALoopDetectedInTheAssignment": "Es wirde eine Schleife in der Namensraum Zuweisung erkannt. Vermutlich hat jemand zwischenzeitlich den übergeordneten Namensraum geändert. Seite neu laden und mit neuen Daten beginnen. Alle Änderungen gehen verloren.", + "itSeemsThatTheParentNamespaceHasBeen": "Scheinbar hat jemand den Namesraum zwischenzeitlich gelöscht. Seite neu laden und mit neuen Daten beginnen. Alle Änderungen gehen verloren.", + "deletingNamespace": "Namensraum wird gelöscht ...", + "namespaceDeleted": "Namensraum gelöscht", + "editNamespace": "Namensraum bearbeiten", + "createNamespace": "Namensraum erstellen", + "parentNamespace": "Übergeordneter Nameraum", + "namespaces": "Namesräume", + "namespaceName": "Namensraum \"{{name}}\"", + "reportTemplateMustBeSelected": "Bericht Vorlage muss ausgewählt sein", + "exactlyOneItemHasToBeSelected": "Genau ein Element muss ausgewählt werden", + "atLeastCountItemsHaveToBeSelected": "Mindestens {{ count }} Element/e muss ausgewählt werden", + "atMostCountItemsCanToBeSelected": "Maximal {{ count }} Element/e können ausgewählt werden", + "reportParametersAreNotSelectedWaitFor": "Bericht Parameter nicht ausgewählt. Warten bis sie angezeigt werden und dann ausfüllen.", + "reportUpdated": "Bericht aktualisiert", + "reportCreated": "Bericht erstellt", + "unknownFieldTypeType": "Unbekannter Feld Typ \"{{type}}\"", + "deletingReport": "Bericht wird gelöscht ...", + "reportDeleted": "Bericht gelöscht", + "editReport": "Bericht bearbeiten", + "createReport": "Bericht erstellen", + "reportTemplate-1": "Bericht Vorlage", + "reportParameters": "Bericht Parameter", + "loadingReportTemplate": "Bericht Vorlage wird geladen...", + "processing-1": "Wird bearbeitet", + "view": "Anzeigen", + "refreshReport": "Bericht neu laden", + "reportGenerationFailed": "Bericht Erstellung fehlgeschlagen", + "regenerateReport": "Bericht neu generieren", + "viewConsoleOutput": "Konsolenausgabe anzeigen", + "reportTemplates": "Bericht Vorlagen", + "reports": "Berichte", + "reportName": "Bericht \"{{name}}\"", + "output": "Ausgabe", + "templateName": "Vorlage \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type muss ausgewählt werden", + "syntaxErrorInTheUserFieldsSpecification": "Syntaxfehler in der Benutzer Feld Spezifikation", + "reportTemplateUpdated": "Bericht Vorlage aktualisiert", + "reportTemplateCreated": "Bericht Vorlage erstellt", + "deletingReportTemplate": "Bericht Vorlage wird gelöscht ...", + "reportTemplateDeleted": "Bericht Vorlage gelöscht", + "editReportTemplate": "Bericht Vorlage bearbeiten", + "createReportTemplate": "Bericht Vorlage erstellen", + "csv": "CSV", + "userSelectableFields": "Benutzer auswählbare Felder", + "jsonSpecificationOfUserSelectableFields": "JSON Spezifikation für benutzer-auswählbare Felder.", + "dataProcessingCode": "Code für Datenverarbeitung", + "renderingTemplate": "Vorlage für Anzeige", + "writeTheBodyOfTheJavaScriptFunctionWith": "Body der JavaScript Funktion mit der Signatur <1>function(inputs, callback) schreiben. Das zurückgegebene Objekt wird mit Handlebars angezeigt.", + "useHtmlWithHandlebarsSyntaxSee": "Benutze HTML mit Handlebars Syntax. Siehe Dokumentation <1>hier.", + "blank": "Leer", + "openCounts": "Anzahl öffnen", + "openCountsAsCsv": "Anzahl als CSV öffnen", + "aggregatedOpenCounts": "Aggregierte geöffnet Anzahl", + "reportName-1": "Bericht {{name}}", + "loadingReport": "Bericht wird geladen ...", + "outputForReportName": "Ausgabe für Bericht {{name}}", + "loadingReportOutput": "Ausgabe wird geladen ...", + "reportIsBeingGenerated": "Bericht wird generiert ", + "reportNotGenerated": "Bericht nicht generiert", + "current": "(aktuell)", + "administration": "Administration", + "users": "Benutzer", + "globalSettings": "Einstellungen", + "sendConfigurations": "Versandeinstellungen", + "logOut": "Abmelden", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer Typ muss ausgewählt werden", + "verpHostnameMustNotBeEmpty": "VERP hostname darf nicht leer sein", + "sendConfigurationUpdated": "Versand Konfiguration aktualisiert", + "sendConfigurationCreated": "Versand Konfiguration erstellt", + "deletingSendConfiguration": "Versand Konfiguration wird gelöscht ...", + "sendConfigurationDeleted": "Versand Konfiguration gelöscht", + "editSendConfiguration": "Versand Konfiguration bearbeiten", + "createSendConfiguration": "Versand Konfiguration erstellen", + "emailHeader": "E-Mail Header", + "defaultFromEmail": "Standard \"from\" E-Mail", + "overridable": "Übberschreibar", + "defaultFromName": "Standard \"from\" Name", + "defaultReplytoEmail": "Standard \"reply-to\" E-Mail ", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP Status", + "serverHostname": "Server Hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} darf nicht leer sein", + "labelMustBeANumber": "{{label}} muss eine Nummer sein", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Keine Verschlüsselung benutzen", + "useTls –UsuallySelectedForPort465": "TLS benutzen – normalerweise für Port 465", + "useStarttls –UsuallySelectedForPort587": "STARTTLS benutzen – normalerweise ü Port 587 und 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Einstellungen", + "mailerType": "Mailer Typ", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, bsp. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, bsp. 465. Automatische Erkennung wenn leer", + "encryption": "Verschlüsselung", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Benutzername, bsp. myaccount@example.com", + "advancedMailerSettings": "Erweiterte Mailer Einstellungen", + "logSmtpTransactions": "SMTP Transaktionen loggen", + "allowSelfsignedCertificates": "Self-Signed Zertifikate erlauben", + "maxConnections": "Maximale Verbindungen", + "theCountOfMaxConnectionsEg10": "Anzahl der maximalen Verbindungen, bsp. 10", + "theCountOfMaximumSimultaneousConnections": "Anzahl der maximalen gleichzeitigen SMTP Verbidungen (Standardwert ist 5). Limit per Versandprozess.", + "maxMessages": "Maximale Nachrichten", + "theCountOfMaxMessagesEg100": "Anzahl der maximalen Nachrichten, bsp. 100", + "theNumberOfMessagesToSendThroughASingle": "Die Anzahl der Nachrichten, die über eine Verbindung verschickt werden, bis diese erneut geöffnet wird (Standardwert ist 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Nachrichten per Stunde, bsp. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamische Konfiguration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "accessSecret": "Access Secret", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Versand Konfigurationen", + "globalSettingsSaved": "Einstellungen gespeichert", + "adminEmail": "Admin E-Mail", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default Homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Google Analytics Tracking Code eingeben", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private Key Passwort", + "passphraseForTheKeyIfSet": "Passwort für den Key, wenn gesetzt", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Nur ausfüllen, wenn der Private Key ein Passwort hat", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "Benutzer darf nicht leer sein", + "roleMustBeSelected": "Rolle muss ausgewählt werden", + "role": "Rolle", + "unshare": "Unshare", + "confirmUnsharing": "Unsharing bestätigen", + "areYouSureYouWantToRemoveTheShareToUser": "Sicher, dass das Share vom Benutzer \"{{username}}\" entfernt werden soll?", + "removingShareForUserUsername": "Share für Benutzer\"{{username}}\" wird entfernt", + "shareForUserUsernameRemoved": "Share für Benutzer \"{{username}}\" entfernt", + "addUser": "Benutzer hinzufügen", + "user": "Benutzer", + "existingUsers": "Bestehende Benutzer", + "areYouSureYouWantToRemoveTheSharingOfThe": "Soll das Teilen von {{typeName}} \"{{name}}\" entfernt werden?", + "removingSharingOfTheTypeNameName": "Teilen von {{typeName}} \"{{name}}\" wird entfernt", + "sharingOfTheTypeNameNameRemoved": "Teilen vor {{typeName}} \"{{name}}\" entfernt", + "sharesForUserUsername": "Shares des Benutzers \"{{username}}\"", + "namespace-1": "Namesraum", + "list-1": "Liste", + "template-1": "Vorlage", + "mosaicoTemplates": "Mosaico Vorlagen", + "campaign-1": "Kampagne", + "customForms-2": "Benutzerdefinierte Formulare", + "report-1": "Bericht", + "reportTemplate-2": "Bericht Vorlage", + "sendConfiguration-1": "Versand Konfiguration", + "sourceTemplateMustNotBeEmpty": "Vorlagenquelle darf nicht leer sein", + "templateUpdated": "Vorlage aktualisiert", + "templateCreated": "Vorlage erstellt", + "deletingTemplate": "Vorlage wird gelöscht ...", + "templateDeleted": "Vorlage gelöscht", + "editTemplate": "Vorlage bearbeiten", + "createTemplate": "Vorlage erstellen", + "cloneFromAnExistingTemplate": "Kopieren von einer bestehenden Vorlage", + "cloneFromAnExistingCustomForms": "Kopieren von einem benutzerdefinierten Formular", + "mosaico": "Mosaico", + "templateContentHtml": "Vorlageninhalt (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico Vorlage muss ausgewählt werden", + "mosaicoWithPredefinedTemplates": "Mosaico mit vordefinierten Vorlagen", + "mosaicoTemplate-1": "Mosaico Vorlage", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge-Tag-Referenz", + "templateContentPlainText": "Vorlage Inhalt (Klartext)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS Eintrag Titel", + "rssEntryDate": "RSS Eintrag Datum", + "rssEntryLink": "RSS Eintrag Link", + "contentOfAnRssEntry": "Inhalt eines RSS Eintrag", + "rssEntrySummary": "RSS Eintrag Zusammenfassung", + "rssEntryImageUrl": "RSS Eintrag Bild URL", + "toExtractTheTextFromHtmlClickHerePlease": "<1>Hier klicken den Text aus dem HTML zu extrahieren. Hinweis: der bestehende Klartext wird überschrieben.", + "mosaicoTemplateUpdated": "Mosaico Vorlage aktualisiert", + "mosaicoTemplateCreated": "Mosaico Vorlage erstellt", + "deletingMosaicoTemplate": "Mosaico Vorlage wird gelöscht ...", + "mosaicoTemplateDeleted": "Mosaico Vorlage gelöscht", + "editMosaicoTemplate": "Mosaico Vorlage bearbeiten", + "createMosaicoTemplate": "Mosaico Vorlage erstellen", + "invalidMjml": "MJML ungültig", + "mjmlIsValid": "MJML gültig.", + "invalidMjml-1": "MJML ungültig.", + "templateContent": "Vorlage Inhalt", + "validate": "Validieren", + "blockThumbnails": "Thumbnails der Blöcke", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Beispiel", + "mosaicoTemplateName": "Mosaico Vorlage \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "Diese Dateien sind öffentlich via HTTP erreichbar, so das sie in der Mosaico Vorlage verlinkt werden können.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Versand Konfiguration muss ausgewählt werden.", + "listHasToBeSelected": "Liste muss ausgewählt werden.", + "theUserNameAlreadyExistsInTheSystem": "Dieser Benutzername existiert bereits.", + "userUpdated": "Benutzer aktualisiert", + "userCreated": "Benutzer erstellt", + "theUsernameIsAlreadyAssignedToAnother": "Benutzername bereits einem anderen Benutzer zugeordnet", + "theEmailIsAlreadyAssignedToAnotherUser-1": "E-Mail bereits einem anderen Benutzer zugeordnet", + "deletingUser": "Benutzer wird gelöscht ...", + "userDeleted": "Benutzer gelöscht", + "editUser": "Benutzer bearbeiten", + "createUser": "Benutzer erstellen", + "userName": "Benutzername", + "repeatPassword": "Passwort wiederholen", + "deleteUser": "Benutzer löschen", + "userName-1": "Benutzer \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Abonnement bestätigt", + "listEmailAddressAlreadyRegistered": "{{list}}: E-Mail-Adresse bereits registriert", + "listPleaseConfirmEmailChangeIn": "{{list}}: Bitte E-Mail Änderung bestätigen", + "pleaseConfirmSubscription": "Abonnement bestätigen", + "listPleaseConfirmUnsubscription": "{{list}}: Abbestellung bestätigen", + "listUnsubscriptionConfirmed": "{{list}}: Abbestellung bestätigt", + "invalidEmailAddressEmailMxRecordNotFound": "Ungültige E-Mail-Adresse \"{{email}}\": Kein MX-Record für Domain gefunden", + "invalidEmailAddressEmailAddressDomainNot": "Ungültige E-Mail-Adresse \"{{email}}\": Domainadresse nicht gefunden", + "invalidEmailAddressEmailAddressDomain": "Ungültige E-Mail-Adresse \"{{email}}\": Domainadresse wird benötigt", + "invalidEmailAddressEmail": "Ungültige E-Mail-Adresse \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer Passwortänderung Anfrage", + "mailtrain": "Mailtrain", + "emailAddressChanged": "E-Mail-Adresse geändert", + "emailAddressNotSet": "E-Mail-Adresse nicht eingestellt", + "nothingSeemsToBeChanged": "Keine Änderungen wurden vorgenommen", + "anEmailWithFurtherInstructionsHasBeen": "Eine E-Mail mit weiteren Anweisungen wurde an die Adresse verschickt", + "foundAddedMessagesNewCampaignMessages": "{{addedMessages}} neue Kampangennachrichten gefunden, via Feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Keine Neuigkeiten in diesem Feed", + "missingEmail": "Fehlende E-Mail", + "emailAddress-2": "E-Mail-Adresse", + "wantToChangeIt?": "Ändern?", + "downloadSignatureVerificationKey": "Signatur-Verifikationsschlüssel herunterladen", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Beginnt mit '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Öffentlichen GPG Schlüssel hier einfügen, um Verschlüsselte Nachrichten zu empfangen (optional)", + "existingEmailAddress": "Bestehende E-Mail-Adresse", + "newEmailAddress": "Neue E-Mail-Adresse", + "youWillReceiveAConfirmationRequestToYour": "Eine Bestätigungsanfrage wurde an die neue E-Mail-Adresse geschickt, die akzeptiert werden muss bevor die Adresse geändert wird.", + "updateEmailAddress": "E-Mail-Adresse aktualisieren", + "updateProfile": "Profil aktualisieren", + "subscribeToList": "Liste abonnieren", + "thePasswordMustBeAtLeastMinLength": "Das Passwort muss mindestens {{ minLength }} Zeichen lang sein", + "thePasswordMustBeFewerThanMaxLength": "Das Passwort muss weniger als {{ maxLength }} Zeichen haben", + "thePasswordMayNotContainSequencesOfThree": "Das Passwort darf keine sich wiederholenden Zeichenketten (drei oder mehr) haben", + "thePasswordMustContainAtLeastOne": "Das Passwort muss mindestens ein kleingeschriebenes Zeichen enthalten", + "thePasswordMustContainAtLeastOne-1": "Das Passwort muss mindestens ein großgeschriebenes Zeichen enthalten", + "thePasswordMustContainAtLeastOneNumber": "Das Passwort muss mindestens eine Nummer enthalten", + "thePasswordMustContainAtLeastOneSpecial": "Das Passwort muss mindestens ein Sonderzeichen enthalten", + "tagLanguage": "Tag Sprache", + "tagLanguageMustBeSelected": "Tag Sprache muss ausgewählt werden", + "helpText": "Hilfe-Text", + "dTsEmptyTable": "Keine Daten in der Tabelle vorhanden", + "dTsInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", + "dTsInfoEmpty": "Keine Daten vorhanden", + "dTsInfoFiltered": "(gefiltert von _MAX_ Einträgen)", + "dTsInfoPostFix": "", + "dTsInfoThousands": ".", + "dTsLengthMenu": "_MENU_ Einträge anzeigen", + "dTsLoadingRecords": "Wird geladen ...", + "dTsProcessing": "Bitte warten ...", + "dTsSearch": "Suchen", + "dTsZeroRecords": "Keine Einträge vorhanden", + "dTsFirst": "Erste", + "dTsLast": "Zurück", + "dTsNext": "Nächste", + "dTsPrevious": "Vorherige", + "dTsSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", + "dTsSortDescending": ": aktivieren, um Spalte absteigend zu sortieren", + "saving": "Speichern ...", + "channelUpdated": "Channel updated", + "channelCreated": "Channel created", + "deletingChannel": "Deleting channel ...", + "channelDeleted": "Channel deleted", + "editChannel": "Edit Channel", + "createChannel": "Create Channel", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "save": "Save", + "saveAndLeave": "Save and leave", + "channels": "Channels", + "channel": "Channel", + "channelName": "Channel \"{{name}}\"", + "cloneCampaign": "Clone Campaign", + "next": "Next", + "selectCampaignToBeCloned": "Select campaign to be cloned." +} diff --git a/locales/en-US-last-run/common.json b/locales/en-US-last-run/common.json new file mode 100644 index 00000000..d0895587 --- /dev/null +++ b/locales/en-US-last-run/common.json @@ -0,0 +1,1029 @@ +{ + "emailMustNotBeEmpty": "Email must not be empty.", + "invalidEmailAddress": "Invalid email address.", + "theEmailIsAlreadyAssociatedWithAnother": "The email is already associated with another user in the system.", + "validationIsInProgress": "Validation is in progress...", + "fullNameMustNotBeEmpty": "Full name must not be empty", + "currentPasswordMustNotBeEmpty": "Current password must not be empty.", + "incorrectPassword": "Incorrect password.", + "passwordsMustMatch": "Passwords must match", + "updatingUserProfile": "Updating user profile ...", + "userProfileUpdated": "User profile updated", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "personalAccessToken": "Personal access token", + "accessTokenNotYetGenerated": "Access token not yet generated", + "api": "API", + "resetAccessToken": "Reset Access Token", + "generateAccessToken": "Generate Access Token", + "notesAboutTheApi": "Notes about the API", + "addSubscription": "Add subscription", + "thisApiCallEitherInsertsANewSubscription": "This API call either inserts a new subscription or updates existing. Fields not included are left as is, so if you update only LAST_NAME value, then FIRST_NAME is kept untouched for an existing subscription.", + "arguments": "arguments", + "yourPersonalAccessToken": "your personal access token", + "subscribersEmailAddress": "subscriber's email address", + "required": "required", + "subscribersFirstName": "subscriber's first name", + "subscribersLastName": "subscriber's last name", + "subscribersTimezoneEgEuropeTallinnPstOr": "subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not set defaults to \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "custom field value. Use yes/no for option group values (checkboxes, radios, drop downs)", + "additionalPostArguments": "Additional POST arguments", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Example", + "removeSubscription": "Remove subscription", + "thisApiCallMarksASubscriptionAs": "This API call marks a subscription as unsubscribed", + "deleteSubscription": "Delete subscription", + "thisApiCallDeletesASubscription": "This API call deletes a subscription", + "addNewCustomField": "Add new custom field", + "thisApiCallCreatesANewCustomFieldForA": "This API call creates a new custom field for a list.", + "fieldName": "field name", + "oneOfTheFollowingTypes": "one of the following types:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "If the type is 'option' then you also need to specify the parent element ID", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Start position", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "optional, default 10000", + "filterByPartOfEmail": "filter by part of email", + "optionalDefault": "optional, default \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "email address", + "deleteEmailFromBlacklist": "Delete email from blacklist", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template/subject variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaign updated", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "save": "Save", + "saveAndLeave": "Save and leave", + "copy": "Copy", + "saveAndGoToStatus": "Save and go to status", + "testSend": "Test send", + "createRegularCampaign": "Create Regular Campaign", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignCreated": "Campaign created", + "rssFeedUrl": "RSS Feed Url", + "name": "Name", + "id": "ID", + "subscribers": "Subscribers", + "description": "Description", + "namespace": "Namespace", + "namespace_plural": "Namespaces", + "remove": "Remove", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Lists", + "addList": "Add list", + "type": "Type", + "created": "Created", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaign", + "campaign_plural": "Campaigns", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Send settings", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "saveAndEditContent": "Save and edit content", + "delete": "Delete", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "sending": "Sending", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "campaigns": "Campaigns", + "countries": "Countries", + "devices": "Devices", + "campaignName": "Campaign \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Opened", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Device type", + "count": "Count", + "unknown": "Unknown", + "distributionByCountry": "Distribution by country", + "country": "Country", + "detailedStatistics": "Detailed Statistics", + "listOfSubscribersThatOpenedTheCampaign": "List of subscribers that opened the campaign", + "subscriptionHasToBeSelectedToShowThe": "Subscription has to be selected to show the campaign for a test user.", + "previewCampaignAs": "Preview campaign as", + "preview": "Preview", + "dateMustNotBeEmpty": "Date must not be empty", + "dateIsInvalid": "Date is invalid", + "timeMustNotBeEmpty": "Time must not be empty", + "timeIsInvalid": "Time is invalid", + "confirmLaunch": "Confirm launch", + "doYouWantToLaunchTheCampaign?": "Do you want to launch the campaign?", + "confirmReset": "Confirm reset", + "doYouWantToResetTheCampaign?All": "Do you want to reset the campaign? All statistics and the track of delivered messages will be lost.", + "no": "No", + "yes": "Yes", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24HourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerCreated": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "daysAfter": "Days after", + "welcomeToMailtrain": "Welcome to Mailtrain...", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "areYouSureYouWantToDeleteTheFile?": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace must be selected", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Send test e-mail", + "showHtml": "Show HTML", + "maximizeEditor": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "hidePreview": "Hide preview", + "showPreview": "Show preview", + "showMjml": "Show MJML", + "countEntriesSelected": "{{ count }} entries selected.", + "customFormMustBeSelected": "Custom form must be selected", + "listUpdated": "List updated", + "listCreated": "List created", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errorOnLineLine": "Error on line {{ line }}", + "fieldUpdated": "Field updated", + "fieldCreated": "Field created", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "fields": "Fields", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "customFormsUpdated": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "refresh": "Refresh", + "closePreview": "Close preview", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "failed": "Failed", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "imports": "Imports", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Custom Forms", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentUpdated": "Segment updated", + "segmentCreated": "Segment created", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Test user", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "subscriptionUpdated": "Subscription updated", + "subscriptionCreated": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Forgot your password?", + "signIn": "Sign in", + "username": "Username", + "password": "Password", + "rememberMe": "Remember me", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceUpdated": "Namespace updated", + "namespaceCreated": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Report updated", + "reportCreated": "Report created", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Report template updated", + "reportTemplateCreated": "Report template created", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "current": "(current)", + "administration": "Administration", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "accessSecret": "Access Secret", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Send Configurations", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "unshare": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "namespace", + "list-1": "list", + "template-1": "template", + "mosaicoTemplates": "Mosaico Templates", + "campaign-1": "campaign", + "customForms-2": "custom forms", + "report-1": "report", + "reportTemplate-2": "report template", + "sendConfiguration-1": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateCreated": "Template created", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from an existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten. This feature uses the <3>Premailer API, a third party service. Their Terms of Service and Privacy Policy apply.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "invalidMjml": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "templateContent": "Template content", + "validate": "Validate", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userUpdated": "User updated", + "userCreated": "User created", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character" +} diff --git a/locales/en-US/common.json b/locales/en-US/common.json new file mode 100644 index 00000000..25510369 --- /dev/null +++ b/locales/en-US/common.json @@ -0,0 +1,1075 @@ +{ + "emailMustNotBeEmpty": "Email must not be empty.", + "invalidEmailAddress": "Invalid email address.", + "theEmailIsAlreadyAssociatedWithAnother": "The email is already associated with another user in the system.", + "validationIsInProgress": "Validation is in progress...", + "fullNameMustNotBeEmpty": "Full name must not be empty", + "currentPasswordMustNotBeEmpty": "Current password must not be empty.", + "incorrectPassword": "Incorrect password.", + "passwordsMustMatch": "Passwords must match", + "updatingUserProfile": "Updating user profile ...", + "userProfileUpdated": "User profile updated", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "personalAccessToken": "Personal access token", + "accessTokenNotYetGenerated": "Access token not yet generated", + "api": "API", + "resetAccessToken": "Reset Access Token", + "generateAccessToken": "Generate Access Token", + "notesAboutTheApi": "Notes about the API", + "addSubscription": "Add subscription", + "thisApiCallEitherInsertsANewSubscription": "This API call either inserts a new subscription or updates existing. Fields not included are left as is, so if you update only LAST_NAME value, then FIRST_NAME is kept untouched for an existing subscription.", + "arguments": "arguments", + "yourPersonalAccessToken": "your personal access token", + "subscribersEmailAddress": "subscriber's email address", + "required": "required", + "requiredClientSideValidation": "Required (client-side validation only)", + "subscribersFirstName": "subscriber's first name", + "subscribersLastName": "subscriber's last name", + "subscribersTimezoneEgEuropeTallinnPstOr": "subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not set defaults to \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "custom field value. Use yes/no for option group values (checkboxes, radios, drop downs)", + "additionalPostArguments": "Additional POST arguments", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Example", + "removeSubscription": "Remove subscription", + "thisApiCallMarksASubscriptionAs": "This API call marks a subscription as unsubscribed", + "deleteSubscription": "Delete subscription", + "thisApiCallDeletesASubscription": "This API call deletes a subscription", + "addNewCustomField": "Add new custom field", + "thisApiCallCreatesANewCustomFieldForA": "This API call creates a new custom field for a list.", + "fieldName": "field name", + "oneOfTheFollowingTypes": "one of the following types:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "If the type is 'option' then you also need to specify the parent element ID", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Start position", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "optional, default 10000", + "filterByPartOfEmail": "filter by part of email", + "optionalDefault": "optional, default \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "email address", + "deleteEmailFromBlacklist": "Delete email from blacklist", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "getListsInNamespace": "Get the lists in a namespace", + "retrieveTheListsThatTheNamespaceHas": "Retrieve the lists that the namespace with :namespaceId has.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance. If omitted, the default system send configuration is used.", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaign updated", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "save": "Save", + "saveAndLeave": "Save and leave", + "copy": "Copy", + "saveAndGoToStatus": "Save and go to status", + "testSend": "Test send", + "createRegularCampaign": "Create Regular Campaign", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignCreated": "Campaign created", + "rssFeedUrl": "RSS Feed Url", + "name": "Name", + "id": "ID", + "subscribers": "Subscribers", + "description": "Description", + "namespace": "Namespace", + "namespace_plural": "Namespaces", + "remove": "Remove", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Lists", + "addList": "Add list", + "type": "Type", + "created": "Created", + "updated": "Updated", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaign", + "campaign_plural": "Campaigns", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself. Example: http://www.example.com/foo", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Send settings", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "saveAndEditContent": "Save and edit content", + "delete": "Delete", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "sending": "Sending", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "campaigns": "Campaigns", + "countries": "Countries", + "devices": "Devices", + "campaignName": "Campaign \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Opened", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Device type", + "count": "Count", + "unknown": "Unknown", + "distributionByCountry": "Distribution by country", + "country": "Country", + "detailedStatistics": "Detailed Statistics", + "listOfSubscribersThatOpenedTheCampaign": "List of subscribers that opened the campaign", + "subscriptionHasToBeSelectedToShowThe": "Subscription has to be selected to show the campaign for a test user.", + "previewCampaignAs": "Preview campaign as", + "preview": "Preview", + "dateMustNotBeEmpty": "Date must not be empty", + "dateIsInvalid": "Date is invalid", + "timeMustNotBeEmpty": "Time must not be empty", + "timeIsInvalid": "Time is invalid", + "confirmLaunch": "Confirm launch", + "doYouWantToLaunchTheCampaign?": "Do you want to launch the campaign?", + "confirmReset": "Confirm reset", + "doYouWantToResetTheCampaign?All": "Do you want to reset the campaign? All statistics and the track of delivered messages will be lost.", + "no": "No", + "yes": "Yes", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24HourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerCreated": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "daysAfter": "Days after", + "welcomeToMailtrain": "Welcome to Mailtrain...", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "areYouSureYouWantToDeleteTheFile?": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace must be selected", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Send test e-mail", + "showHtml": "Show HTML", + "maximizeEditor": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "hidePreview": "Hide preview", + "showPreview": "Show preview", + "showMjml": "Show MJML", + "countEntriesSelected": "{{ count }} entries selected.", + "customFormMustBeSelected": "Custom form must be selected", + "listUpdated": "List updated", + "listCreated": "List created", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "deleteList": "Delete List", + "createListDescription": "Creates a new list of subscribers.", + "deleteListDescription": "Deletes a list of subscribers.", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errorOnLineLine": "Error on line {{ line }}", + "fieldUpdated": "Field updated", + "fieldCreated": "Field created", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "fields": "Fields", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "customFormsUpdated": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "refresh": "Refresh", + "closePreview": "Close preview", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "failed": "Failed", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "imports": "Imports", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Custom Forms", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentUpdated": "Segment updated", + "segmentCreated": "Segment created", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Test user", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "subscriptionUpdated": "Subscription updated", + "subscriptionCreated": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Forgot your password?", + "signIn": "Sign in", + "username": "Username", + "password": "Password", + "rememberMe": "Remember me", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceUpdated": "Namespace updated", + "namespaceCreated": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Report updated", + "reportCreated": "Report created", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Report template updated", + "reportTemplateCreated": "Report template created", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "current": "(current)", + "administration": "Administration", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "accessSecret": "Access Secret", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Send Configurations", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "unshare": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "namespace", + "list-1": "list", + "template-1": "template", + "mosaicoTemplates": "Mosaico Templates", + "campaign-1": "campaign", + "customForms-2": "custom forms", + "report-1": "report", + "reportTemplate-2": "report template", + "sendConfiguration-1": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateCreated": "Template created", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "invalidMjml": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "templateContent": "Template content", + "validate": "Validate", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userUpdated": "User updated", + "userCreated": "User created", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character", + "tagLanguage": "Tag language", + "tagLanguageMustBeSelected": "Tag language must be selected", + "helpText": "Help text", + "dTsEmptyTable": "No data available in table", + "dTsInfo": "Showing _START_ to _END_ of _TOTAL_ entries", + "dTsInfoEmpty": "Showing 0 to 0 of 0 entries", + "dTsInfoFiltered": "(filtered from _MAX_ total entries)", + "dTsInfoPostFix": "", + "dTsInfoThousands": ",", + "dTsLengthMenu": "Show _MENU_ entries", + "dTsLoadingRecords": "Loading...", + "dTsProcessing": "Processing...", + "dTsSearch": "Search:", + "dTsZeroRecords": "No matching records found", + "dTsFirst": "Firs", + "dTsLast": "Last", + "dTsNext": "Next", + "dTsPrevious": "Previous", + "dTsSortAscending": ": activate to sort column ascending", + "dTsSortDescending": ": activate to sort column descending", + "saving": "Saving ...", + "channelUpdated": "Channel updated", + "channelCreated": "Channel created", + "deletingChannel": "Deleting channel ...", + "channelDeleted": "Channel deleted", + "editChannel": "Edit Channel", + "createChannel": "Create Channel", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "save": "Save", + "saveAndLeave": "Save and leave", + "channels": "Channels", + "channel": "Channel", + "channelName": "Channel \"{{name}}\"", + "cloneCampaign": "Clone Campaign", + "next": "Next", + "selectCampaignToBeCloned": "Select campaign to be cloned." +} diff --git a/locales/es-ES/common.json b/locales/es-ES/common.json new file mode 100644 index 00000000..341d60e6 --- /dev/null +++ b/locales/es-ES/common.json @@ -0,0 +1,1099 @@ +{ + "emailMustNotBeEmpty": "El email no debe estar vacío.", + "invalidEmailAddress": "Email inválido.", + "theEmailIsAlreadyAssociatedWithAnother": "El email ya está asociado a otro usuario del sistema.", + "validationIsInProgress": "Validación en progreso...", + "fullNameMustNotBeEmpty": "El nombre completo no debe estar vacío.", + "currentPasswordMustNotBeEmpty": "La contraseña actual no debe estar vacía.", + "incorrectPassword": "Contraseña incorrecta.", + "passwordsMustMatch": "Las contraseñas deben coincidir", + "updatingUserProfile": "Actualizando perfil del usuario ...", + "userProfileUpdated": "Perfil del usuario actualizado", + "thereAreErrorsInTheFormPleaseFixThemAnd": "Hay errores en el formulario. Por favor, arréglalos y vuelve a enviar el formulario.", + "yourUpdatesCannotBeSaved": "Tus actualizaciones no pudieron guardarse.", + "thePasswordIsIncorrectPossiblyJust": "Tu contraseña es incorrecta (probablemente la cambiaras en otra ventana/sesión). Introduce la correcta y vuélvelo a intentar.", + "theEmailIsAlreadyAssignedToAnotherUser": "Este email ya está asignado a otro usuario. Introduce otro email y vuélvelo a intentar.", + "account": "Cuenta", + "generalSettings": "Ajustes Generales", + "fullName": "Nombre completo", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "Esta dirección se utilizará para recuperar tu cuenta en el caso de que pierdas tu contraseña", + "passwordChange": "Cambiar Contraseña", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "Sólo necesitas rellenar este formulario si quieres cambiar tu contraseña actual", + "currentPassword": "Contraseña actual", + "newPassword": "Contraseña nueva", + "confirmPassword": "Confirma contraseña", + "update": "Actualizar", + "accountManagementIsNotPossibleBecause": "No es posible gestionar las cuentas de usuario porque Mailtrain está configurado para usar usuarios externos.", + "ifYouWantToChangeThePasswordUseThisLink": "Si quieres cambiar tu contraseña, usa <1>este enlace.", + "personalAccessToken": "Token de acceso personal", + "accessTokenNotYetGenerated": "El token de acceso aun no se ha generado", + "api": "API", + "resetAccessToken": "Reiniciar token de acceso", + "generateAccessToken": "Generar token de acceso", + "notesAboutTheApi": "Notas sobre la API", + "addSubscription": "Añadir suscripcion", + "thisApiCallEitherInsertsANewSubscription": "Esta llamada a la API inserta una nueva suscripción o actualiza las existentes. Los campos no incluidos se dejan como están, por lo que si actualiza solo el valor de LAST_NAME, FIRST_NAME se mantiene intacto para una suscripción existente.", + "arguments": "argumentos", + "yourPersonalAccessToken": "tu token de acceso personal", + "subscribersEmailAddress": "email del suscriptor", + "required": "requerido", + "requiredClientSideValidation": "Obligatorio (solo validación del lado del cliente)", + "subscribersFirstName": "nombre del suscriptor", + "subscribersLastName": "apellidos del suscriptor", + "subscribersTimezoneEgEuropeTallinnPstOr": "zona horaria del suscriptor (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). Si no, asigna por defecto a \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valor de campo personalizado. Usa si/no para opciones grupales (checkboxes, radios, drop downs)", + "additionalPostArguments": "argumentos POST adicionales", + "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", + "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", + "example": "Ejemplo", + "removeSubscription": "Eliminar suscripción", + "thisApiCallMarksASubscriptionAs": "Esta llamada a la API marca una suscricion como desuscrita", + "deleteSubscription": "Borrar suscripción", + "thisApiCallDeletesASubscription": "Esta llamada a la API borra una suscripción", + "addNewCustomField": "Añadir un campo personalizado", + "thisApiCallCreatesANewCustomFieldForA": "Esta llamada a la API crea un nuevo campo personalizado para una lista.", + "fieldName": "Nombre del campo", + "oneOfTheFollowingTypes": "uno de los siguientes tipos:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Si el tipo es 'opción' entonces también necesitas especificar el ID del elemento padre", + "templateForTheGroupElementIfNotSetThen": "Template for the group element. If not set, then values of the elements are joined with commas", + "ifNotVisibleThenTheSubscriberCanNotView": "if not visible then the subscriber can not view or modify this value at the profile page", + "getListOfBlacklistedEmails": "Get list of blacklisted emails", + "thisApiCallGetListOfBlacklistedEmails": "This API call get list of blacklisted emails.", + "startPosition": "Empezar posición", + "optionalDefault0": "optional, default 0", + "limitEmailsCountInResponse": "limit emails count in response", + "optionalDefault10000": "opcional, por defecto 10000", + "filterByPartOfEmail": "filtrar por parte del email", + "optionalDefault": "opcional, por defecto \"\"", + "addEmailToBlacklist": "Add email to blacklist", + "thisApiCallEitherAddEmailsToBlacklist": "This API call either add emails to blacklist", + "emailAddress": "dirección de correo", + "deleteEmailFromBlacklist": "Borrar email de la lista negra", + "thisApiCallEitherDeleteEmailsFrom": "This API call either delete emails from blacklist", + "getTheListsAUserHasSubscribedTo": "Get the lists a user has subscribed to", + "retrieveTheListsThatTheUserWithEmailHas": "Retrieve the lists that the user with :email has subscribed to.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "triggerFetchOfACampaign - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "forcesTheRssFeedCheckToImmediatelyCheck - TODO: update line above and then delete this line to mark that the translation has been fixed": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Send transactional email", + "sendSingleEmailByTemplateWithGiven": "Send single email by template with given templateId", + "sendSingleEmailByTemplateWithGiven - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID of configuration used to create mailer instance", + "subject": "Subject", + "dataPassedToTemplateWhenCompilingWith": "Data passed to template when compiling with Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Map of template/subject variables to replace", + "apiResponseIsAJsonStructureWithErrorAnd": "API response is a JSON structure with <1>error and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Guardando ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "campaignUpdated": "Campaña actualizada", + "editCustomContent": "Editar Contenido Personalizado", + "customTemplateEditor": "Editor de plantillas personalizado", + "save": "Guardar", + "saveAndLeave": "Guardar y salir", + "copy": "Copiar", + "saveAndGoToStatus": "Guardar e ir a estado", + "testSend": "Enviar test", + "createRegularCampaign": "Crear Campaña Regular", + "createRssCampaign": "Crear Campaña RSS", + "createTriggeredCampaign": "Crear Campaña Triggered", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Plantilla", + "template_plural": "Plantillas", + "customContentClonedFromTemplate": "Contenido personalizado clonado desde la plantilla", + "customContentClonedFromAnotherCampaign": "Contenido personalizado clonado desde otro campaña", + "customContent": "Contenido personalizado", + "url": "URL", + "nameMustNotBeEmpty": "El nombre no puede estar vacío", + "sendConfigurationMustBeSelected": "Configuración del envío debe ser serleccionada", + "fromEmailMustNotBeEmpty": "\"From\" email no puede estar vacío", + "templateMustBeSelected": "La plantilla debe ser seleccionada", + "campaignMustBeSelected": "La campaña debe ser seleccionada", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "La URL no puede estar vacía", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "La lista debe desr seleccionada", + "segmentMustBeSelected": "El segmento debe ser seleccionado", + "campaignCreated": "Campaña creada", + "rssFeedUrl": "RSS Feed Url", + "name": "Nombre", + "id": "ID", + "subscribers": "Suscriptores", + "description": "Descripción", + "namespace": "Espacio de nombres", + "namespace_plural": "Espacios de nombres", + "remove": "Eliminar", + "insertNewEntryBeforeThisOne": "Insertar nueva entrada antes de ésta", + "moveUp": "Mover arriba", + "moveDown": "Mover abajo", + "list": "Lista", + "list_plural": "Listas", + "segment": "Segmento", + "useAParticularSegment": "Use a particular segment", + "lists": "Listas", + "addList": "Añadir lista", + "type": "Tipo", + "created": "Creado", + "override": "Sobreescribir", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Cargando configuración de envío ...", + "contentSource": "Fuente de contenido", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaña", + "campaign_plural": "Campañas", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "deletingCampaign": "Borrando campaña ...", + "campaignDeleted": "Campaña borrada", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendSettings": "Ajustes de envío", + "sendConfiguration": "Configuración de envío", + "sendConfiguration_plural": "Configuraciones de envío", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "tracking": "Tracking", + "tracking - TODO: update line above and then delete this line to mark that the translation has been fixed": "Tracking", + "disableOpenedTracking": "Desactivar seguimiento de correos abiertos", + "disableClickedTracking": "Desactivar seguimiento de clicks", + "saveAndEditContent": "Guardar y editar contenido", + "delete": "Borrar", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Idle", + "scheduled": "Programada", + "paused": "Pausada", + "finished": "Finalizada", + "inactive": "Inactiva", + "active": "Activa", + "sending": "Enviando", + "status": "Estado", + "sendingScheduled": "Sending scheduled", + "statistics": "Estadísticas", + "edit": "Editar", + "content": "Contentido", + "files": "Archivos", + "attachments": "Adjuntos", + "triggers": "Triggers", + "share": "Compartir", + "createCampaign": "Crear Campaña", + "campaigns": "Campañas", + "countries": "Paises", + "devices": "Dispositivos", + "campaignName": "Campaña \"{{name}}\"", + "delivered": "Delivered", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "bounced": "Bounced", + "emailsThatBounced": "Emails that Bounced", + "unsubscribed": "Unsubscribed", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "opened": "Abiertos", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Crear", + "campaignStatistics": "Estadísticas de la Campaña", + "total": "Total", + "blacklisted": "Blacklisted", + "complaints": "Complaints", + "clicked": "Clicked", + "quickReports": "Quick Reports", + "quickReports - TODO: update line above and then delete this line to mark that the translation has been fixed": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "belowYouCanDownloadPremadeReportsRelated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "Visitantes únicos", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Tipo de dispositivo", + "count": "Cuenta", + "unknown": "Desconocido", + "distributionByCountry": "Distribucion por pais", + "country": "País", + "detailedStatistics": "Estadísticas detalladas", + "listOfSubscribersThatOpenedTheCampaign": "Lista de suscriptores que han abierto la campaña", + "subscriptionHasToBeSelectedToShowThe": "La suscripción debe ser seleccionada para mostrar la campaña a un usuario.", + "previewCampaignAs": "Vista previa de campaña como", + "preview": "Vista previa", + "dateMustNotBeEmpty": "La fecha no debe estar vacía", + "dateIsInvalid": "La fecha es inválida", + "timeMustNotBeEmpty": "El tiempo no debe estar vacío", + "timeIsInvalid": "El tiempo es inválido", + "confirmLaunch": "Confirm launzamiento", + "doYouWantToLaunchTheCampaign?": "Quieres lanzar la campaña?", + "confirmReset": "Confirmar reinicio", + "doYouWantToResetTheCampaign?All": "Quieres reiniciar la campaña? Todas las estadísticas se perderán.", + "no": "No", + "yes": "Si", + "subscribers-1": "suscriptores", + "sendStatus": "Estado de envío", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Enviar después", + "scheduleDeliveryAtAParticularDatetime": "Programar el envío a una determinada fecha/hora", + "date": "Fecha", + "time": "Hora", + "enter24HourTimeInFormatHhmmEg1348": "Introducela en formato 24 horas HH:MM (ej. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Enviar", + "viewStatistics": "Ver estadísticas", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Parar", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you want to send this campaign to new subscribers.", + "continue": "Continuar", + "reset": "Restablecer", + "yourCampaignIsCurrentlyDisabledClick": "Tu campaña esta desactivada. Pulsa el botón Activar para iniciar su activación.", + "enable": "Activar", + "yourCampaignIsEnabledAndSendingMessages": "Tu campaña está activa y está enviando mensajes.", + "disable": "Desactivar", + "campaignStatus": "Estado de Campaña", + "targetListssegments": "Objetivo listas/segmentos", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Enviando email de prueba", + "subscriptionHasToBeSelected": "La suscripción debe ser seleccionada.", + "sendTestEmail": "Enviar email de prueba", + "cancel": "Cancelar", + "subscription": "Suscripción", + "valuesMustNotBeEmpty": "Los valores no pueden estar vacíos", + "valueMustBeANonnegativeNumber": "El valor tiene que ser un número positivo", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerUpdated": "Trigger updated", + "triggerUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger updated", + "triggerCreated": "Trigger created", + "triggerCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger created", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Editar Trigger", + "createTrigger": "Crear Trigger", + "entity": "Entidad", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Evento", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Activado", + "latestOpen": "Última apertura", + "latestClick": "Último click", + "notOpened": "No abiertos", + "notClicked": "No clicked", + "daysAfter": "Días después", + "welcomeToMailtrain": "Bienvenido a Mailtrain...", + "close": "Cerrar", + "countFileAdded": "{{count}} archivo añadido", + "countFileAdded_plural": "{{count}} archivos añadidos", + "countFileReplaced": "{{count}} archivo reemplazado", + "countFileReplaced_plural": "{{count}} archivos reemplazados", + "countFileIgnored": "{{count}} archivo ignorado", + "countFileIgnored_plural": "{{count}} archivos ignorados", + "countFileUploaded": "{{count}} archivo subido", + "countFileUploaded_plural": "{{count}} archivos subidos", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "Subida de archivo fallida:", + "noFilesToUpload": "No hay archivos para subir", + "deletingFile": "Borrando archivo ...", + "fileDeleted": "Archivo borrado", + "deleteFileFailed": "Ha fallado el borrado de archivo:", + "size": "Tamaño", + "download": "Descargar", + "confirmFileDeletion": "Confirmar borrado de archivo", + "areYouSureYouWantToDeleteTheFile?": "¿Estás seguro que quieres borrar este archivo?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Cargando ...", + "openCalendar": "Abrir calendario", + "select": "Seleccionar", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Formularios personalizados", + "report": "Informe", + "report_plural": "Informes", + "reportTemplate": "Plantilla de informe", + "reportTemplate_plural": "Plantillas de informe", + "mosaicoTemplate": "Plantilla Mosaico", + "mosaicoTemplate_plural": "Plantillas Mosaico", + "cannoteDeleteNameDueToTheFollowing": "No pudo borrarse \"{{name}}\" debido a las siguientes dependencias:", + "andMore": "... y más", + "confirmDeletion": "Confirmar borrado", + "areYouSureYouWantToDeleteName?": "¿Estás seguro que quieres borrar \"{{name}}\"?", + "namespaceMustBeSelected": "Namespace debe ser seleccionado", + "sourceOnGitHub": "Source on GitHub", + "sendTestEmail-1": "Enviar e-mail de prueba", + "showHtml": "Mostrar HTML", + "maximizeEditor": "Maximizar editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "disableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "enableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Enable word wrap", + "hidePreview": "Ocultar vista previa", + "showPreview": "Mostrar vista previa", + "showMjml": "Mostrar MJML", + "countEntriesSelected": "{{ count }} entradas seleccionadas.", + "customFormMustBeSelected": "El formulario personalizado debe ser seleccionado", + "listUpdated": "Lista actualizada", + "listCreated": "Lista creada", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "emptyCustomNoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "nameOneField - TODO: update line above and then delete this line to mark that the translation has been fixed": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "firstNameAndLastNameTwoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "representationOfSubscribersName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "selectHowTheNameOfASubscriberWillBe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Borrando lista ...", + "listDeleted": "Lista borrada", + "editList": "Editar Lista", + "createList": "Crear Lista", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Email de contacto", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Formularios", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errorOnLineLine": "Error on line {{ line }}", + "fieldUpdated": "Campo actualizado", + "fieldCreated": "Campo creado", + "notVisible": "Not visible", + "endOfList": "Final de lista", + "fieldSettings": "Ajustes de Campo", + "defaultValue": "Valor por defecto", + "defaultValueUsedWhenTheFieldIsEmpty": "Valor por defecto utilizado cuando el campo está vacío.", + "options": "Opciones", + "dateFormat": "Formato de fecha", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Grupo", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "belongsToCheckboxDropdownRadioGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "containingGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "checkedLabel": "Checked label", + "checkedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "labelThatWillBeDisplayedInListAnd - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "uncheckedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "labelThatWillBeDisplayedInListAnd-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Borrando campo ...", + "fieldDeleted": "Campo borrado", + "editField": "Editar Campo", + "createField": "Crear Campo", + "mergeTag-1": "Merge tag", + "fieldOrder": "Orden del Campo", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Texto", + "website": "Website", + "multilineText": "Texto mulilínea", + "gpgPublicKey": "GPG Public Key", + "number": "Numero", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Cumpleaños", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Opción", + "fields": "Campos", + "thePlaintextVersionForThisEmail": "La versión en texto plano para este email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Política de privacidad", + "general": "General", + "subscribe": "Suscribir", + "manage": "Gestionar", + "unsubscribe": "Desuscribir", + "dataProtection": "Protección de datos", + "listOfErrorsInTemplates": "Listado de errores en plantillas", + "customFormsUpdated": "Formularios personalizados actualizados", + "customFormsCreated": "Formularios personalizados creados", + "deletingForm": "Borrando formulario ...", + "formDeleted": "Formulario borrado", + "editCustomForms": "Editar Formularios Personalizados", + "createCustomForms": "Crear Formularios Personalizados", + "formsPreview": "Vista previa de Formularios", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Vista previa de formulario personalizado:", + "refresh": "Refrescar", + "closePreview": "Cerrar vista previa", + "templates": "Plantillas", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Crear Formulario Personalizado", + "fileMustBeSelected": "Debes seleccionar un archivo", + "csvDelimiterMustNotBeEmpty": "El delimitador del CSV no puede estar vacío", + "emailMappingHasToBeProvided": "Debes completar el mapeo de Email", + "importSaved": "Importación guardada", + "file": "Archivo", + "delimiter": "Delimitador", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Selecciona ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapeo", + "saveAndEditSettings": "Guardar y editar ajustes", + "saveAndRun": "Guardar y ejecutar", + "deletingImport": "Borrando importación ...", + "importDeleted": "Importación borrada", + "editImport": "Editar Importación", + "createImport": "Crear Importación", + "source": "Origen", + "csvFile": "Archivo CSV", + "preparing": "Preparando", + "stopping": "Parando", + "ready": "Listo", + "preparationFailed": "La preparación falló", + "running": "Ejecutando", + "failed": "Fallos", + "starting": "Iniciando", + "basicImportOfSubscribers": "Importación básica de suscriptores", + "unsubscribeEmails": "Desuscribir emails", + "lastRun": "Última ejecución", + "detailedStatus": "Estado detallado", + "imports": "Importaciones", + "row": "Fila", + "reason": "Razón", + "importRunStatus": "Estado de ejecución de la importación", + "importName": "Nombre de la importación", + "importSource": "Fuente de la importación", + "runStarted": "Iniciada ejecución", + "runFinished": "Finalizada ejecución", + "runStatus": "Estado de ejecución", + "processedEntries": "Processed entries", + "newEntries": "Nuevas entradas", + "failedEntries": "Entradas fallidas", + "error": "Error", + "failedRows": "Filas fallidas", + "started": "Started", + "processed": "Procesados", + "new": "Nuevo", + "importStatus": "Estado de Importación", + "actions": "Acciones", + "start": "Iniciar", + "importRuns": "Ejecuciones de importación", + "segments": "Segmentos", + "customForms-1": "Formularios Personalizados", + "listName": "Lista \"{{name}}\"", + "fieldName-1": "Campo \"{{name}}\"", + "segmentName": "Segmento \"{{name}}\"", + "importName-1": "Importación \"{{name}}\"", + "run": "Ejecutar", + "customFormsName": "Formularios Personalizados \"{{name}}\"", + "newRule": "Nueva regla", + "segmentUpdated": "Segmento actualizado", + "segmentCreated": "Segmento creado", + "deletingSegment": "Borrando segmento ...", + "segmentDeleted": "Segmento borrado", + "editSegment": "Editar Segmento", + "createSegment": "Crear Segmento", + "segmentOptions": "Opciones de Segmento", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Añadir Regla de Composición", + "addRule": "Añadir Regla", + "rules": "Reglas", + "allRulesMustMatch": "Deben cumplirse todas las reglas", + "atLeastOneRuleMustMatch": "Al menos una regla debe cumplirse", + "noRuleMayMatch": "Ninguna regla debe cumplirse", + "equalTo": "Igual a", + "valueInColumnColNameIsEqualToValue": "Valor en columna \"{{colName}}\" es igual a \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Menor que", + "valueInColumnColNameIsLessThanValue": "Valor en columna \"{{colName}}\" es menor que {{value}}", + "lessThanOrEqualTo": "Menor o igual que", + "valueInColumnColNameIsLessThanOrEqualTo": "Valor en columna \"{{colName}}\" es menor o igual que {{value}}", + "greaterThan": "Mayor que", + "valueInColumnColNameIsGreaterThanValue": "Valor en columna \"{{colName}}\" es mayor que {{value}}", + "greaterThanOrEqualTo": "Mayor o igual que", + "valueInColumnColNameIsGreaterThanOrEqual": "Valor en columna \"{{colName}}\" es mayor o igual que {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Fecha en columna \"{{colName}}\" es {{value}}", + "before": "Anterior", + "dateInColumnColNameIsBeforeValue": "Fecha en columna \"{{colName}}\" es anterior a {{value}}", + "beforeOrOn": "Anterior o igual", + "dateInColumnColNameIsBeforeOrOnValue": "Fecha en columna \"{{colName}}\" es anterior o igual a {{value}}", + "after": "Posterior", + "dateInColumnColNameIsAfterValue": "Fecha en columna \"{{colName}}\" es posterior a {{value}}", + "afterOrOn": "Posterior o igual", + "dateInColumnColNameIsAfterOrOnValue": "Fecha en columna \"{{colName}}\" es posterior o igual a {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Está seleccionado", + "valueInColumnColNameIsSelected": "Valor en columna \"{{colName}}\" está seleccionado", + "isNotSelected": "No está seleccionado", + "valueInColumnColNameIsNotSelected": "Valor en columna \"{{colName}}\" no está seleccionado", + "keyEqualTo": "Clave igual a", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Valor", + "valueMustNotBeEmpty": "El valor no puede estar vacío", + "valueMustBeANumber": "El valor debe ser un número", + "numberOfDays": "Número de días", + "beforeAfter": "Antes/Después", + "beforeCurrentDate": "Antes de la fecha actual", + "afterCurrentDate": "Después de la fecha actual", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Dirección de email", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "testUser": "Usuario de prueba", + "fieldMustBeSelected": "El campo debe ser seleccionado", + "field": "Campo", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Otra suscripción con el mismo email existía previamente.", + "subscriptionUpdated": "Suscripción actualizada", + "subscriptionCreated": "Suscripción creada", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "No seleccionado", + "areYouSureYouWantToDeleteSubscriptionFor": "¿Estás seguro que quieres borrar las suscripciones de \"{{email}}\"?", + "deletingSubscription": "Borrando suscripción ...", + "subscriptionDeleted": "Suscripción borrada", + "editSubscription": "Editar Suscripción", + "createSubscription": "Crear Suscripción", + "timezone": "Timezone", + "subscriptionStatus": "Estado de suscripción", + "testUser?": "¿Usuario de prueba?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "subscribed": "Suscrito", + "unubscribed": "Desuscrito", + "erased": "[BORRADO]", + "confirmUnsubscription": "Confirmar Desuscripción", + "areYouSureYouWantToUnsubscribeEmail?": "¿Estás seguro que quieres desuscribir {{email}}?", + "unsubscribingEmail": "Desuscribir {{email}}", + "emailUnsubscribed": "{{email}} desuscrito", + "confirmEmailBlacklisting": "Confirmar Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "¿Estás seguro que quieres añadir a la lista negra {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "Todas las suscripciones", + "subscriptionForm": "Formulario de Suscripción", + "exportAsCsv": "Exportar como CSV", + "addSubscriber": "Añadir suscriptor", + "usernameOrEmailMustNotBeEmpty": "El nombre de usuario y email no pueden estar vacíos", + "processing": "Procesando ...", + "ifTheUsernameEmailExistsInTheSystem": "Si el nombre de usuario / email existe en el sistema, el enlace para reestablecer contraseña será enviado al email registrado.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Por favor introduce tu nombre de usuario / email y vuélvelo a intentar.", + "passwordReset": "Reestablecer contraseña", + "pleaseProvideTheUsernameOrEmailAddress": "Por favor utiliza el nombre de usuario o email que esté registrado en tu cuenta de Mailtrain.", + "weWillSendYouAnEmailThatWillAllowYouTo": "Te enviaremos un email que te permitirá reestablecer tu contraseña.", + "usernameOrEmail": "Nombre de usuario o email", + "sendEmail": "Enviar email", + "userNameMustNotBeEmpty": "El nombre de usuario no puede estar vacío", + "passwordMustNotBeEmpty": "La contraseña no puede estar vacía", + "verifyingCredentials": "Verificando credenciales ...", + "pleaseEnterYourCredentialsAndTryAgain": "Por favor introduce tus credenciales e inténtalo de nuevo.", + "invalidUsernameOrPassword": "Nombre de usuario o contraseña inválida.", + "forgotYourPassword?": "Olvidaste tu contraseña?", + "signIn": "Iniciar sesión", + "username": "Usuario", + "password": "Contraseña", + "rememberMe": "Recuérdame", + "resettingPassword": "Reestableciendo contraseña ...", + "passwordReset-1": "Reestablecida contraseña", + "yourPasswordCannotBeReset": "Tu contraseña no pudo ser reestablecida.", + "thePasswordResetTokenHasExpired": "El token para resetear tu contraseña ha caducado.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "La contraseña no pudo ser reestablecida.", + "setNewPasswordFor": "Establece una nueva contraseña para", + "resetPassword": "Reestablecer contraseña", + "parentNamespaceMustBeSelected": "Debes escoger un espacio de nombres padre", + "namespaceUpdated": "Espacio de nombres actualizado", + "namespaceCreated": "Espacio de nombres creado", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Borrando espacio de nombres ...", + "namespaceDeleted": "Espacio de nombres borrado", + "editNamespace": "Editar Espacio de Nombres", + "createNamespace": "Crear Espacio de Nombre", + "parentNamespace": "Namespace Padre", + "namespaces": "Espacios de nombres", + "namespaceName": "Espacio de nombres \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportUpdated": "Informe actualizado", + "reportCreated": "Informe creado", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Borrando informe ...", + "reportDeleted": "Informe borrado", + "editReport": "Editar Informe", + "createReport": "Crear Informe", + "reportTemplate-1": "Plantilla de Informe", + "reportParameters": "Parámetros de informe", + "loadingReportTemplate": "Cargando plantilla de informe...", + "processing-1": "Procesando", + "view": "Ver", + "refreshReport": "Refrescar informe", + "reportGenerationFailed": "Fallo en la generación de informe", + "regenerateReport": "Regenerar informe", + "viewConsoleOutput": "View console output", + "reportTemplates": "Plantillas de Informe", + "reports": "Informes", + "reportName": "Informe \"{{name}}\"", + "output": "Salida", + "templateName": "Plantilla \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateUpdated": "Plantilla de informe actualizada", + "reportTemplateCreated": "Plantilla de informe creada", + "deletingReportTemplate": "Borrando plantilla de informe ...", + "reportTemplateDeleted": "Plantilla de informe borrada", + "editReportTemplate": "Editar Plantilla de Informe", + "createReportTemplate": "Crear Plantilla de Informe", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "reportName-1": "Informe {{name}}", + "loadingReport": "Cargando informe ...", + "outputForReportName": "Salida del informe {{name}}", + "loadingReportOutput": "Cargando salida del informe ...", + "reportIsBeingGenerated": "El informe está siendo generado", + "reportNotGenerated": "Informe no generado", + "current": "(actual)", + "administration": "Administración", + "users": "Usuarios", + "globalSettings": "Ajustes Globales", + "sendConfigurations": "Configuraciones de envío", + "logOut": "Salir", + "home": "Inicio", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationUpdated": "Configuración de envío actualizada", + "sendConfigurationCreated": "Configuración de envío creada", + "deletingSendConfiguration": "Borrando configuración de envío ...", + "sendConfigurationDeleted": "Configuración de envío borrada", + "editSendConfiguration": "Editar Configuración de Envío", + "createSendConfiguration": "Crear Configuracón de Envío", + "emailHeader": "Cabecera de Email", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Sobreescribible", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "labelMustNotBeEmpty": "{{label}} no puede estar vacía", + "labelMustBeANumber": "{{label}} debe ser un número", + "genericSmtp": "SMTP Genérico", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "No usar cifrado", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "accessSecret": "Access Secret", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "sendConfigurations-1": "Configuraciones de envío", + "globalSettingsSaved": "Ajustes globales guardados", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "clave privada GPG", + "beginsWithBeginPgpPrivateKeyBlock": "Empieza con '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "El usuario no puede estar vacío", + "roleMustBeSelected": "El rol debe ser seleccionado", + "role": "Rol", + "unshare": "Unshare", + "unshare - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "confirmUnsharing - TODO: update line above and then delete this line to mark that the translation has been fixed": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "areYouSureYouWantToRemoveTheShareToUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "removingShareForUserUsername - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "shareForUserUsernameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Share for user \"{{username}}\" removed", + "addUser": "Añadir Usuario", + "user": "Usuario", + "existingUsers": "Usuarios Existentes", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "areYouSureYouWantToRemoveTheSharingOfThe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "removingSharingOfTheTypeNameName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharingOfTheTypeNameNameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "namespace-1": "espacio de nombres", + "list-1": "lista", + "template-1": "plantilla", + "mosaicoTemplates": "Plantillas Mosaico", + "campaign-1": "campaña", + "customForms-2": "formularios personalizados", + "report-1": "informe", + "reportTemplate-2": "plantilla de informe", + "sendConfiguration-1": "configuración de envío", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "sourceTemplateMustNotBeEmpty - TODO: update line above and then delete this line to mark that the translation has been fixed": "Source template must not be empty", + "templateUpdated": "Plantilla actualizada", + "templateCreated": "Plantilla creada", + "deletingTemplate": "Borrando plantilla ...", + "templateDeleted": "Plantilla borrada", + "editTemplate": "Editar Plantilla", + "createTemplate": "Crear Plantilla", + "cloneFromAnExistingTemplate": "Clonar a partir de templates ya existentes", + "cloneFromAnExistingCustomForms": "Clonar a partir de formularios personalizados ya existentes", + "mosaico": "Mosaico", + "templateContentHtml": "Contenido de plantilla (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "Título de la entrada RSS", + "rssEntryDate": "Fecha de la entrada RSS", + "rssEntryLink": "Enlace de la entrada RSS", + "contentOfAnRssEntry": "Contenido de la entrada RSS", + "rssEntrySummary": "Resumen de la entrada RSS", + "rssEntryImageUrl": "Enlace a la imágen RSS", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten.", + "mosaicoTemplateUpdated": "Plantilla Mosaico actualizada", + "mosaicoTemplateCreated": "Plantilla Mosaico creada", + "deletingMosaicoTemplate": "Borrando plantilla Mosaico ...", + "mosaicoTemplateDeleted": "Borrada plantilla Mosaico", + "editMosaicoTemplate": "Editar plantilla Mosaico", + "createMosaicoTemplate": "Crear plantilla Mosaico", + "invalidMjml": "MJML inválido.", + "mjmlIsValid": "MJML válido.", + "invalidMjml-1": "MJML inválido.", + "templateContent": "Contenido de plantilla", + "validate": "Validar", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "mjmlSample": "Ejemplo MJML", + "mosaicoTemplateName": "Plantilla Mosaico \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "La lista debe ser seleccionada.", + "theUserNameAlreadyExistsInTheSystem": "El nombre de usuario ya existe en el sistema.", + "userUpdated": "Usuario actualizado", + "userCreated": "Usuario creado", + "theUsernameIsAlreadyAssignedToAnother": "El nombre de usuario ya está asignado a otra persona.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "El email ya está asignado a otra persona.", + "deletingUser": "Borrando usuario ...", + "userDeleted": "Usuario borrado", + "editUser": "Editar Usuario", + "createUser": "Crear Usario", + "userName": "Nombre de Usuario", + "repeatPassword": "Repite Contraseña", + "deleteUser": "Borrar Usuario", + "userName-1": "Usuario \"{{name}}\"", + "shares": "Shares", + "subscriptionConfirmed": "Suscrición confirmada", + "listEmailAddressAlreadyRegistered": "{{list}}: El email ya estaba registrado", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailAddressEmail": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Introduce tu clave pública GPG para cifrar los mensajes enviados a tu correo (opcional)", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "Nueva dirección de correo", + "youWillReceiveAConfirmationRequestToYour": "Recibirás un correo a tu nueva dirección que debes aceptar antes de que tu correo se cambie", + "updateEmailAddress": "Actualizar Email", + "updateProfile": "Actualizar Perfil", + "subscribeToList": "Subscribir a la lista", + "thePasswordMustBeAtLeastMinLength": "La contraseña debe tener al menos {{ minLength }} caracteres", + "thePasswordMustBeFewerThanMaxLength": "La contraseña no puede tener más de {{ maxLength }} caracteres", + "thePasswordMayNotContainSequencesOfThree": "La contraseña no puede tener secuencias de tres o más caracteres repetidos", + "thePasswordMustContainAtLeastOne": "La contraseña debe tener al menos una letra minúscula", + "thePasswordMustContainAtLeastOne-1": "La contraseña debe tener al menos una letra mayúscula", + "thePasswordMustContainAtLeastOneNumber": "La contraseña debe tener al menos un número", + "thePasswordMustContainAtLeastOneSpecial": "La contraseña debe tener al menos un caracter especial", + "dTsEmptyTable": "Ningún dato disponible en esta tabla", + "dTsInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros", + "dTsInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros", + "dTsInfoFiltered": "(filtrado de un total de _MAX_ registros)", + "dTsInfoPostFix": "", + "dTsInfoThousands": ".", + "dTsLengthMenu": "Mostrar _MENU_ registros", + "dTsLoadingRecords": "Cargando...", + "dTsProcessing": "Procesando...", + "dTsSearch": "Buscar:", + "dTsZeroRecords": "No se encontraron resultados", + "dTsFirst": "Primero", + "dTsLast": "Último", + "dTsNext": "Siguiente", + "dTsPrevious": "Anterior", + "dTsSortAscending": ": Activar para ordenar la columna de manera ascendente", + "dTsSortDescending": ": Activar para ordenar la columna de manera descendente", + "saving": "Guardando ...", + "channelUpdated": "Canal actualizado", + "channelCreated": "Canal creado", + "deletingChannel": "Borrando canal ...", + "channelDeleted": "Canal borrado", + "editChannel": "Editar Canal", + "createChannel": "Crear Canal", + "sendConfiguration": "Configuración de envío", + "sendConfiguration_plural": "Configuraciones de envío", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "save": "Guardar", + "saveAndLeave": "Guardar y salir", + "channels": "Canales", + "channel": "Canal", + "channelName": "Canal \"{{name}}\"", + "cloneCampaign": "Clonar campaña", + "next": "Siguiente", + "selectCampaignToBeCloned": "Elige la campaña que será clonada.", + "tagLanguage": "Lenguaje de marcado", + "tagLanguageMustBeSelected": "Debes seleccionar un lenguaje de marcado", + "helpText": "Texto de ayuda" +} diff --git a/locales/extract.js b/locales/extract.js new file mode 100644 index 00000000..113e89d4 --- /dev/null +++ b/locales/extract.js @@ -0,0 +1,442 @@ +'use strict'; + +// Processes statements like these: +// tUI(/*prefix:account*/'account.passwordChangeRequest', language) +// /*prefix:helpers*/Hello {{name}}, you have {{count}} unread message. Go to messages. + +const fs = require('fs'); +const path = require('path'); +const klawSync = require('klaw-sync'); +const acorn = require("acorn"); +const acornJsx = require("acorn-jsx"); +const ellipsize = require('ellipsize'); +const camelCase = require('camelcase'); +const slugify = require('slugify'); +const readline = require('readline'); +const deepKeys = require('deep-keys'); + +const localeMain = 'en-US/common.json'; +const localeMainPrevious = 'en-US-last-run/common.json'; +const localeTranslations = ['es-ES/common.json', 'pt-BR/common.json', 'de-DE/common.json']; +const searchDirs = [ + '../client/src', + '../server', + '../shared' +]; + +const todoMarker = " - TODO: update line above and then delete this line to mark that the translation has been fixed"; + +const renamedKeys = new Map(); +const keysWithChangedValue = new Set(); +const resDict = {}; +let anyUpdatesToResDict = false; + +const origResDict = JSON.parse(fs.readFileSync(localeMain)); +const prevResDict = JSON.parse(fs.readFileSync(localeMainPrevious)); + + +function findAllVariantsByPrefixInDict(dict, keyPrefix) { + const keyElems = keyPrefix.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + return []; + } else { + dict = dict[keyElem]; + } + } else { + return []; + } + } + + const prefix = keyElems[keyElems.length - 1]; + const res = []; + for (const key in dict) { + if (key.startsWith(prefix)) { + res.push(key.substring(prefix.length)); + } + } + + return res; +} + +function findInDict(dict, key) { + const keyElems = key.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + return undefined; + } else { + dict = dict[keyElem]; + } + } else { + return undefined; + } + } + + return dict[keyElems[keyElems.length - 1]]; +} + +function setInDict(dict, key, value) { + const keyElems = key.split('.'); + + for (const keyElem of keyElems.slice(0, -1)) { + if (dict[keyElem]) { + if (typeof dict[keyElem] === 'string') { + throw new Error(`Overlapping key ${key}`); + } + } else { + dict[keyElem] = {} + } + + dict = dict[keyElem]; + } + + dict[keyElems[keyElems.length - 1]] = value; +} + +const assignedKeys = new Map(); +function getKeyFromValue(spec, value) { + let key = value.replace(/<\/?[0-9]+>/g, ''); // Remove Trans markup + key = slugify(key, { replacement: ' ', remove: /[\\()"':.,;\/\[\]\{\}*+-]/g, lower: false }); + key = camelCase(key); + key = ellipsize(key, 40, { + chars: [...Array(26)].map((_, i) => String.fromCharCode('A'.charCodeAt(0) + i)) /* This is an array of characters A-Z */, + ellipse: '' + }); + + if (spec.prefix) { + key = spec.prefix + '.' + key; + } + + let idx = 0; + while (true) { + const keyExt = key + (idx ? '-' + idx : '') + if (assignedKeys.has(keyExt)) { + if (assignedKeys.get(keyExt) === value) { + return keyExt; + } + } else { + assignedKeys.set(keyExt, value); + return keyExt; + } + + idx++; + } +} + +function allowedDirOrFile(item) { + const pp = path.parse(item.path) + + return ( + (item.stats.isDirectory() && + pp.base !== 'node_modules' + ) || + (item.stats.isFile() && + ( pp.ext === '.js' || pp.ext === '.jsx' || pp.ext === '.hbs') + ) + ); +} + +function parseSpec(specStr) { + const spec = {}; + + if (specStr) { + const entryMatcher = /([a-zA-Z]*)\s*:\s*(.*)/ + + const entries = specStr.split(/\s*,\s*/); + for (const entry of entries) { + const elems = entry.match(entryMatcher); + if (elems) { + spec[elems[1]] = elems[2]; + } else { + spec[entry] = true; + } + } + } + + return spec; +} + +// see http://blog.stevenlevithan.com/archives/match-quoted-string +const tMatcher = /(^|[ {+(=.\[])((?:tUI|tLog|t|tMark)\s*\(\s*(?:\/\*(.*?)\*\/)?\s*)(["'])((?:(?!\4)[^\\]|\\.)*)(\4)/; +const jsxTransMatcher = /(\/\*(.*?)\*\/\s*)?(\][\s\S]*?\<\/Trans\>)/; +const hbsTranslateMatcher = /(\{\{!--(.*?)--\}\}\s*)?(\{\{#translate\}\})([\s\S]*?)(\{\{\/translate\}\})/; + +const jsxParser = acorn.Parser.extend(acornJsx()); +function parseJsxTrans(fragment) { + const match = fragment.match(jsxTransMatcher); + const spec = parseSpec(match[2]); + const jsxStr = match[3]; + + const jsxStrSmpl = jsxStr.replace('{::', '{ '); // Acorn does not handle bind (::) operator. So we just leave it out because we are not interested in the code anyway. + const ast = jsxParser.parse(jsxStrSmpl); + + function convertChildren(children) { + const entries = []; + let childNo = 0; + + for (const child of children) { + const type = child.type; + + if (type === 'JSXText') { + entries.push(child.value); + childNo++; + + } else if (type === 'JSXElement') { + const inner = convertChildren(child.children); + entries.push(`<${childNo}>${convertChildren(child.children)}`); + childNo++; + + } else if (type === 'JSXExpressionContainer') { + entries.push(jsxStr.substring(child.start, child.end)); + childNo++; + + } else { + throw new Error('Unknown JSX node: ' + child); + } + } + + return entries.join(''); + } + + const expr = ast.body[0].expression; + + let originalKey; + for (const attr of expr.openingElement.attributes) { + const name = attr.name.name; + if (name === 'i18nKey') { + originalKey = attr.value.value; + } + } + + const convValue = convertChildren(expr.children); + + if (originalKey === undefined) { + originalKey = convValue; + } + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = convValue; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1] || ''}${jsxStr.substring(expr.openingElement.end, expr.closingElement.start)}`; + + return { key, originalKey, value, replacement }; +} + + +function parseHbsTranslate(fragment) { + const match = fragment.match(hbsTranslateMatcher); + const spec = parseSpec(match[2]); + let originalKey = match[4]; + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = originalKey; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1] || ''}${match[3]}${key}${match[5]}`; + + return { key, originalKey, value, replacement, originalValue }; +} + +function parseT(fragment) { + const match = fragment.match(tMatcher); + + let originalKey = match[5]; + const spec = parseSpec(match[3]); + + if (spec.ignore) { + return null; + } + + let value; + const originalValue = findInDict(origResDict, originalKey); + + if (originalValue === undefined) { + value = originalKey; + originalKey = undefined; + } else { + value = originalValue; + } + + const key = getKeyFromValue(spec, value); + + const replacement = `${match[1]}${match[2]}${match[4]}${key}${match[6]}`; + + return { key, originalKey, value, replacement, originalValue }; +} + + +function processFile(file) { + let source = fs.readFileSync(file, 'utf8'); + let anyUpdates = false; + + function update(fragments, parseFun) { + if (fragments) { + for (const fragment of fragments) { + const parseStruct = parseFun(fragment); + if (parseStruct) { + const {key, originalKey, value, replacement} = parseStruct; + + source = source.split(fragment).join(replacement); + setInDict(resDict, key, value); + + if ( + // If a key is formed from a value (e.g. t('Refresh') ) and and the same time already present in common.json, originalKey is undefined. Therefore the additional test here + (originalKey === undefined && findInDict(origResDict, key) !== value) || + (originalKey !== undefined && findInDict(prevResDict, originalKey) !== value) + ) { + keysWithChangedValue.add(key); + anyUpdates = true; + } + + const variants = originalKey !== undefined ? findAllVariantsByPrefixInDict(origResDict, originalKey + '_') : []; + for (const variant of variants) { + const variantKey = originalKey + '_' + variant; + const variantValue = findInDict(origResDict, variantKey); + const prevVariantValue = findInDict(prevResDict, variantKey); + + setInDict(resDict, key + '_' + variant, variantValue); + + if (prevVariantValue !== variantValue) { + keysWithChangedValue.add(variantKey); + anyUpdates = true; + } + } + + if (originalKey !== undefined && originalKey !== key) { + renamedKeys.set(key, originalKey); + + for (const variant of variants) { + renamedKeys.set(key + '_' + variant, originalKey + '_' + variant); + } + } + + if (originalKey !== key) { + anyUpdates = true; + } + } + } + } + } + + const lines = source.split(/\r?\n/g); + for (const line of lines) { + const fragments = line.match(new RegExp(tMatcher, 'g')); + update(fragments, parseT); + } + + const hbsFragments = source.match(new RegExp(hbsTranslateMatcher, 'g')); + update(hbsFragments, parseHbsTranslate); + + const jsxFragments = source.match(new RegExp(jsxTransMatcher, 'g')); + update(jsxFragments, parseJsxTrans); + + if (anyUpdates) { + console.log(`Updating ${file}`); + fs.writeFileSync(file, source); + + anyUpdatesToResDict = true; + } +} + + +function run() { + for (const dir of searchDirs) { + const files = klawSync(dir, { nodir: true, filter: allowedDirOrFile }); + + for (const file of files) { + processFile(file.path); + } + } + + if (anyUpdatesToResDict) { + console.log(`Updating ${localeMain}`); + fs.writeFileSync(localeMain, JSON.stringify(resDict, null, 2)); + + console.log(`Updating ${localeMainPrevious}`); + fs.writeFileSync(localeMainPrevious, JSON.stringify(resDict, null, 2)); + } + + const mainKeys = deepKeys(resDict); + + for (const localeTranslation of localeTranslations) { + const origTransResDict = JSON.parse(fs.readFileSync(localeTranslation)); + + const origTransKeys = deepKeys(origTransResDict); + let isEq = origTransKeys.length === mainKeys.size; + if (isEq) { + for (const origKey in origTransKeys) { + if (!mainKeys.has(origKey)) { + isEq = false; + break; + } + } + } + + if (!isEq || anyUpdatesToResDict) { + console.log(`Updating ${localeTranslation}`); + + const transResDict = {}; + + for (const key of mainKeys) { + let origKey = key; + + if (renamedKeys.has(key)) { + origKey = renamedKeys.get(key); + } + + const origValue = findInDict(origTransResDict, origKey); + const origTodoValue = findInDict(origTransResDict, origKey + todoMarker); + const prevMainValue = findInDict(prevResDict, origKey); + const mainValue = findInDict(resDict, key); + const isChanged = keysWithChangedValue.has(key); + + if (origValue === undefined || (isChanged && prevMainValue === origValue)) { + setInDict(transResDict, key, mainValue); + } else { + setInDict(transResDict, key, origValue); + } + + if (isChanged || origValue === undefined || origTodoValue !== undefined) { + setInDict(transResDict, key + todoMarker, mainValue); + } + } + + fs.writeFileSync(localeTranslation, JSON.stringify(transResDict, null, 2)); + } + } +} + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +console.log('This script does modifications in the source tree. You should first commit all your files in git before proceeding.'); +rl.question('To proceed type YES: ', (answer) => { + if (answer === 'YES') { + run(); + } + + rl.close(); +}); diff --git a/locales/fr-FR/common.json b/locales/fr-FR/common.json new file mode 100644 index 00000000..e25d07b1 --- /dev/null +++ b/locales/fr-FR/common.json @@ -0,0 +1,1070 @@ +{ + "emailMustNotBeEmpty": "L'e-mail ne doit pas être vide.", + "invalidEmailAddress": "Adresse e-mail invalide.", + "theEmailIsAlreadyAssociatedWithAnother": "L'e-mail est déjà associé à un autre utilisateur du système.", + "validationIsInProgress": "La validation est en cours ...", + "fullNameMustNotBeEmpty": "Le nom complet ne doit pas être vide", + "currentPasswordMustNotBeEmpty": "Le mot de passe actuel ne doit pas être vide.", + "incorrectPassword": "Mot de passe incorrect.", + "passwordsMustMatch": "Les mots de passe doivent correspondre", + "updatingUserProfile": "Mise à jour du profil utilisateur ...", + "userProfileUpdated": "Profil utilisateur mis à jour", + "thereAreErrorsInTheFormPleaseFixThemAnd": "Il y a des erreurs dans le formulaire. Veuillez les corriger et soumettre à nouveau.", + "yourUpdatesCannotBeSaved": "Vos mises à jour ne peuvent pas être enregistrées.", + "thePasswordIsIncorrectPossiblyJust": "Le mot de passe est incorrect (peut-être vient d'être changé dans une autre fenêtre / session). Entrez le mot de passe correct et réessayez.", + "theEmailIsAlreadyAssignedToAnotherUser": "L'e-mail est déjà attribué à un autre utilisateur. Saisissez un autre e-mail et réessayez.", + "account": "Compte", + "generalSettings": "Réglages généraux", + "fullName": "Nom complet", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "Cette adresse est utilisée pour récupérer le compte au cas où vous perdriez votre mot de passe", + "passwordChange": "Changement de mot de passe", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "Vous ne devez remplir ce formulaire que si vous souhaitez modifier votre mot de passe actuel", + "currentPassword": "Mot de passe actuel", + "newPassword": "Nouveau mot de passe", + "confirmPassword": "Confirmez le mot de passe", + "update": "Mise à jour", + "accountManagementIsNotPossibleBecause": "La gestion des comptes n'est pas possible car Mailtrain est configuré pour utiliser des utilisateurs gérés en externe.", + "ifYouWantToChangeThePasswordUseThisLink": "Si vous souhaitez modifier le mot de passe, utilisez <1> ce lien .", + "personalAccessToken": "Jeton d'accès personnel", + "accessTokenNotYetGenerated": "Jeton d'accès non encore généré", + "api": "API", + "resetAccessToken": "Réinitialiser le jeton d'accès", + "generateAccessToken": "Générer un jeton d'accès", + "notesAboutTheApi": "Notes sur l'API", + "addSubscription": "Ajouter un abonnement", + "thisApiCallEitherInsertsANewSubscription": "Cet appel d'API insère un nouvel abonnement ou met à jour un existant. Les champs non inclus sont laissés tels quels. Par conséquent, si vous ne mettez à jour que la valeur de LAST_NAME, FIRST_NAME n'est pas modifié pour un abonnement existant.", + "arguments": "arguments", + "yourPersonalAccessToken": "votre jeton d'accès personnel", + "subscribersEmailAddress": "adresse e-mail de l'abonné", + "required": "obligatoire", + "requiredClientSideValidation": "Obligatoire (validation côté client uniquement)", + "subscribersFirstName": "prénom de l'abonné", + "subscribersLastName": "nom de l'abonné", + "subscribersTimezoneEgEuropeTallinnPstOr": "fuseau horaire de l'abonné (par exemple. \"Europe / Tallinn\", \"PST\" ou \"UTC\"). S'il n'est pas défini par défaut sur \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valeur de champ personnalisé. Utilisez oui / non pour les valeurs des groupes d'options (cases à cocher, radios, listes déroulantes)", + "additionalPostArguments": "Arguments POST supplémentaires", + "setToYesIfYouWantToMakeSureTheEmailIs": "défini sur \"oui\" si vous voulez vous assurer que l'e-mail est marqué comme abonné même s'il a été précédemment marqué comme non abonné. Si l'e-mail était déjà désabonné / bloqué, le statut de l'abonnement n'est pas modifié", + "setToYesIfYouWantToSendConfirmationEmail": "défini sur \"oui\" si vous souhaitez envoyer un e-mail de confirmation à l'abonné avant de le marquer comme abonné", + "example": "Exemple", + "removeSubscription": "Supprimer l'abonnement", + "thisApiCallMarksASubscriptionAs": "Cet appel API marque un abonnement comme non souscrit", + "deleteSubscription": "Supprimer l'abonnement", + "thisApiCallDeletesASubscription": "Cet appel API supprime un abonnement", + "addNewCustomField": "Ajouter un nouveau champ personnalisé", + "thisApiCallCreatesANewCustomFieldForA": "Cet appel d'API crée un nouveau champ personnalisé pour une liste.", + "fieldName": "nom de domaine", + "oneOfTheFollowingTypes": "", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Si le type est 'option', vous devez également spécifier l'ID de l'élément parent", + "templateForTheGroupElementIfNotSetThen": "Modèle pour l'élément de groupe. S'il n'est pas défini, les valeurs des éléments sont jointes par des virgules", + "ifNotVisibleThenTheSubscriberCanNotView": "s'il n'est pas visible, l'abonné ne peut pas afficher ou modifier cette valeur sur la page de profil", + "getListOfBlacklistedEmails": "Obtenir la liste des e-mails sur liste noire", + "thisApiCallGetListOfBlacklistedEmails": "Cet appel API obtient la liste des e-mails sur liste noire.", + "startPosition": "La position de départ", + "optionalDefault0": "facultatif, 0 par défaut", + "limitEmailsCountInResponse": "limiter le nombre d'e-mails en réponse", + "optionalDefault10000": "facultatif, 10000 par défaut", + "filterByPartOfEmail": "filtrer par partie de l'e-mail", + "optionalDefault": "facultatif, par défaut \"\"", + "addEmailToBlacklist": "Ajouter un e-mail à la liste noire", + "thisApiCallEitherAddEmailsToBlacklist": "Cet appel d'API ajoute des e-mails à la liste noire", + "emailAddress": "adresse électronique", + "deleteEmailFromBlacklist": "Supprimer l'e-mail de la liste noire", + "thisApiCallEitherDeleteEmailsFrom": "Cet appel API supprime les e-mails de la liste noire", + "getTheListsAUserHasSubscribedTo": "Obtenez les listes auxquelles un utilisateur s'est abonné", + "retrieveTheListsThatTheUserWithEmailHas": "e-mail auquel vous êtes abonné. ", + "triggerFetchOfACampaign": "Déclencher l'extraction d'une campagne", + "forcesTheRssFeedCheckToImmediatelyCheck": "Cela ne fonctionne que pour les campagnes RSS. ", + "sendTransactionalEmail": "Envoyer un e-mail transactionnel", + "sendSingleEmailByTemplateWithGiven": "Envoyer un seul e-mail par modèle avec un templateId donné", + "idOfConfigurationUsedToCreateMailer": "ID de la configuration utilisée pour créer l'instance de mailer. S'il est omis, la configuration d'envoi système par défaut est utilisée.", + "subject": "Matière", + "dataPassedToTemplateWhenCompilingWith": "Données transmises au modèle lors de la compilation avec les guidons", + "mapOfTemplatesubjectVariablesToReplace": "Carte des variables de modèle à remplacer", + "apiResponseIsAJsonStructureWithErrorAnd": "La réponse de l'API est une structure JSON avec des propriétés <1> erreur et <3> données . Si la réponse <5> erreur a une valeur définie, la demande a échoué.", + "youNeedToDefineProperContentTypeWhen": "Vous devez définir le <1> Content-Type approprié lors de la demande. Vous pouvez utiliser <3> application / x-www-form-urlencoded pour les données de formulaire normales ou <5> application / json pour une charge utile JSON. L'utilisation de <7> multipart / form-data n'est pas prise en charge. ", + "emailMustNotBeEmpty-1": "L'email ne doit pas être vide", + "theEmailIsAlreadyOnBlacklist": "L'e-mail est déjà sur la liste noire.", + "saving": "Enregistrement ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "Il y a des erreurs dans le formulaire. Veuillez les corriger et réessayer.", + "removeFromBlacklist": "Supprimer de la liste noire", + "confirmRemovalFromBlacklist": "Confirmer la suppression de la liste noire", + "areYouSureYouWantToRemoveEmailFromThe": "Voulez-vous vraiment supprimer {{email}} de la liste noire?", + "removingEmailFromTheBlacklist": "Supprimer {{email}} de la liste noire", + "emailRemovedFromTheBlacklist": "{{email}} supprimé de la liste noire", + "blacklist": "Liste noire", + "addEmailToBlacklist-1": "Ajouter un e-mail à la liste noire", + "addToBlacklist": "Ajouter à la liste noire", + "blacklistedEmails": "Emails sur liste noire", + "campaignUpdated": "Campagne mise à jour", + "editCustomContent": "Modifier le contenu personnalisé", + "customTemplateEditor": "Editeur de modèles personnalisés", + "save": "Sauver", + "saveAndLeave": "Enregistrer et partir", + "copy": "Copie", + "saveAndGoToStatus": "Enregistrer et passer au statut", + "testSend": "Envoi test", + "createRegularCampaign": "Créer une campagne régulière", + "createRssCampaign": "Créer une campagne RSS", + "createTriggeredCampaign": "Créer une campagne déclenchée", + "editRegularCampaign": "Modifier la campagne régulière", + "editRssCampaign": "Modifier la campagne RSS", + "editTriggeredCampaign": "Modifier la campagne déclenchée", + "template": "Modèle", + "template_plural": "Modèles", + "customContentClonedFromTemplate": "Contenu personnalisé cloné à partir du modèle", + "customContentClonedFromAnotherCampaign": "Contenu personnalisé cloné d'une autre campagne", + "customContent": "Contenu personnalisé", + "url": "URL", + "nameMustNotBeEmpty": "Le nom ne doit pas être vide", + "sendConfigurationMustBeSelected": "La configuration d'envoi doit être sélectionnée", + "fromEmailMustNotBeEmpty": "\"De\" l'e-mail ne doit pas être vide", + "templateMustBeSelected": "Le modèle doit être sélectionné", + "campaignMustBeSelected": "La campagne doit être sélectionnée", + "typeMustBeSelected": "Le type doit être sélectionné", + "urlMustNotBeEmpty": "L'URL ne doit pas être vide", + "rssFeedUrlMustBeGiven": "L'URL du flux RSS doit être indiquée", + "listMustBeSelected": "La liste doit être sélectionnée", + "segmentMustBeSelected": "Le segment doit être sélectionné", + "campaignCreated": "Campagne créée", + "rssFeedUrl": "URL du flux RSS", + "name": "Nom", + "id": "ID", + "subscribers": "Les abonnés", + "description": "La description", + "namespace": "Espace de noms", + "namespace_plural": "Espaces de noms", + "remove": "Retirer", + "insertNewEntryBeforeThisOne": "Insérer une nouvelle entrée avant celle-ci", + "moveUp": "Déplacer vers le haut", + "moveDown": "Descendre", + "list": "Liste", + "list_plural": "Listes", + "segment": "Segment", + "useAParticularSegment": "Utiliser un segment particulier", + "lists": "Listes", + "addList": "Ajouter la liste", + "type": "Type", + "created": "Créé", + "updated": "Mise à jour", + "override": "Passer outre", + "fromName": "\"De\" nom", + "fromEmailAddress": "\"De\" l'adresse e-mail", + "replytoEmailAddress": "Adresse e-mail de réponse ", + "subjectLine": "\"Sujet\" ligne", + "loadingSendConfiguration": "Chargement de la configuration d'envoi ...", + "contentSource": "Source du contenu", + "selectingATemplateCreatesACampaign": "La sélection d'un modèle en crée une copie spécifique à la campagne.", + "campaign": "Campagne", + "campaign_plural": "Campagnes", + "contentOfTheSelectedCampaignWillBeCopied": "Le contenu de la campagne sélectionnée sera copié dans cette campagne.", + "renderUrl": "URL de rendu", + "ifAMessageIsSentThenThisUrlWillBePosTed": "Si un message est envoyé, cette URL sera utilisée pour les étiquettes de fusion. Utilisez-le si vous souhaitez générer le message HTML vous-même. Exemple: http://www.example.com/foo", + "deletingCampaign": "Supprimer la campagne ...", + "campaignDeleted": "Campagne supprimée", + "formCannotBeEditedBecauseTheCampaignIs": "Le formulaire ne peut pas être modifié car la campagne est en cours d'envoi. Attendez la fin de l'envoi et actualisez.", + "thisIsTheCampaignIdDisplayedToThe": "Il s'agit de l'ID de campagne affiché pour les abonnés", + "sendSettings": "Envoyer les paramètres", + "sendConfiguration": "Configuration d'envoi", + "sendConfiguration_plural": "Configurations d'envoi", + "customUnsubscribeUrl": "URL de désabonnement personnalisée", + "tracking": "Suivi", + "disableOpenedTracking": "Désactiver le suivi d'ouverture", + "disableClickedTracking": "Désactiver le suivi des clics", + "saveAndEditContent": "Enregistrer et modifier le contenu", + "delete": "Supprimer", + "regular": "Ordinaire", + "triggered": "Déclenché", + "rss": "RSS", + "idle": "En attente", + "scheduled": "Planifié", + "paused": "En pause", + "finished": "Terminé", + "inactive": "Inactif", + "active": "Actif", + "sending": "Envoi en cours", + "status": "Statut", + "sendingScheduled": "Envoi programmé", + "statistics": "Statistiques", + "edit": "Éditer", + "content": "Contenu", + "files": "Des dossiers", + "attachments": "Pièces jointes", + "triggers": "Déclencheurs", + "share": "Partager", + "createCampaign": "Créer une campagne", + "campaigns": "Campagnes", + "countries": "Des pays", + "devices": "Dispositifs", + "campaignName": "{{name}}", + "delivered": "Expédiés", + "deliveredEmails": "Emails expédiés", + "complained": "Plainte", + "subscribersThatComplained": "Abonnés qui se sont plaints", + "bounced": "Non remis", + "emailsThatBounced": "Emails qui n'ont pas été remis (NPAI)", + "unsubscribed": "Désabonné", + "subscribersThatUnsubscribed": "Abonnés qui se sont désabonnés", + "opened": "Ouvert", + "clicks": "Clics", + "theseFilesArePubliclyAvailableViaHttpSo": "Ces fichiers sont accessibles au public via HTTP afin qu'ils puissent être liés à partir du contenu de la campagne.", + "theseFilesWillBeAttachedToTheCampaign": "Ces fichiers seront joints aux e-mails de la campagne en tant que pièces jointes appropriées. Cela signifie qu'ils comptent pour la taille finale de l'e-mail.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Créer", + "campaignStatistics": "Statistiques de campagne", + "total": "Total", + "blacklisted": "Liste noire", + "complaints": "Plaintes", + "clicked": "Cliqué", + "quickReports": "Rapports rapides", + "belowYouCanDownloadPremadeReportsRelated": "Ci-dessous, vous pouvez télécharger des rapports prédéfinis liés à cette campagne. Chaque lien génère un fichier CSV qui peut être affiché dans un éditeur de feuille de calcul. Des rapports personnalisés et des rapports qui couvrent plusieurs campagnes peuvent être créés via <1> Rapports fonctionnalité de Mailtrain. ", + "uniqueVisitors": "Visiteurs uniques", + "totalClicks": "Nombre total de clics", + "campaignLinks": "Liens de campagne", + "subscriptionId": "ID d'abonnement", + "listId": "ID liste", + "listNamespace": "Espace de noms de liste", + "opensCount": "Ouvre le décompte", + "desktop": "Bureau", + "tv": "Télévision", + "tablet": "Tablette", + "phone": "Téléphone", + "bot": "Robot", + "car": "Voiture", + "console": "Console", + "distributionByDeviceType": "Répartition par type d'appareil", + "loadingChart": "Tableau de chargement", + "deviceType": "Type d'appareil", + "count": "Compter", + "unknown": "Inconnue", + "distributionByCountry": "Répartition par pays", + "country": "Pays", + "detailedStatistics": "Statistiques détaillées", + "listOfSubscribersThatOpenedTheCampaign": "Liste des abonnés qui ont ouvert la campagne", + "subscriptionHasToBeSelectedToShowThe": "L'abonnement doit être sélectionné pour afficher la campagne pour un utilisateur test.", + "previewCampaignAs": "Prévisualiser la campagne sous", + "preview": "Aperçu", + "dateMustNotBeEmpty": "La date ne doit pas être vide", + "dateIsInvalid": "La date n'est pas valide", + "timeMustNotBeEmpty": "Le temps ne doit pas être vide", + "timeIsInvalid": "L'heure n'est pas valide", + "confirmLaunch": "Confirmer le lancement", + "doYouWantToLaunchTheCampaign?": "Voulez-vous lancer la campagne?", + "confirmReset": "Confirmer la réinitialisation", + "doYouWantToResetTheCampaign?All": "Voulez-vous réinitialiser la campagne? Toutes les statistiques et le suivi des messages livrés seront perdus.", + "no": "Non", + "yes": "Oui", + "subscribers-1": "les abonnés", + "sendStatus": "Envoyer l'état", + "campaignIsScheduledForDelivery": "La campagne doit être livrée.", + "campaignIsReadyToBeSentOut": "La campagne est prête à être envoyée.", + "sendLater": "Envoyer plus tard", + "scheduleDeliveryAtAParticularDatetime": "Planifier la livraison à une date / heure particulière", + "date": "Date", + "time": "Heure", + "enter24HourTimeInFormatHhmmEg1348": "Entrer l'heure dans le format HH:MM (ex. 13:48)", + "rescheduleSend": "Replanifier l'envoi", + "scheduleSend": "Planifier l'envoi", + "send": "Envoyer", + "viewStatistics": "Afficher les statistiques", + "campaignIsBeingSentOut": "La campagne est en cours d'envoi.", + "stop": "Arrêter", + "allMessagesSent!HitContinueIfYouYouWant": "Tous les messages envoyés! Cliquez sur \"Continuer\"si vous souhaitez envoyer cette campagne à de nouveaux abonnés.", + "continue": "Continuer", + "reset": "Réinitialiser", + "yourCampaignIsCurrentlyDisabledClick": "Votre campagne est actuellement désactivée. Cliquez sur le bouton Activer pour l'activer.", + "enable": "Activer", + "yourCampaignIsEnabledAndSendingMessages": "Votre campagne est activée, envoi des messages en cours.", + "disable": "Désactiver", + "campaignStatus": "État de la campagne", + "targetListssegments": "Listes / segments cibles", + "ifANewEntryIsFoundFromCampaignFeedANew": "Si une nouvelle entrée est trouvée dans le flux de campagne, une nouvelle sous-campagne est créée pour cette entrée et elle sera répertoriée ici", + "sendingTestEmail": "Envoi d'un e-mail de test", + "subscriptionHasToBeSelected": "L'abonnement doit être sélectionné.", + "sendTestEmail": "Envoyer un e-mail de test", + "cancel": "Annuler", + "subscription": "Abonnement", + "valuesMustNotBeEmpty": "Les valeurs ne doivent pas être vides", + "valueMustBeANonnegativeNumber": "La valeur doit être un nombre non négatif", + "sourceCampaignMustNotBeEmpty": "La campagne source ne doit pas être vide", + "triggerUpdated": "Déclencheur mis à jour", + "triggerCreated": "Déclencheur créé", + "deletingTrigger": "Suppression du déclencheur ...", + "triggerDeleted": "Trigger supprimé", + "editTrigger": "Modifier le déclencheur", + "createTrigger": "Créer un déclencheur", + "entity": "Entité", + "selectTheTypeOfTheTriggerRule": "Sélectionnez le type de la règle de déclenchement.", + "triggerFires": "Déclencher des incendies", + "event": "Un événement", + "selectTheEventThatTriggersSendingThe": "Sélectionnez l'événement qui déclenche l'envoi de la campagne.", + "enabled": "Activée", + "latestOpen": "Dernière ouverture", + "latestClick": "Dernier clic", + "notOpened": "Pas ouvert", + "notClicked": "Pas cliqué", + "daysAfter": "Des jours après", + "welcomeToMailtrain": "Bienvenue sur Mailtrain ...", + "close": "Proche", + "countFileAdded": "{{count}} fichier ajouté", + "countFileAdded_plural": "{{count}} fichiers ajoutés", + "countFileReplaced": "Fichier {{count}} remplacé", + "countFileReplaced_plural": "{{count}} fichiers remplacés", + "countFileIgnored": "{{count}} fichier ignoré", + "countFileIgnored_plural": "{{count}} fichiers ignorés", + "countFileUploaded": "{{count}} fichier téléchargé", + "countFileUploaded_plural": "{{count}} fichiers téléchargés", + "uploadingCountFile": "Téléchargement du {{count}} fichier", + "uploadingCountFile_plural": "Téléchargement de {{count}} fichiers", + "fileUploadFailed": "Erreur d'envoi du fichier:", + "noFilesToUpload": "Aucun fichier à télécharger", + "deletingFile": "Suppression de fichier ...", + "fileDeleted": "Fichier supprimé", + "deleteFileFailed": "Erreur de suppression du fichier:", + "size": "Taille", + "download": "Télécharger", + "confirmFileDeletion": "Confirmer la suppression du fichier", + "areYouSureYouWantToDeleteTheFile?": "Voulez-vous vraiment supprimer le fichier?", + "dropCountFile": "Déposer {{count}} fichier", + "dropCountFile_plural": "Supprimer {{count}} fichiers", + "dropFilesHere": "Déposez les fichiers ici", + "loading": "Chargement ...", + "openCalendar": "Ouvrir le calendrier", + "select": "Sélectionner", + "someoneElseHasIntroducedModificationIn": "Quelqu'un d'autre a introduit des modifications entre-temps. Actualisez votre page pour recommencer avec de nouvelles données. Veuillez noter que vos modifications seront perdues.", + "itSeemsThatSomeoneElseHasDeletedThe": "Il semble que quelqu'un d'autre ait supprimé l'espace de noms cible entre-temps. Actualisez votre page pour recommencer avec de nouvelles données. Veuillez noter que vos modifications seront perdues.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "Il semble que quelqu'un d'autre ait supprimé l'entité entre-temps.", + "customForms": "Formulaires personnalisés", + "report": "Rapport", + "report_plural": "Rapports", + "reportTemplate": "Modèle de rapport", + "reportTemplate_plural": "Modèles de rapport", + "mosaicoTemplate": "Modèle Mosaico", + "mosaicoTemplate_plural": "Modèles Mosaico", + "cannoteDeleteNameDueToTheFollowing": "Impossible de supprimer \"{{name}}\" à cause de liens existants:", + "andMore": "... et plus", + "confirmDeletion": "Confirmer la suppression", + "areYouSureYouWantToDeleteName?": "Voulez-vous vraiment supprimer \"{{name}}\" ?", + "namespaceMustBeSelected": "L'espace de noms doit être sélectionné", + "sourceOnGitHub": "Source sur GitHub", + "sendTestEmail-1": "Envoyer un e-mail de test", + "showHtml": "Afficher HTML", + "maximizeEditor": "Maximiser l'éditeur", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Désactiver l'habillage de mots", + "enableWordWrap": "Activer l'habillage de mots", + "hidePreview": "Masquer l'aperçu", + "showPreview": "Afficher l'aperçu", + "showMjml": "Afficher MJML", + "countEntriesSelected": "{{count}} entrées sélectionnées.", + "customFormMustBeSelected": "Le formulaire personnalisé doit être sélectionné", + "listUpdated": "Liste mise à jour", + "listCreated": "Liste créée", + "onestepIeNoEmailWithConfirmationLink": "En une seule étape (c'est-à-dire pas d'e-mail avec lien de confirmation)", + "onestepWithUnsubscriptionFormIeNoEmail": "En une seule étape avec le formulaire de désinscription (c'est-à-dire sans e-mail avec lien de confirmation)", + "twostepIeAnEmailWithConfirmationLinkWill": "Deux étapes (c'est-à-dire qu'un e-mail avec un lien de confirmation sera envoyé)", + "twostepWithUnsubscriptionFormIeAnEmail": "Deux étapes avec formulaire de désabonnement (c'est-à-dire qu'un e-mail avec un lien de confirmation sera envoyé)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manuel (c'est-à-dire que la désinscription doit être effectuée par l'administrateur de la liste)", + "defaultMailtrainForms": "Formulaires Mailtrain par défaut", + "customFormsSelectFormBelow": "Formulaires personnalisés (sélectionnez le formulaire ci-dessous)", + "recipientsNameTemplate": "Modèle de nom des destinataires", + "specifyUsingMergeTagsOfThisListHowTo": "Spécifiez à l'aide des balises de fusion de cette liste comment construire le nom complet du destinataire. Ce nom complet est utilisé comme en-tête \" To \"lors de l'envoi d'e-mails.", + "emptyCustomNoFields": "Vide / Personnalisé (pas de champs)", + "nameOneField": "Nom (un champ)", + "firstNameAndLastNameTwoFields": "Prénom et nom (deux champs)", + "representationOfSubscribersName": "Représentation du nom de l'abonné", + "selectHowTheNameOfASubscriberWillBe": "Sélectionnez la façon dont le nom d'un abonné sera représenté. Les champs de la liste seront créés en conséquence. Vous pouvez toujours ajuster le choix ultérieurement en modifiant les champs de la liste. Si vous sélectionnez \" Vide / Personnalisé \", fournissez un modèle ci-dessous dans \"Modèle de nom des destinataires \" qui sera utilisé comme nom d'abonné tel qu'il apparaîtra dans le champ \"À \" des e-mails. ", + "deletingList": "Suppression de la liste ...", + "listDeleted": "Liste supprimée", + "editList": "Liste d'édition", + "createList": "Créer une liste", + "thisIsTheListIdDisplayedToTheSubscribers": "Il s'agit de l'ID de liste affiché pour les abonnés", + "contactEmail": "Email du contact", + "contactEmailUsedInSubscriptionFormsAnd": "E-mail de contact utilisé dans les formulaires d'abonnement et les e-mails envoyés. S'il n'est pas renseigné, l'e-mail d'administration des paramètres globaux sera utilisé.", + "homepage": "Page d'accueil", + "homepageUrlUsedInSubscriptionFormsAnd": "URL de page d'accueil utilisée dans les formulaires d'abonnement et les e-mails envoyés. Si elle n'est pas renseignée, la page d'accueil par défaut des paramètres globaux sera utilisée.", + "sendConfigurationThatWillBeUsedFor": "Envoyer la configuration qui sera utilisée pour envoyer les e-mails liés à l'abonnement.", + "forms": "Formes", + "webAndEmailFormsAndTemplatesUsedIn": "Formulaires et modèles Web et de messagerie utilisés dans le processus de gestion des abonnements.", + "allowPublicUsersToSubscribeThemselves": "Autoriser les utilisateurs publics à s'abonner", + "unsubscription": "Désinscription", + "selectHowAnUnsuscriptionRequestBy": "Sélectionnez le traitement d'une demande de désinscription par un abonné.", + "unsubscribeHeader": "Désinscription de l'en-tête", + "doNotSendListUnsubscribeHeaders": "N'envoyez pas d'en-têtes List-Unsubscribe", + "theCustomFormUsedForThisListYouCanCreate": "Le formulaire personnalisé utilisé pour cette liste. Vous pouvez créer un formulaire <1> ici .", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "La balise de fusion n'est pas valide. Peut être en majuscules et contenir uniquement les caractères A-Z, 0-9, _. Elle doit commencer par une lettre.", + "anotherFieldWithTheSameMergeTagExists": "Il existe un autre champ avec la même balise de fusion. Veuillez choisir une autre balise de fusion.", + "groupHasToBeSelected": "Le groupe doit être sélectionné", + "defaultValueIsNotIntegerNumber": "La valeur par défaut n'est pas un nombre entier", + "defaultValueIsNotAProperlyFormattedDate": "La valeur par défaut n'est pas une date correctement formatée", + "defaultValueIsNotAProperlyFormatted": "La valeur par défaut n'est pas une date d'anniversaire correctement formatée", + "defaultValueIsNotOneOfTheAllowedOptions": "La valeur par défaut ne fait pas partie des options autorisées", + "errorOnLineLine": "Erreur sur la ligne {{line}}", + "fieldUpdated": "Champ mis à jour", + "fieldCreated": "Champ créé", + "notVisible": "Invisible", + "endOfList": "Fin de liste", + "fieldSettings": "Paramètres sur place", + "defaultValue": "Valeur par défaut", + "defaultValueUsedWhenTheFieldIsEmpty": "Valeur par défaut utilisée lorsque le champ est vide.", + "options": "Options", + "dateFormat": "Format de date", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "JJ/MM/AAAA", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Etiquette à fusionner", + "group": "Groupe", + "belongsToCheckboxDropdownRadioGroup": "Appartient à la case à cocher / liste déroulante / groupe radio", + "containingGroup": "Groupe contenant", + "selectGroupToWhichTheOptionsShouldBelong": "Sélectionnez le groupe auquel les options doivent appartenir.", + "checkedLabel": "Étiquette cochée", + "labelThatWillBeDisplayedInListAnd": "Libellé qui sera affiché dans la liste et l'abonnement lorsque l'option est cochée", + "uncheckedLabel": "Libellé non coché", + "labelThatWillBeDisplayedInListAnd-1": "Libellé qui sera affiché dans la liste et l'abonnement lorsque l'option n'est pas cochée", + "deletingField": "Suppression d'un champ ...", + "fieldDeleted": "Champ supprimé", + "editField": "Modifier le champ", + "createField": "Créer un champ", + "mergeTag-1": "Etiquette à fusionner", + "fieldOrder": "Ordre sur le terrain", + "listingsBefore": "Inscriptions (avant)", + "selectTheFieldBeforeWhichThisFieldShould": "Sélectionnez le champ avant lequel ce champ doit apparaître dans les listes. Pour exclure le champ des listes, sélectionnez \" Non visible \".", + "subscriptionFormBefore": "Formulaire d'abonnement (avant)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Sélectionnez le champ devant lequel ce champ doit apparaître dans le nouveau formulaire d'abonnement. Pour exclure le champ du nouveau formulaire d'abonnement, sélectionnez \" Non visible \".", + "managementFormBefore": "Formulaire de gestion (avant)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Sélectionnez le champ devant lequel ce champ doit apparaître dans la gestion des abonnements. Pour exclure le champ du formulaire de gestion des abonnements, sélectionnez \" Non visible \".", + "youCanControlTheAppearanceOfTheMergeTag": "Vous pouvez contrôler l'apparence de la balise de fusion avec ce modèle. Le modèle \n utilise la syntaxe du guidon et vous pouvez trouver toutes les valeurs du tableau <1> {'{{values}}'} , par exemple \n <3> {'{{#each values}} {{this}} {{/ each}}'} . Si le modèle n'est pas défini, \n plusieurs valeurs sont jointes par des virgules. ", + "specifyTheOptionsToSelectFromInThe": "", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Clé par défaut (par exemple <1> au utilisée lorsque le champ est vide. ')", + "youCanControlTheAppearanceOfTheMergeTag-1": "Vous pouvez contrôler l'apparence de la balise de fusion avec ce modèle. Le modèle \n utilise la syntaxe du guidon et vous pouvez trouver toutes les valeurs du tableau <1> {'{{values}}'} . \n Chaque entrée dans le tableau est un objet avec des attributs <3> clé et <5> étiquette . \n Par exemple <7> {'{{#each values}} {{this.value}} { {/ each}} '} . Si le modèle n'est pas défini, \n plusieurs valeurs sont jointes par des virgules. ", + "youCanUseThisTemplateToRenderJsonValues": "Vous pouvez utiliser ce modèle pour rendre les valeurs JSON (si le JSON est un tableau, alors le tableau est \n exposé en tant que <1> valeurs , sinon vous pouvez accéder directement aux clés JSON).", + "text": "Texte", + "website": "Site Internet", + "multilineText": "Texte multiligne", + "gpgPublicKey": "Clé GPG publique", + "number": "Nombre", + "checkboxesFromOptionFields": "Cases à cocher (des champs d'option)", + "radioButtonsFromOptionFields": "Boutons radio (des champs d'option)", + "dropDownFromOptionFields": "Liste déroulante (des champs d'option)", + "radioButtonsEnumerated": "Cases à cocher (énumérés)", + "dropDownEnumerated": "Liste déroulante (énuméré)", + "birthday": "Anniversaire", + "jsonValueForCustomRendering": "Valeur JSON pour un rendu personnalisé", + "option": "Option", + "fields": "Des champs", + "thePlaintextVersionForThisEmail": "La version en clair de cet e-mail", + "layout": "Disposition", + "formInputStyle": "Style d'entrée de formulaire", + "thisCssStylesheetDefinesTheAppearanceOf": "Cette feuille de style CSS définit l'apparence des éléments d'entrée de formulaire et des alertes", + "webSubscribe": "Web - Abonnez-vous", + "webConfirmSubscriptionNotice": "Web - Confirmer l'avis d'abonnement", + "mailConfirmSubscriptionMjml": "Mail - Confirmer l'abonnement (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirmer l'abonnement (texte)", + "mailAlreadySubscribedMjml": "Mail - Déjà abonné (MJML)", + "mailAlreadySubscribedText": "Courrier - Déjà abonné (texte)", + "webSubscribedNotice": "Web - Avis d'abonnement", + "mailSubscriptionConfirmedMjml": "Mail - Abonnement confirmé (MJML)", + "mailSubscriptionConfirmedText": "Mail - Abonnement confirmé (texte)", + "webManagePreferences": "Web - Gérer les préférences", + "webManageAddress": "Web - Gérer l'adresse", + "mailConfirmAddressChangeMjml": "Mail - Confirmer le changement d'adresse (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirmer le changement d'adresse (texte)", + "webUpdatedNotice": "Web - Avis mis à jour", + "webUnsubscribe": "Web - Se désinscrire", + "webConfirmUnsubscriptionNotice": "Web - Confirmer l'avis de désinscription", + "mailConfirmUnsubscriptionMjml": "Mail - Confirmer la désinscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirmer la désinscription (texte)", + "webUnsubscribedNotice": "Web - Avis de désinscription", + "mailUnsubscriptionConfirmedMjml": "Mail - Désinscription confirmée (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Désinscription confirmée (texte)", + "webManualUnsubscribeNotice": "Web - Avis de désabonnement manuel", + "privacyPolicy": "Politique de confidentialité", + "general": "Général", + "subscribe": "Souscrire", + "manage": "Gérer", + "unsubscribe": "Se désabonner", + "dataProtection": "Protection des données", + "listOfErrorsInTemplates": "Liste des erreurs dans les modèles", + "customFormsUpdated": "Formulaires personnalisés mis à jour", + "customFormsCreated": "Formulaires personnalisés créés", + "deletingForm": "Suppression du formulaire ...", + "formDeleted": "Formulaire supprimé", + "editCustomForms": "Modifier les formulaires personnalisés", + "createCustomForms": "Créer des formulaires personnalisés", + "formsPreview": "Aperçu des formulaires", + "listToPreviewOn": "Liste à prévisualiser", + "selectListWhoseFieldsWillBeUsedToPreview": "Sélectionnez la liste dont les champs seront utilisés pour prévisualiser les formulaires.", + "noteTheseLinksAreSolelyForAQuickPreview": "Ces liens sont uniquement destinés à un aperçu rapide. Pour obtenir l'adresse du formulaire d'abonnement, accédez aux abonnés de la liste et cliquez sur \"Formulaire d'abonnement \". ", + "formPreview": "Afficher l'aperçu:", + "refresh": "Rafraîchir", + "closePreview": "Fermer l'aperçu", + "templates": "Modèles", + "customFormsUseMjmlForFormattingSeeThe": "Les formulaires personnalisés utilisent MJML pour le formatage. Voir la documentation MJML <1> ici ", + "createCustomForm": "Créer un formulaire personnalisé", + "fileMustBeSelected": "Le fichier doit être sélectionné", + "csvDelimiterMustNotBeEmpty": "Le délimiteur CSV ne doit pas être vide", + "emailMappingHasToBeProvided": "Le mappage des e-mails doit être fourni", + "importSaved": "Importation enregistrée", + "file": "Fichier", + "delimiter": "Délimiteur", + "preparationInProgressPleaseWaitTillItIs": "Préparation en cours. Veuillez attendre la fin ou visitez cette page plus tard.", + "––Select ––": "–– Sélectionnez ––", + "eg": "ex.", + "checkImportedEmails": "Vérifier les e-mails importés", + "mapping": "Cartographie", + "saveAndEditSettings": "Enregistrer et modifier les paramètres", + "saveAndRun": "Enregistrer et exécuter", + "deletingImport": "Suppression de l'importation ...", + "importDeleted": "Import supprimé", + "editImport": "Modifier l'importation", + "createImport": "Créer importation", + "source": "La source", + "csvFile": "Fichier CSV", + "preparing": "En train de préparer", + "stopping": "Arrêt", + "ready": "Prêt", + "preparationFailed": "La préparation a échoué", + "running": "Fonctionnement", + "failed": "Échoué", + "starting": "Départ", + "basicImportOfSubscribers": "Importation de base des abonnés", + "unsubscribeEmails": "Désabonnement des e-mails", + "lastRun": "Dernier tour", + "detailedStatus": "Statut détaillé", + "imports": "Importations", + "row": "Rangée", + "reason": "Raison", + "importRunStatus": "Etat de l'import", + "importName": "Importer le nom", + "importSource": "Importer la source", + "runStarted": "La course a commencé", + "runFinished": "Course terminée", + "runStatus": "Exécuter l'état", + "processedEntries": "Entrées traitées", + "newEntries": "De nouvelles entrées", + "failedEntries": "Entrées en échec", + "error": "Erreur", + "failedRows": "Lignes échouées", + "started": "Commencé", + "processed": "Traité", + "new": "Nouveau", + "importStatus": "Statut d'importation", + "actions": "Actions", + "start": "Début", + "importRuns": "Import Runs", + "segments": "Segments", + "customForms-1": "Formulaires personnalisés", + "listName": "Liste \"{{name}}\"", + "fieldName-1": "Champ \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Importer \"{{name}}\"", + "run": "Courir", + "customFormsName": "Formulaires personnalisés \"{{name}}\"", + "newRule": "Nouvelle règle", + "segmentUpdated": "Segment mis à jour", + "segmentCreated": "Segment créé", + "deletingSegment": "Suppression du segment ...", + "segmentDeleted": "Segment supprimé", + "editSegment": "Modifier le segment", + "createSegment": "Créer un segment", + "segmentOptions": "Options de segment", + "toplevelMatchType": "Type de correspondance Toplevel", + "addCompositeRule": "Ajouter une règle composite", + "addRule": "Ajouter une règle", + "rules": "Règles", + "allRulesMustMatch": "Toutes les règles doivent correspondre", + "atLeastOneRuleMustMatch": "Au moins une règle doit correspondre", + "noRuleMayMatch": "Aucune règle ne peut correspondre", + "equalTo": "Égal à", + "valueInColumnColNameIsEqualToValue": "La valeur dans la colonne \"{{colName}}\" est égale à \"{{value}}\" ", + "matchWithSqlLike": "Match (avec SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "La valeur dans la colonne \"{{colName}}\" correspond (avec SQL LIKE) \"{{value}}\" ", + "matchWithRegularExpressions": "Correspondance (avec des expressions régulières)", + "valueInColumnColNameMatchesWithRegular": "La valeur dans la colonne \"{{colName}}\" correspond (avec des expressions régulières) \"{{value}}\" ", + "alphabeticallyBefore": "Par ordre alphabétique avant", + "valueInColumnColNameIsAlphabetically": "La valeur dans la colonne \"{{colName}}\" est alphabétiquement avant \"{{value}}\" ", + "alphabeticallyBeforeOrEqualTo": "Par ordre alphabétique avant ou égal à", + "valueInColumnColNameIsAlphabetically-1": "La valeur dans la colonne \"{{colName}}\" est alphabétiquement avant ou égale à \"{{value}}\" ", + "alphabeticallyAfter": "Par ordre alphabétique après", + "valueInColumnColNameIsAlphabetically-2": "La valeur dans la colonne \"{{colName}}\" est alphabétiquement après \"{{value}}\" ", + "alphabeticallyAfterOrEqualTo": "Alphabétiquement après ou égal à", + "valueInColumnColNameIsAlphabetically-3": "La valeur dans la colonne \"{{colName}}\" est alphabétiquement après ou égale à \"{{value}}\" ", + "valueInColumnColNameIsEqualToValue-1": "La valeur dans la colonne \"{{colName}}\" est égale à {{value}}", + "lessThan": "Moins que", + "valueInColumnColNameIsLessThanValue": "La valeur dans la colonne \"{{colName}}\" est inférieure à {{value}}", + "lessThanOrEqualTo": "Inférieur ou égal à", + "valueInColumnColNameIsLessThanOrEqualTo": "La valeur dans la colonne \"{{colName}}\" est inférieure ou égale à {{value}}", + "greaterThan": "Plus grand que", + "valueInColumnColNameIsGreaterThanValue": "La valeur dans la colonne \"{{colName}}\" est supérieure à {{value}}", + "greaterThanOrEqualTo": "Plus grand ou égal à", + "valueInColumnColNameIsGreaterThanOrEqual": "La valeur dans la colonne \"{{colName}}\" est supérieure ou égale à {{value}}", + "on": "Sur", + "dateInColumnColNameIsValue": "La date dans la colonne \"{{colName}}\" est {{value}}", + "before": "Avant", + "dateInColumnColNameIsBeforeValue": "La date dans la colonne \"{{colName}}\" est antérieure à {{value}}", + "beforeOrOn": "Avant ou après", + "dateInColumnColNameIsBeforeOrOnValue": "La date dans la colonne \"{{colName}}\" est avant ou le {{value}}", + "after": "Après", + "dateInColumnColNameIsAfterValue": "La date dans la colonne \"{{colName}}\" est après {{value}}", + "afterOrOn": "Après ou sur", + "dateInColumnColNameIsAfterOrOnValue": "La date dans la colonne \"{{colName}}\" est après ou le {{value}}", + "onXthDayBeforeafterCurrentDate": "Le xième jour avant / après la date actuelle", + "dateInColumnColNameIsTheCurrentDate": "La date dans la colonne \"{{colName}}\" est la date actuelle", + "dateInColumnColNameIsTheValuethDayAfter": "La date dans la colonne \"{{colName}}\" est le {{value}} - ème jour après la date actuelle", + "dateInColumnColNameIsTheValuethDayBefore": "La date dans la colonne \"{{colName}}\" est le {{valeur}} - ème jour avant la date actuelle", + "beforeXthDayBeforeafterCurrentDate": "Avant le xième jour avant / après la date actuelle", + "dateInColumnColNameIsBeforeTheCurrent": "La date dans la colonne \"{{colName}}\" est antérieure à la date actuelle", + "dateInColumnColNameIsBeforeTheValuethDay": "La date dans la colonne \"{{colName}}\" est antérieure au {{value}} - ème jour après la date actuelle", + "dateInColumnColNameIsBeforeTheValuethDay-1": "La date dans la colonne \"{{colName}}\" est antérieure au {{value}} - ème jour avant la date actuelle", + "beforeOrOnXthDayBeforeafterCurrentDate": "Avant ou le xième jour avant / après la date actuelle", + "dateInColumnColNameIsBeforeOrOnThe": "La date dans la colonne \"{{colName}}\" est antérieure ou à la date actuelle", + "dateInColumnColNameIsBeforeOrOnThe-1": "La date dans la colonne \"{{colName}}\" est avant ou le {{value}} - ème jour après la date actuelle", + "dateInColumnColNameIsBeforeOrOnThe-2": "La date dans la colonne \"{{colName}}\" est avant ou le {{value}} - ème jour avant la date actuelle", + "afterXthDayBeforeafterCurrentDate": "Après le xième jour avant / après la date actuelle", + "dateInColumnColNameIsAfterTheCurrentDate": "La date dans la colonne \"{{colName}}\" est postérieure à la date actuelle", + "dateInColumnColNameIsAfterTheValuethDay": "La date dans la colonne \"{{colName}}\" est après le {{value}} - ème jour après la date actuelle", + "dateInColumnColNameIsAfterTheValuethDay-1": "La date dans la colonne \"{{colName}}\" est après le {{value}} - ème jour avant la date actuelle", + "afterOrOnXthDayBeforeafterCurrentDate": "Après ou le xième jour avant / après la date actuelle", + "dateInColumnColNameIsAfterOrOnTheCurrent": "La date dans la colonne \"{{colName}}\" est postérieure ou à la date actuelle", + "dateInColumnColNameIsAfterOrOnTheValueth": "La date dans la colonne \"{{colName}}\" est après ou le {{value}} - ème jour après la date actuelle", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "La date dans la colonne \"{{colName}}\" est postérieure ou le {{value}} - ème jour avant la date actuelle", + "isSelected": "Est sélectionné", + "valueInColumnColNameIsSelected": "La valeur dans la colonne \"{{colName}}\" est sélectionnée", + "isNotSelected": "N'est pas sélectionné", + "valueInColumnColNameIsNotSelected": "La valeur dans la colonne \"{{colName}}\" n'est pas sélectionnée", + "keyEqualTo": "Clé égale à", + "theSelectedKeyInColumnColNameIsEqualTo": "La clé sélectionnée dans la colonne \"{{colName}}\" est égale à \"{{value}}\" ", + "keyMatchWithSqlLike": "Correspondance clé (avec SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "La clé sélectionnée dans la colonne \"{{colName}}\" correspond (avec SQL LIKE) \"{{value}}\" ", + "keyMatchWithRegularExpressions": "Correspondance clé (avec des expressions régulières)", + "theSelectedKeyInColumnColNameMatchesWith-1": "La clé sélectionnée dans la colonne \"{{colName}}\" correspond (avec des expressions régulières) \"{{value}}\" ", + "keyAlphabeticallyBefore": "Clé alphabétique avant", + "theSelectedKeyInColumnColNameIs": "La clé sélectionnée dans la colonne \"{{colName}}\" est alphabétiquement avant \"{{value}}\" ", + "keyAlphabeticallyBeforeOrEqualTo": "Clé alphabétique avant ou égale à", + "theSelectedKeyInColumnColNameIs-1": "La clé sélectionnée dans la colonne \"{{colName}}\" est alphabétiquement avant ou égale à \"{{value}}\" ", + "keyAlphabeticallyAfter": "Clé alphabétique après", + "theSelectedKeyInColumnColNameIs-2": "La clé sélectionnée dans la colonne \"{{colName}}\" est alphabétiquement après \"{{value}}\" ", + "keyAlphabeticallyAfterOrEqualTo": "Clé alphabétique après ou égale à", + "theSelectedKeyInColumnColNameIs-3": "La clé sélectionnée dans la colonne \"{{colName}}\" est alphabétique après ou égale à \"{{value}}\" ", + "value": "Valeur", + "valueMustNotBeEmpty": "La valeur ne doit pas être vide", + "valueMustBeANumber": "La valeur doit être un nombre", + "numberOfDays": "Nombre de jours", + "beforeAfter": "Avant après", + "beforeCurrentDate": "Avant la date actuelle", + "afterCurrentDate": "Après la date actuelle", + "numberOfDaysMustNotBeEmpty": "Le nombre de jours ne doit pas être vide", + "numberOfDaysMustBeANumber": "Le nombre de jours doit être un nombre", + "emailAddress-1": "Adresse électronique", + "signupCountry": "Pays d'inscription", + "signUpDate": "Date d'inscription", + "testUser": "Utilisateur test", + "fieldMustBeSelected": "Le champ doit être sélectionné", + "field": "Champ", + "select-1": "- Sélectionnez -", + "ruleOptions": "Options de règle", + "ok": "D'ACCORD", + "anotherSubscriptionWithTheSameEmail": "Un autre abonnement avec le même e-mail existe déjà.", + "subscriptionUpdated": "Abonnement mis à jour", + "subscriptionCreated": "Abonnement créé", + "itSeemsThatAnotherSubscriptionWithThe": "Il semble qu'un autre abonnement avec le même e-mail ait été créé entre-temps. Actualisez votre page pour recommencer. Veuillez noter que vos modifications seront perdues.", + "notSelected": "Non séléctionné", + "areYouSureYouWantToDeleteSubscriptionFor": "Voulez-vous vraiment supprimer l'abonnement pour \"{{email}}\" ?", + "deletingSubscription": "Suppression de l'abonnement ...", + "subscriptionDeleted": "Abonnement supprimé", + "editSubscription": "Modifier l'abonnement", + "createSubscription": "Créer un abonnement", + "timezone": "Fuseau horaire", + "subscriptionStatus": "État de l'abonnement", + "testUser?": "Utilisateur de test?", + "ifCheckedThenThisSubscriptionCanBeUsed": "Si coché, cet abonnement peut être utilisé pour prévisualiser les messages de la campagne", + "subscribed": "Abonné", + "unubscribed": "Désinscrit", + "erased": "[EFFACÉ]", + "confirmUnsubscription": "Confirmer la désinscription", + "areYouSureYouWantToUnsubscribeEmail?": "Êtes-vous sûr de vouloir vous désabonner {{email}}?", + "unsubscribingEmail": "Se désabonner {{email}}", + "emailUnsubscribed": "{{email}} désabonné", + "confirmEmailBlacklisting": "Confirmer la mise sur liste noire des e-mails", + "areYouSureYouWantToBlacklistEmail?": "Êtes-vous sûr de vouloir mettre sur liste noire {{email}}?", + "blacklistingEmail": "Liste noire {{email}}", + "emailBlacklisted": "{{email}} sur liste noire", + "allSubscriptions": "Tous les abonnements", + "subscriptionForm": "Formulaire d'inscription", + "exportAsCsv": "Exporter en CSV", + "addSubscriber": "Ajouter un abonné", + "usernameOrEmailMustNotBeEmpty": "Le nom d'utilisateur ou l'e-mail ne doit pas être vide", + "processing": "En traitement ...", + "ifTheUsernameEmailExistsInTheSystem": "Si le nom d'utilisateur / e-mail existe dans le système, le lien de réinitialisation du mot de passe sera envoyé à l'e-mail enregistré.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Veuillez saisir votre nom d'utilisateur / e-mail et réessayer.", + "passwordReset": "Réinitialisation du mot de passe", + "pleaseProvideTheUsernameOrEmailAddress": "Veuillez fournir le nom d'utilisateur ou l'adresse e-mail enregistrée avec votre compte Mailtrain.", + "weWillSendYouAnEmailThatWillAllowYouTo": "Nous vous enverrons un e-mail qui vous permettra de réinitialiser votre mot de passe.", + "usernameOrEmail": "Nom d'utilisateur ou email", + "sendEmail": "Envoyer un e-mail", + "userNameMustNotBeEmpty": "Le nom d'utilisateur ne doit pas être vide", + "passwordMustNotBeEmpty": "Le mot de passe ne doit pas être vide", + "verifyingCredentials": "Vérification des informations d'identification ...", + "pleaseEnterYourCredentialsAndTryAgain": "Veuillez saisir vos informations d'identification et réessayer.", + "invalidUsernameOrPassword": "Nom d'utilisateur ou mot de passe invalide.", + "forgotYourPassword?": "Mot de passe oublié?", + "signIn": "Se connecter", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "rememberMe": "Souviens-toi de moi", + "resettingPassword": "Réinitialisation du mot de passe ...", + "passwordReset-1": "Réinitialisation du mot de passe", + "yourPasswordCannotBeReset": "Votre mot de passe ne peut pas être réinitialisé.", + "thePasswordResetTokenHasExpired": "Le jeton de réinitialisation du mot de passe a expiré.", + "clickHereToRequestANewPasswordResetLink": "Cliquez ici pour demander un nouveau lien de réinitialisation de mot de passe.", + "validatingPasswordResetToken": "Validation du jeton de réinitialisation du mot de passe ...", + "thePasswordCannotBeReset": "Le mot de passe ne peut pas être réinitialisé", + "setNewPasswordFor": "Définir un nouveau mot de passe pour", + "resetPassword": "Réinitialiser le mot de passe", + "parentNamespaceMustBeSelected": "L'espace de noms parent doit être sélectionné", + "namespaceUpdated": "Espace de noms mis à jour", + "namespaceCreated": "Espace de noms créé", + "thereHasBeenALoopDetectedInTheAssignment": "Une boucle a été détectée dans l'attribution de l'espace de noms parent. C'est probablement parce que quelqu'un d'autre a changé le parent de certains espaces de noms entre-temps. Actualisez votre page pour recommencer. Veuillez noter que vos modifications seront perdues.", + "itSeemsThatTheParentNamespaceHasBeen": "Il semble que l'espace de noms parent ait été supprimé entre-temps. Actualisez votre page pour recommencer. Veuillez noter que vos modifications seront perdues.", + "deletingNamespace": "Suppression de l'espace de noms ...", + "namespaceDeleted": "Espace de noms supprimé", + "editNamespace": "Modifier l'espace de noms", + "createNamespace": "Créer un espace de noms", + "parentNamespace": "Espace de noms parent", + "namespaces": "Espaces de noms", + "namespaceName": "Espace de noms \"{{name}}\" ", + "reportTemplateMustBeSelected": "Le modèle de rapport doit être sélectionné", + "exactlyOneItemHasToBeSelected": "Un seul élément doit être sélectionné", + "atLeastCountItemsHaveToBeSelected": "Au moins {{count}} élément (s) doivent être sélectionnés", + "atMostCountItemsCanToBeSelected": "Au plus {{count}} élément (s) peuvent être sélectionnés", + "reportParametersAreNotSelectedWaitFor": "Les paramètres de rapport ne sont pas sélectionnés. Attendez qu'ils s'affichent, puis remplissez-les.", + "reportUpdated": "Rapport mis à jour", + "reportCreated": "Rapport créé", + "unknownFieldTypeType": "Type de champ inconnu \"{{type}}\" ", + "deletingReport": "Suppression du rapport ...", + "reportDeleted": "Rapport supprimé", + "editReport": "Modifier le rapport", + "createReport": "Creer un rapport", + "reportTemplate-1": "Modèle de rapport", + "reportParameters": "Paramètres du rapport", + "loadingReportTemplate": "Chargement du modèle de rapport ...", + "processing-1": "En traitement", + "view": "Vue", + "refreshReport": "Actualiser le rapport", + "reportGenerationFailed": "La génération du rapport a échoué", + "regenerateReport": "Rapport régénéré", + "viewConsoleOutput": "Afficher la sortie de la console", + "reportTemplates": "Modèles de rapport", + "reports": "Rapports", + "reportName": "Rapport \"{{name}}\" ", + "output": "Production", + "templateName": "Template \"{{name}}\" ", + "mimeTypeMustBeSelected": "Le type MIME doit être sélectionné", + "syntaxErrorInTheUserFieldsSpecification": "Erreur de syntaxe dans la spécification des champs utilisateur", + "reportTemplateUpdated": "Modèle de rapport mis à jour", + "reportTemplateCreated": "Modèle de rapport créé", + "deletingReportTemplate": "Suppression du modèle de rapport ...", + "reportTemplateDeleted": "Modèle de rapport supprimé", + "editReportTemplate": "Modifier le modèle de rapport", + "createReportTemplate": "Créer un modèle de rapport", + "csv": "CSV", + "userSelectableFields": "Champs sélectionnables par l'utilisateur", + "jsonSpecificationOfUserSelectableFields": "Spécification JSON des champs sélectionnables par l'utilisateur.", + "dataProcessingCode": "Code informatique", + "renderingTemplate": "Modèle de rendu", + "writeTheBodyOfTheJavaScriptFunctionWith": "Écrivez le corps de la fonction JavaScript avec la fonction <1> de signature (entrées, rappel) qui renvoie un objet à restituer par le modèle de guidon ci-dessous.", + "useHtmlWithHandlebarsSyntaxSee": "Utiliser HTML avec la syntaxe des guidons. Voir la documentation <1> ici .", + "blank": "Vide", + "openCounts": "Comptes ouverts", + "openCountsAsCsv": "Open compte comme CSV", + "aggregatedOpenCounts": "Comptes ouverts agrégés", + "reportName-1": "Signaler {{name}}", + "loadingReport": "Chargement du rapport ...", + "outputForReportName": "Sortie pour le rapport {{name}}", + "loadingReportOutput": "Chargement de la sortie du rapport ...", + "reportIsBeingGenerated": "Le rapport est en cours de génération", + "reportNotGenerated": "Rapport non généré", + "current": "(courant)", + "administration": "Administration", + "users": "Utilisateurs", + "globalSettings": "Paramètres globaux", + "sendConfigurations": "Envoyer des configurations", + "logOut": "Se déconnecter", + "home": "Accueil", + "mailerTypeMustBeSelected": "Le type d'envoi doit être sélectionné", + "verpHostnameMustNotBeEmpty": "Le nom d'hôte VERP ne doit pas être vide", + "sendConfigurationUpdated": "Envoyer la configuration mise à jour", + "sendConfigurationCreated": "Envoyer la configuration créée", + "deletingSendConfiguration": "Suppression de la configuration d'envoi ...", + "sendConfigurationDeleted": "Envoyer la configuration supprimée", + "editSendConfiguration": "Modifier la configuration d'envoi", + "createSendConfiguration": "Créer une configuration d'envoi", + "emailHeader": "En-tête d'email", + "defaultFromEmail": "Default \" from \"email", + "overridable": "Overridable", + "defaultFromName": "Default \" from \"name", + "defaultReplytoEmail": "Default \" répondre à \"e-mail", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "Statut VERP", + "serverHostname": "Nom d'hôte du serveur", + "theVerpServerHostnameEgBouncesexamplecom": "Le nom d'hôte du serveur VERP, par exemple. Bounces.example.com", + "verpBounceHandlingServerHostnameThis": "Nom d'hôte du serveur de gestion des rebonds VERP. Ce nom d'hôte est utilisé dans l'adresse FROM de l'enveloppe SMTP et les enregistrements DNS MX doivent pointer vers ce serveur", + "disableSenderHeader": "Désactiver l'en-tête de l'expéditeur", + "withDmarcTheReturnPathAndFromAddressMust": "Avec DMARC, le chemin de retour et l'adresse de provenance doivent correspondre au même domaine. Par défaut, nous contournons ce problème en utilisant l'adresse VERP dans l'en-tête de l'expéditeur, avec pour effet secondaire que certains clients de messagerie s'affichent de façon laide au nom du message. Vous peut désactiver en toute sécurité cet en-tête d'expéditeur si vous n'utilisez pas DMARC ou si votre nom d'hôte VERP est dans le même domaine que l'adresse de l'expéditeur. ", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0> Mailtrain peut utiliser le routage basé sur VERP pour détecter les rebonds. Dans ce cas, le message est envoyé au destinataire en utilisant une adresse VERP personnalisée comme chemin de retour du message. Si le message n'est pas accepté, un e-mail de rebond est envoyé à cette adresse VERP spéciale et donc un rebond est détecté. ", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0> Pour que VERP fonctionne, vous devez configurer un enregistrement DNS MX qui pointe vers votre nom d'hôte Mailtrain. Vous devez également vous assurer que l'interface Mailtrain VERP est disponible à partir du port 25 de votre serveur (le port 25 nécessite généralement des privilèges d'utilisateur root). De cette façon, si quelqu'un essaie d'envoyer un e-mail à someuser @ verp-hostname, l'e-mail devrait se retrouver sur ce serveur. ", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0> VERP ne fonctionne généralement que si vous utilisez votre propre serveur SMTP. Les services de relais réguliers (SES, SparkPost, Gmail, etc.) ont tendance à supprimer l'adresse VERP du message. ", + "verpBounceHandlingServerIsNotEnabled": "<0> Le serveur de gestion des rebonds VERP n'est pas activé. Modifiez le fichier de configuration de votre serveur et redémarrez le serveur pour l'activer. ", + "labelMustNotBeEmpty": "{{label}} ne doit pas être vide", + "labelMustBeANumber": "{{label}} doit être un nombre", + "genericSmtp": "SMTP générique", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Ne pas utiliser de cryptage", + "useTls –UsuallySelectedForPort465": "Utiliser TLS - généralement sélectionné pour le port 465", + "useStarttls –UsuallySelectedForPort587": "Utiliser STARTTLS - généralement sélectionné pour les ports 587 et 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "ZoneMTA intégré", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Configuration dynamique des clés DKIM via le plugin Mailtrain de ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Configuration dynamique des clés DKIM via le plugin de configuration HTTP de ZoneMTA", + "noDynamicConfigurationOfDkimKeys": "Pas de configuration dynamique des clés DKIM", + "mailerSettings": "Paramètres de l'expéditeur", + "mailerType": "Type de mailer", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Nom d'hôte, par exemple. Smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, par exemple. 465. Détecté automatiquement si laissé vide", + "encryption": "Chiffrement", + "enableSmtpAuthentication": "Activer l'authentification SMTP", + "usernameEgMyaccount@examplecom": "Nom d'utilisateur, par exemple. Myaccount@example.com", + "advancedMailerSettings": "Paramètres avancés de l'expéditeur", + "logSmtpTransactions": "Enregistrer les transactions SMTP", + "allowSelfsignedCertificates": "Autoriser les certificats auto-signés", + "maxConnections": "Max connexions", + "theCountOfMaxConnectionsEg10": "Le nombre de connexions max, par exemple 10", + "theCountOfMaximumSimultaneousConnections": "Nombre de connexions simultanées maximales à établir par rapport au serveur SMTP (par défaut 5). Cette limite est par processus d'envoi.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "Le nombre de messages max, par exemple 100", + "theNumberOfMessagesToSendThroughASingle": "Le nombre de messages à envoyer via une seule connexion avant que la connexion ne soit fermée et rouverte (par défaut 100)", + "throttling": "Étranglement", + "messagesPerHourEg1000": "Messages par heure, par exemple 1000", + "maximumNumberOfMessagesToSendInAnHour": "Nombre maximum de messages à envoyer en une heure. Laissez vide ou zéro pour aucune limitation. Si votre fournisseur utilise une limite de vitesse différente (messages / minute ou messages / seconde), convertissez cette limite en messages / heure (1m / s => 3600m / h). Cette limite est par processus d'envoi. ", + "dynamicConfiguration": "Configuration dynamique", + "dkimSigning": "Signature DKIM", + "zoneMtaDkimApiKey": "Clé API ZoneMTA DKIM", + "secretValueKnownToZoneMtaForRequesting": "Valeur secrète connue de ZoneMTA pour demander des informations de clé DKIM. Si cette valeur a été générée par le script d'installation de Mailtrain, vous pouvez la conserver telle quelle.", + "dkimDomain": "Domaine DKIM", + "leaveBlankToUseTheSenderEmailAddress": "Laisser vide pour utiliser le domaine de l'adresse e-mail de l'expéditeur.", + "dkimKeySelector": "Sélecteur de touches DKIM", + "signingIsDisabledWithoutAValidSelector": "La signature est désactivée sans valeur de sélecteur valide.", + "dkimPrivateKey": "Clé privée DKIM", + "beginsWithBeginRsaPrivateKey": "Commence par \" ----- COMMENCER LA CLÉ PRIVÉE RSA ----- \"", + "signingIsDisabledWithoutAValidPrivateKey": "La signature est désactivée sans clé privée valide.", + "accessKey": "Clef d'accès", + "accessSecret": "Access Secret", + "awsAccessKeyId": "ID de clé d'accès AWS", + "awsSecretAccessKey": "Clé d'accès secrète AWS", + "region": "Région", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0> Si vous utilisez ZoneMTA, Mailtrain peut fournir une clé DKIM pour signer tous les messages sortants. D'autres services fournissent généralement leurs propres moyens pour signer DKIM vos messages. ", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0> N'utilisez pas de clés sensibles ici. La clé privée n'est pas chiffrée dans la base de données. ", + "sendConfigurations-1": "Envoyer des configurations", + "globalSettingsSaved": "Paramètres globaux enregistrés", + "adminEmail": "Courriel de l'administrateur", + "thisEmailIsUsedAsTheMainContactAndAsA": "Cet e-mail est utilisé comme contact principal et comme adresse e-mail par défaut si aucune adresse e-mail n'est spécifiée dans les paramètres de la liste.", + "defaultHomepageUrl": "URL de page d'accueil par défaut", + "thisUrlWillBeUsedInListSubscriptionForms": "Cette URL sera utilisée dans les formulaires d'abonnement à la liste si aucune page d'accueil n'est spécifiée dans les paramètres de la liste.", + "trackingId": "ID de suivi", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Entrez le code de suivi Google Analytics", + "googleMapsApiKey": "Clé API Google Maps", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "L'aperçu de la carte dans les statistiques de campagne nécessite une clé API Google Maps. Veuillez l'entrer ici. Si aucune clé n'est fournie, Google peut limiter les demandes de carte, ce qui entraînera une indisponibilité occasionnelle de la carte dans les statistiques de campagne.", + "frontpageShoutOut": "Cri de première page", + "htmlCodeShownInTheFrontPageHeaderSection": "Code HTML affiché dans la section d'en-tête de la première page", + "gpgSigning": "Signature GPG", + "privateKeyPassphrase": "Phrase secrète de clé privée", + "passphraseForTheKeyIfSet": "Phrase secrète pour la clé si elle est définie", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Remplissez-le uniquement si votre clé privée est chiffrée avec une phrase secrète", + "gpgPrivateKey": "Clé privée GPG", + "beginsWithBeginPgpPrivateKeyBlock": "Commence par '----- BEGIN PGP PRIVATE KEY BLOCK -----'", + "thisValueIsOptionalIfYouDoNotProvideA": "Cette valeur est facultative. Si vous ne fournissez pas de clé privée, les messages chiffrés par GPG sont envoyés sans signature.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0> Seuls les messages chiffrés peuvent être signés. Les abonnés qui n'ont pas configuré de clé publique GPG dans leur profil reçoivent des e-mails normaux. Les utilisateurs avec un jeu de clés GPG reçoivent des messages chiffrés et si vous avez également défini une clé de signature, les messages sont signés avec cette clé. ", + "doNotUseSensitiveKeysHereThePrivateKey": "<0> N'utilisez pas de clés sensibles ici. La clé privée et la phrase secrète ne sont pas chiffrées dans la base de données. ", + "userMustNotBeEmpty": "L'utilisateur ne doit pas être vide", + "roleMustBeSelected": "Le rôle doit être sélectionné", + "role": "Rôle", + "unshare": "Annuler le partage", + "confirmUnsharing": "Confirmer le partage", + "areYouSureYouWantToRemoveTheShareToUser": "Voulez-vous vraiment supprimer le partage pour l'utilisateur \"{{nom d'utilisateur}}\" ?", + "removingShareForUserUsername": "Suppression du partage pour l'utilisateur \"{{nom d'utilisateur}}\" ", + "shareForUserUsernameRemoved": "Partager pour l'utilisateur \"{{nom d'utilisateur}}\" supprimé", + "addUser": "Ajouter un utilisateur", + "user": "Utilisateur", + "existingUsers": "Utilisateurs existants", + "areYouSureYouWantToRemoveTheSharingOfThe": "Voulez-vous vraiment supprimer le partage du {{typeName}}\" {{name}}\" ?", + "removingSharingOfTheTypeNameName": "Suppression du partage de {{typeName}}\" {{name}}\" ", + "sharingOfTheTypeNameNameRemoved": "Partage du {{typeName}}\" {{name}}\" supprimé", + "sharesForUserUsername": "Partages pour l'utilisateur \"{{nom d'utilisateur}}\" ", + "namespace-1": "espace de noms", + "list-1": "liste", + "template-1": "modèle", + "mosaicoTemplates": "Modèles Mosaico", + "campaign-1": "campagne", + "customForms-2": "formulaires personnalisés", + "report-1": "rapport", + "reportTemplate-2": "modèle de rapport", + "sendConfiguration-1": "envoyer la configuration", + "sourceTemplateMustNotBeEmpty": "Le modèle source ne doit pas être vide", + "templateUpdated": "Modèle mis à jour", + "templateCreated": "Modèle créé", + "deletingTemplate": "Suppression du modèle ...", + "templateDeleted": "Modèle supprimé", + "editTemplate": "Modifier le modèle", + "createTemplate": "Créer un modèle", + "cloneFromAnExistingTemplate": "Cloner à partir d'un modèle existant", + "cloneFromAnExistingCustomForms": "Cloner à partir de formulaires personnalisés existants", + "mosaico": "Mosaico", + "templateContentHtml": "Contenu du modèle (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Le modèle Mosaico doit être sélectionné", + "mosaicoWithPredefinedTemplates": "Mosaico avec des modèles prédéfinis", + "mosaicoTemplate-1": "Gabarit Mosaico", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Editeur de code", + "codeEditorTemplateDesigner": "Concepteur de modèles d'éditeur de code", + "mergeTagReference": "Référence de la balise de fusion", + "templateContentPlainText": "Contenu du modèle (texte brut)", + "mergeTagsAreTagsThatAreReplacedBefore": "", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1> Vous pouvez utiliser n'importe laquelle des balises de fusion standard ci-dessous. En plus de cela, chaque champ personnalisé a sa propre balise de fusion. Vérifiez les champs de la liste à laquelle vous allez envoyer. \n", + "urlThatPointsToTheUnsubscribePage": "URL pointant vers la page de désabonnement", + "urlThatPointsToThePreferencesPageOfThe": "URL pointant vers la page des préférences de l'abonné", + "urlToPreviewTheMessageInABrowser": "URL pour prévisualiser le message dans un navigateur", + "uniqueIdThatIdentifiesTheRecipient": "ID unique qui identifie le destinataire", + "uniqueIdThatIdentifiesTheListUsedForThis": "ID unique qui identifie la liste utilisée pour cette campagne", + "uniqueIdThatIdentifiesCurrentCampaign": "ID unique qui identifie la campagne actuelle", + "forRssCampaignsTheFollowingFurtherTags": "\n <1> Pour les campagnes RSS, les autres balises suivantes peuvent être utilisées. \n", + "rssEntryTitle": "Titre de l'entrée RSS", + "rssEntryDate": "Date d'entrée RSS", + "rssEntryLink": "Lien d'entrée RSS", + "contentOfAnRssEntry": "Contenu d'une entrée RSS", + "rssEntrySummary": "Résumé de l'entrée RSS", + "rssEntryImageUrl": "URL de l'image d'entrée RSS", + "toExtractTheTextFromHtmlClickHerePlease": "Pour extraire le texte de HTML, cliquez <1> ici . Veuillez noter que votre texte en clair existant dans le champ ci-dessus sera écrasé.", + "mosaicoTemplateUpdated": "Modèle Mosaico mis à jour", + "mosaicoTemplateCreated": "Modèle Mosaico créé", + "deletingMosaicoTemplate": "Suppression du modèle Mosaico ...", + "mosaicoTemplateDeleted": "Modèle Mosaico supprimé", + "editMosaicoTemplate": "Modifier le modèle Mosaico", + "createMosaicoTemplate": "Créer un modèle Mosaico", + "invalidMjml": "MJML non valide", + "mjmlIsValid": "MJML est valide.", + "invalidMjml-1": "MJML non valide.", + "templateContent": "Contenu du modèle", + "validate": "Valider", + "blockThumbnails": "Bloquer les vignettes", + "versafixOne": "Versafix One", + "mjmlSample": "Échantillon MJML", + "mosaicoTemplateName": "Modèle Mosaico \"{{name}}\" ", + "theseFilesArePubliclyAvailableViaHttpSo-1": "Ces fichiers sont accessibles au public via HTTP afin de pouvoir être liés à partir du modèle Mosaico.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "Ces fichiers seront utilisés par Mosaico pour rechercher des vignettes de bloc (le répertoire \" edres \"). Placez ici un fichier par type de bloc que vous avez défini dans le modèle Mosaico. Chaque fichier doit avoir le même nom que l'ID du bloc . Le fichier sera utilisé comme miniature du bloc correspondant. ", + "sendConfigurationHasToBeSelected": "La configuration d'envoi doit être sélectionnée.", + "listHasToBeSelected": "La liste doit être sélectionnée.", + "theUserNameAlreadyExistsInTheSystem": "Le nom d'utilisateur existe déjà dans le système.", + "userUpdated": "Utilisateur mis à jour", + "userCreated": "Utilisateur créé", + "theUsernameIsAlreadyAssignedToAnother": "Le nom d'utilisateur est déjà attribué à un autre utilisateur.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "L'e-mail est déjà attribué à un autre utilisateur.", + "deletingUser": "Suppression de l'utilisateur ...", + "userDeleted": "Utilisateur supprimé", + "editUser": "Modifier l'utilisateur", + "createUser": "Créer un utilisateur", + "userName": "Nom d'utilisateur", + "repeatPassword": "Répéter le mot de passe", + "deleteUser": "Supprimer l'utilisateur", + "userName-1": "Nom d'utilisateur}}\"", + "shares": "Actions", + "subscriptionConfirmed": "Inscription Confirmée", + "listEmailAddressAlreadyRegistered": "L'adresse email est déjà enregistrée", + "listPleaseConfirmEmailChangeIn": "Veuillez confirmer la modification de l'e-mail dans l'abonnement ", + "pleaseConfirmSubscription": "Veuillez confirmer votre abonnement", + "listPleaseConfirmUnsubscription": "Veuillez confirmer la désinscription ", + "listUnsubscriptionConfirmed": "Désinscription confirmée ", + "invalidEmailAddressEmailMxRecordNotFound": "Enregistrement MX introuvable pour le domaine ", + "invalidEmailAddressEmailAddressDomainNot": "Domaine d'adresse introuvable ", + "invalidEmailAddressEmailAddressDomain": "Le nom de domaine de l'adresse est requis ", + "invalidEmailAddressEmail": "Adresse e-mail non valide \"{{e-mail}}\" ", + "mailerPasswordChangeRequest": "Demande de modification du mot de passe de l'expéditeur", + "mailtrain": "Mailtrain", + "emailAddressChanged": "L'adresse e-mail a changé", + "emailAddressNotSet": "Adresse e-mail non définie", + "nothingSeemsToBeChanged": "Rien ne semble avoir changé", + "anEmailWithFurtherInstructionsHasBeen": "Un e-mail contenant des instructions supplémentaires a été envoyé à l'adresse indiquée", + "foundAddedMessagesNewCampaignMessages": "Trouvé {{addedMessages}} nouveaux messages de campagne à partir du flux {{campaignId}}", + "foundNothingNewFromTheFeed": "Rien trouvé de nouveau dans le flux", + "missingEmail": "E-mail manquant", + "emailAddress-2": "Adresse électronique", + "wantToChangeIt?": "vous voulez le changer?", + "downloadSignatureVerificationKey": "Télécharger la clé de vérification de signature", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Commence par & # 39; ----- COMMENCER LE BLOC DE CLÉS PUBLIQUES PGP ----- & # 39;", + "insertYourGpgPublicKeyHereToEncrypt": "Insérez ici votre clé publique GPG pour crypter les messages envoyés à votre adresse (facultatif) ", + "existingEmailAddress": "Adresse e-mail existante", + "newEmailAddress": "Nouvelle adresse courriel", + "youWillReceiveAConfirmationRequestToYour": "Vous recevrez une demande de confirmation à votre nouvelle adresse e-mail que vous devez accepter avant que votre e-mail ne soit réellement modifié", + "updateEmailAddress": "Mettre a jour l'adresse email", + "updateProfile": "Mettre à jour le profil", + "subscribeToList": "S'inscrire à la liste", + "thePasswordMustBeAtLeastMinLength": "Le mot de passe doit comporter au moins {{minLength}} caractères", + "thePasswordMustBeFewerThanMaxLength": "Le mot de passe doit contenir moins de {{maxLength}} caractères", + "thePasswordMayNotContainSequencesOfThree": "Le mot de passe ne doit pas contenir de séquences de trois caractères répétés ou plus", + "thePasswordMustContainAtLeastOne": "Le mot de passe doit contenir au moins une lettre minuscule", + "thePasswordMustContainAtLeastOne-1": "Le mot de passe doit contenir au moins une lettre majuscule", + "thePasswordMustContainAtLeastOneNumber": "Le mot de passe doit contenir au moins un chiffre", + "thePasswordMustContainAtLeastOneSpecial": "Le mot de passe doit contenir au moins un caractère spécial", + "tagLanguage": "Langue du tag", + "tagLanguageMustBeSelected": "La langue du tag doit être sélectionnée", + "helpText": "Texte d'aide", + "dTsEmptyTable": "Aucune donnée disponible dans le tableau", + "dTsInfo": "Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments", + "dTsInfoEmpty": "Affichage de l'élément 0 à 0 sur 0 élément", + "dTsInfoFiltered": "(filtré à partir de _MAX_ éléments au total)", + "dTsInfoPostFix": "", + "dTsInfoThousands": ",", + "dTsLengthMenu": "Afficher _MENU_ éléments", + "dTsLoadingRecords": "Chargement...", + "dTsProcessing": "Traitement...", + "dTsSearch": "Rechercher :", + "dTsZeroRecords": "Aucun élément correspondant trouvé", + "dTsFirst": "Premier", + "dTsLast": "Dernier", + "dTsNext": "Suivant", + "dTsPrevious": "Précédent", + "dTsSortAscending": ": activer pour trier la colonne par ordre croissant", + "dTsSortDescending": ": activer pour trier la colonne par ordre décroissant", + "saving": "Saving ...", + "channelUpdated": "Channel updated", + "channelCreated": "Channel created", + "deletingChannel": "Deleting channel ...", + "channelDeleted": "Channel deleted", + "editChannel": "Edit Channel", + "createChannel": "Create Channel", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "save": "Save", + "saveAndLeave": "Save and leave", + "channels": "Channels", + "channel": "Channel", + "channelName": "Channel \"{{name}}\"", + "cloneCampaign": "Clone Campaign", + "next": "Next", + "selectCampaignToBeCloned": "Select campaign to be cloned." +} diff --git a/locales/package-lock.json b/locales/package-lock.json new file mode 100644 index 00000000..05058bbe --- /dev/null +++ b/locales/package-lock.json @@ -0,0 +1,79 @@ +{ + "name": "mailtrain-locales-extractor", + "version": "2.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "acorn": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + }, + "acorn-jsx": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "deep-keys": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/deep-keys/-/deep-keys-0.5.0.tgz", + "integrity": "sha1-LmGZkMWFmTx9Uiy4Wy9prGdWRI4=" + }, + "ellipsize": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz", + "integrity": "sha1-nUNoLUS5GtFuvYQmisEDFwplU/g=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "slugify": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", + "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } +} diff --git a/locales/package.json b/locales/package.json new file mode 100644 index 00000000..42959f18 --- /dev/null +++ b/locales/package.json @@ -0,0 +1,23 @@ +{ + "name": "mailtrain-locales-extractor", + "private": true, + "version": "2.0.0", + "description": "Extractor for t-functions in the code (client and server)", + "main": "extract.js", + "scripts": {}, + "license": "GPL-3.0", + "homepage": "https://mailtrain.org/", + "engines": { + "node": ">=10.0.0" + }, + "dependencies": { + "acorn": "^6.0.4", + "acorn-jsx": "^5.0.0", + "camelcase": "^5.0.0", + "deep-keys": "^0.5.0", + "ellipsize": "^0.1.0", + "fast-deep-equal": "^2.0.1", + "klaw-sync": "^6.0.0", + "slugify": "^1.3.3" + } +} diff --git a/locales/pt-BR/common.json b/locales/pt-BR/common.json new file mode 100644 index 00000000..d60be0ad --- /dev/null +++ b/locales/pt-BR/common.json @@ -0,0 +1,1148 @@ +{ + "emailMustNotBeEmpty": "O email não pode estar vazio.", + "invalidEmailAddress": "Endereço de e-mail inválido", + "theEmailIsAlreadyAssociatedWithAnother": "O email já está associado a outro usuário no sistema.", + "validationIsInProgress": "A validação está em andamento ...", + "fullNameMustNotBeEmpty": "O nome completo não pode estar vazio", + "currentPasswordMustNotBeEmpty": "A senha atual não pode estar vazia.", + "incorrectPassword": "Senha incorreta.", + "passwordsMustMatch": "As senhas devem ser iguais", + "updatingUserProfile": "Atualizando o perfil do usuário ...", + "userProfileUpdated": "Perfil do usuário atualizado", + "thereAreErrorsInTheFormPleaseFixThemAnd": "Há erros no formulário. Corrija-os e envie-os novamente.", + "yourUpdatesCannotBeSaved": "Suas atualizações não podem ser salvas.", + "thePasswordIsIncorrectPossiblyJust": "A senha está incorreta (possivelmente apenas alterada em outra janela / sessão). Digite a senha correta e tente novamente.", + "theEmailIsAlreadyAssignedToAnotherUser": "O email já está atribuído a outro usuário. Digite outro email e tente novamente.", + "account": "Conta", + "generalSettings": "Configurações gerais", + "fullName": "Nome Completo", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "Este endereço é usado para recuperação de conta no caso de você perder sua senha", + "passwordChange": "Alteração de Senha", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "Preencha este formulário para alterar sua senha atual", + "currentPassword": "Senha atual", + "newPassword": "Nova senha", + "confirmPassword": "Confirmar senha", + "update": "Atualizar", + "accountManagementIsNotPossibleBecause": "O gerenciamento de conta não é possível porque o Mailtrain está configurado para usar usuários gerenciados externamente.", + "ifYouWantToChangeThePasswordUseThisLink": "Se você quiser alterar a senha, use <1> este link .", + "personalAccessToken": "token de acesso pessoal", + "accessTokenNotYetGenerated": "Token de acesso ainda não gerado", + "api": "API", + "resetAccessToken": "Redefinir Token de Acesso", + "generateAccessToken": "Gerar Token de Acesso", + "notesAboutTheApi": "Notas sobre a API", + "addSubscription": "Adicionar assinatura", + "thisApiCallEitherInsertsANewSubscription": "Esta chamada da API insere uma nova subscrição ou atualiza a existente. Os campos não incluídos são mantidos como estão, por isso, se atualizar apenas o valor LAST_NAME, FIRST_NAME é mantido inalterado para uma subscrição existente.", + "arguments": "argumentos", + "yourPersonalAccessToken": "seu token de acesso pessoal", + "subscribersEmailAddress": "endereço de e-mail do assinante", + "required": "obrigatório", + "requiredClientSideValidation": "Obrigatório (apenas validação do lado do cliente)", + "subscribersFirstName": "primeiro nome do assinante", + "subscribersLastName": "sobrenome do assinante", + "subscribersTimezoneEgEuropeTallinnPstOr": "Fuso horário do assinante (por exemplo, \"Europe/Tallinn\", \"PST\"ou \"UTC\"). Se não for definido será considerado \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valor do campo personalizado. Use sim/não para valores de grupos de opções (caixas de seleção, rádios, menus suspensos)", + "additionalPostArguments": "Argumentos adicionais do POST", + "setToYesIfYouWantToMakeSureTheEmailIs": "escolha \"sim\"se você quiser ter certeza de que o e-mail está marcado como inscrito, mesmo que tenha sido marcado como não associado. Se o e-mail já tiver sido cancelado / bloqueado, o status da assinatura não será alterado", + "setToYesIfYouWantToSendConfirmationEmail": "escolha \"sim\"se você quiser enviar um email de confirmação para o assinante antes de realmente inscrevê-lo", + "example": "Exemplo", + "removeSubscription": "Remover inscrição", + "thisApiCallMarksASubscriptionAs": "Esta chamada da API marca uma assinatura como não assinada", + "deleteSubscription": "Deletar assinatura", + "thisApiCallDeletesASubscription": "Esta chamada da API apaga uma assinatura", + "addNewCustomField": "Adicionar novo campo personalizado", + "thisApiCallCreatesANewCustomFieldForA": "Esta chamada da API cria um novo campo personalizado para uma lista.", + "fieldName": "nome do campo", + "oneOfTheFollowingTypes": "um dos seguintes tipos:", + "ifTheTypeIsOptionThenYouAlsoNeedTo": "Se o tipo for 'opção', você também precisará especificar o ID do elemento pai", + "templateForTheGroupElementIfNotSetThen": "Modelo para o elemento de grupo. Se não definido, os valores dos elementos são unidos com vírgulas", + "ifNotVisibleThenTheSubscriberCanNotView": "se não for visível, o assinante não poderá visualizar ou modificar esse valor na página de perfil", + "getListOfBlacklistedEmails": "Obter lista de emails na lista negra", + "thisApiCallGetListOfBlacklistedEmails": "Esta chamada da API obtém uma lista de emails na lista negra.", + "startPosition": "Posição inicial", + "optionalDefault0": "opcional, padrão 0", + "limitEmailsCountInResponse": "limitar contagem de emails em resposta", + "optionalDefault10000": "opcional, padrão 10000", + "filterByPartOfEmail": "filtrar por parte do email", + "optionalDefault": "opcional, padrão \"\"", + "addEmailToBlacklist": "Adicionar email à lista negra", + "thisApiCallEitherAddEmailsToBlacklist": "Esta chamada da API quer adicionar emails à lista negra", + "emailAddress": "endereço de email", + "deleteEmailFromBlacklist": "Excluir email da lista negra", + "thisApiCallEitherDeleteEmailsFrom": "Esta API pode excluir e-mails da lista negra", + "getTheListsAUserHasSubscribedTo": "Obter as listas em que um usuário se inscreveu", + "retrieveTheListsThatTheUserWithEmailHas": "Recupere as listas com as quais o usuário: email se inscreveu.", + "triggerFetchOfACampaign": "Trigger fetch of a campaign", + "triggerFetchOfACampaign - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger fetch of a campaign", + "forcesTheRssFeedCheckToImmediatelyCheck": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "forcesTheRssFeedCheckToImmediatelyCheck - TODO: update line above and then delete this line to mark that the translation has been fixed": "Forces the RSS feed check to immediately check the campaign with the given CID (in :campaignCid). It works only for RSS campaigns.", + "sendTransactionalEmail": "Enviar email transacional", + "sendSingleEmailByTemplateWithGiven": "Enviar modelo único por: templateId", + "sendSingleEmailByTemplateWithGiven - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send single email by template with given templateId", + "idOfConfigurationUsedToCreateMailer": "ID da configuração usada para criar a instância do mailer", + "subject": "Assunto", + "dataPassedToTemplateWhenCompilingWith": "Dados passados para o modelo ao compilar com o Handlebars", + "mapOfTemplatesubjectVariablesToReplace": "Mapa de variáveis template / subject a substituir", + "apiResponseIsAJsonStructureWithErrorAnd": "Resposta da API é uma estrutura JSON com <1> erro e <3> dados . Se a resposta <5> erro tiver um valor definido, a solicitação falhou ", + "youNeedToDefineProperContentTypeWhen": "Você precisa definir o <1> Content-Type adequado ao fazer uma solicitação. Você pode usar <3> application / x-www-form-urlencoded para dados normais de formulário ou <5> application / json para uma carga útil JSON. O uso de <7>multipart/form-data não é suportado. ", + "emailMustNotBeEmpty-1": "O email não pode estar vazio", + "theEmailIsAlreadyOnBlacklist": "O email já está na lista negra.", + "saving": "Salvando ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "Existem erros no formulário. Corrija-os e tente novamente.", + "removeFromBlacklist": "Remover da lista negra", + "confirmRemovalFromBlacklist": "Confirmar remoção da lista negra", + "areYouSureYouWantToRemoveEmailFromThe": "Tem certeza de que deseja remover {{email}} da lista negra?", + "removingEmailFromTheBlacklist": "Removendo {{email}} da lista negra", + "emailRemovedFromTheBlacklist": "{{email}} removido da lista negra", + "blacklist": "Lista negra", + "addEmailToBlacklist-1": "Adicionar email à lista negra", + "addToBlacklist": "Adicionar à lista negra", + "blacklistedEmails": "Emails na Lista Negra", + "campaignUpdated": "Campaign updated", + "campaignUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign updated", + "editCustomContent": "Editar conteúdo personalizado", + "customTemplateEditor": "Editor de modelos personalizados", + "save": "Salvar", + "saveAndLeave": "Salvar e sair", + "saveAndLeave - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and leave", + "copy": "Copia", + "copy - TODO: update line above and then delete this line to mark that the translation has been fixed": "Copy", + "saveAndGoToStatus": "Save and go to status", + "saveAndGoToStatus - TODO: update line above and then delete this line to mark that the translation has been fixed": "Save and go to status", + "testSend": "Testar envio", + "createRegularCampaign": "Criar Campanha Regular", + "createRssCampaign": "Criar campanha de RSS", + "createTriggeredCampaign": "Criar campanha acionada", + "editRegularCampaign": "Editar campanha regular", + "editRssCampaign": "Editar Campanha RSS", + "editTriggeredCampaign": "Editar campanha acionada", + "template": "Modelo", + "template_plural": "Modelos", + "customContentClonedFromTemplate": "Conteúdo customizado clonado do template", + "customContentClonedFromAnotherCampaign": "Conteúdo personalizado clonado de outra campanha", + "customContent": "Conteúdo personalizado", + "url": "URL", + "nameMustNotBeEmpty": "O nome não pode estar vazio", + "sendConfigurationMustBeSelected": "A configuração de envio deve ser selecionada", + "fromEmailMustNotBeEmpty": "Email \"De\"não pode estar vazio", + "templateMustBeSelected": "Modelo deve ser selecionado", + "campaignMustBeSelected": "A campanha deve ser selecionada", + "typeMustBeSelected": "O tipo deve ser selecionado", + "urlMustNotBeEmpty": "O URL não pode estar vazio", + "rssFeedUrlMustBeGiven": "O URL do feed RSS deve ser fornecido", + "listMustBeSelected": "Lista deve ser selecionada", + "segmentMustBeSelected": "O segmento deve ser selecionado", + "campaignCreated": "Campaign created", + "campaignCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Campaign created", + "rssFeedUrl": "URL do feed RSS", + "name": "Nome", + "id": "Id", + "subscribers": "Assinantes", + "description": "Descrição", + "namespace": "Ambiente", + "namespace_plural": "Ambientes", + "remove": "Remover", + "insertNewEntryBeforeThisOne": "Inserir nova entrada antes desta", + "moveUp": "Mover para cima", + "moveDown": "Mover para baixo", + "list": "Lista", + "list_plural": "Listas", + "segment": "Segmento", + "useAParticularSegment": "Use um segmento em particular", + "lists": "Listas", + "addList": "Adicionar lista", + "type": "Tipo", + "created": "Criado", + "override": "Substituir", + "fromName": "Nome \"De\"", + "fromEmailAddress": "Endereço de e-mail \"De\"", + "replytoEmailAddress": "Endereço \"Responder-para\"", + "subjectLine": "Linha \"Assunto\"", + "loadingSendConfiguration": "Carregando configuração de envio ...", + "contentSource": "Fonte de conteúdo", + "selectingATemplateCreatesACampaign": "A seleção de um modelo cria uma cópia específica da campanha a partir dele", + "campaign": "Campanha", + "campaign_plural": "Campanhas", + "contentOfTheSelectedCampaignWillBeCopied": "O conteúdo da campanha selecionada será copiado para esta campanha.", + "renderUrl": "URL de renderização", + "ifAMessageIsSentThenThisUrlWillBePosTed": "Se uma mensagem for enviada, esta URL será colocada em POST usando o título Mesclar tags como POST. Use isto se você quiser gerar a mensagem HTML você mesmo.", + "deletingCampaign": "Excluindo campanha ...", + "campaignDeleted": "Campanha excluída", + "formCannotBeEditedBecauseTheCampaignIs": "O formulário não pode ser editado porque a campanha está sendo enviada. Aguarde até que o envio termine e atualize.", + "thisIsTheCampaignIdDisplayedToThe": "Este é o ID da campanha exibido para os assinantes", + "sendSettings": "Configurações de envio", + "sendConfiguration": "Configuração de envio", + "sendConfiguration_plural": "Configurações de envio", + "customUnsubscribeUrl": "URL personalizada de cancelamento de assinatura", + "tracking": "Tracking", + "tracking - TODO: update line above and then delete this line to mark that the translation has been fixed": "Tracking", + "disableOpenedTracking": "Desativar rastreamento de abertura", + "disableClickedTracking": "Desativar rastreamento de clique", + "saveAndEditContent": "Salvar e editar conteúdo", + "delete": "Deletar", + "regular": "Regular", + "triggered": "Triggered", + "rss": "RSS", + "idle": "Parado", + "scheduled": "Agendado", + "paused": "Pausado", + "finished": "Concluído", + "inactive": "Inativo", + "active": "Ativo", + "sending": "Enviando", + "status": "Status", + "sendingScheduled": "Envio programado", + "statistics": "Estatísticas", + "edit": "Editar", + "content": "Conteúdo", + "files": "Arquivos", + "attachments": "Anexos", + "triggers": "Triggers", + "share": "Compartilhar", + "createCampaign": "Criar campanha", + "campaigns": "Campanhas", + "countries": "Países", + "devices": "Dispositivos", + "campaignName": "Campanha \"{{name}}\"", + "delivered": "Entregue", + "deliveredEmails": "Emails Entregues", + "complained": "Reclamou", + "subscribersThatComplained": "Assinantes que reclamaram", + "bounced": "Retornou", + "emailsThatBounced": "Emails que foram devolvidos", + "unsubscribed": "Cancelou assinatura", + "subscribersThatUnsubscribed": "Inscritos que se desinscreveram", + "opened": "Aberto", + "clicks": "Cliques", + "theseFilesArePubliclyAvailableViaHttpSo": "Esses arquivos estão disponíveis publicamente via HTTP para que possam ser vinculados a partir do conteúdo da campanha.", + "theseFilesWillBeAttachedToTheCampaign": "Esses arquivos serão anexados aos emails da campanha como anexos adequados. Isso significa que eles contam para o tamanho eventual do email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Criar", + "campaignStatistics": "Estatísticas da campanha", + "total": "Total", + "blacklisted": "lista negra", + "complaints": "Reclamações", + "clicked": "Clicado", + "quickReports": "Quick Reports", + "quickReports - TODO: update line above and then delete this line to mark that the translation has been fixed": "Quick Reports", + "belowYouCanDownloadPremadeReportsRelated": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "belowYouCanDownloadPremadeReportsRelated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Below, you can download pre-made reports related to this campaign. Each link generates a CSV file that can be viewed in a spreadsheet editor. Custom reports and reports that cover more than one campaign can be created through <1>Reports functionality of Mailtrain.", + "uniqueVisitors": "visitantes únicos", + "totalClicks": "Cliques totais", + "campaignLinks": "links da campanha", + "subscriptionId": "Subscription ID", + "listId": "ID da lista", + "listNamespace": "Listar ambiente", + "opensCount": "Abre a contagem", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Telefone", + "bot": "Bot", + "car": "Carro", + "console": "Console", + "distributionByDeviceType": "Distribuição por tipo de dispositivo", + "loadingChart": "Carregando gráfico", + "deviceType": "tipo de dispositivo", + "count": "Contagem", + "unknown": "Desconhecido", + "distributionByCountry": "Distribuição por país", + "country": "País", + "detailedStatistics": "Estatísticas detalhadas", + "listOfSubscribersThatOpenedTheCampaign": "Lista de inscritos que abriram a campanha", + "subscriptionHasToBeSelectedToShowThe": "A assinatura deve ser selecionada para mostrar a campanha para um usuário de teste.", + "previewCampaignAs": "Visualizar campanha como", + "preview": "Prever", + "dateMustNotBeEmpty": "A data não pode estar vazia", + "dateIsInvalid": "A data é inválida", + "timeMustNotBeEmpty": "O horário não deve estar vazio", + "timeIsInvalid": "O tempo é inválido", + "confirmLaunch": "Confirmar lançamento", + "doYouWantToLaunchTheCampaign?": "Você quer lançar a campanha?", + "confirmReset": "Confirmar redefinição", + "doYouWantToResetTheCampaign?All": "Deseja redefinir a campanha? Todas as estatísticas e o rastreio das mensagens entregues serão perdidos.", + "no": "Não", + "yes": "Sim", + "subscribers-1": "assinantes", + "sendStatus": "Status do envio", + "campaignIsScheduledForDelivery": "A campanha está agendada para entrega", + "campaignIsReadyToBeSentOut": "A campanha está pronta para ser enviada.", + "sendLater": "Enviar mais tarde", + "scheduleDeliveryAtAParticularDatetime": "Programar entrega em uma data / hora específica", + "date": "Data", + "time": "Hora", + "enter24HourTimeInFormatHhmmEg1348": "Insira o horário de 24 horas no formato HH:MM (por exemplo, 13:48)", + "rescheduleSend": "Reagendar envio", + "scheduleSend": "Agendar envio", + "send": "Enviar", + "viewStatistics": "Visualizar estatísticas", + "campaignIsBeingSentOut": "Campanha está sendo enviada", + "stop": "Parar", + "allMessagesSent!HitContinueIfYouYouWant": "Todas as mensagens enviadas! Pressione \"Continuar\"se você quiser enviar esta campanha para novos assinantes.", + "continue": "Continuar", + "reset": "Resetar", + "yourCampaignIsCurrentlyDisabledClick": "Sua campanha está desativada no momento. Clique no botão Ativar para começar a ativá-la.", + "enable": "Ativar", + "yourCampaignIsEnabledAndSendingMessages": "Sua campanha está ativada e enviando mensagens.", + "disable": "Desativar", + "campaignStatus": "Status da campanha", + "targetListssegments": "Listas/segmentos de destino", + "ifANewEntryIsFoundFromCampaignFeedANew": "Se uma nova entrada for encontrada no feed da campanha, uma nova subcampaign será criada e essa entrada será listada aqui", + "sendingTestEmail": "Enviando e-mail de teste", + "subscriptionHasToBeSelected": "Assinatura deve ser selecionada.", + "sendTestEmail": "Enviar e-mail de teste", + "cancel": "Cancelar", + "subscription": "Assinatura", + "valuesMustNotBeEmpty": "Os valores não devem estar vazios", + "valueMustBeANonnegativeNumber": "O valor deve ser um número não negativo", + "sourceCampaignMustNotBeEmpty": "A campanha de origem não pode estar vazia", + "triggerUpdated": "Trigger updated", + "triggerUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger updated", + "triggerCreated": "Trigger created", + "triggerCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Trigger created", + "deletingTrigger": "Excluindo o gatilho ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Criar Trigger", + "entity": "Entidade", + "selectTheTypeOfTheTriggerRule": "Selecione o tipo da regra de gatilho.", + "triggerFires": "Disparo dispara", + "event": "Evento", + "selectTheEventThatTriggersSendingThe": "Selecione o evento que dispara o envio da campanha.", + "enabled": "Ativado", + "latestOpen": "Últimas abertas", + "latestClick": "Último clique", + "notOpened": "não aberto", + "notClicked": "não clicado", + "daysAfter": "Days after", + "welcomeToMailtrain": "Bem-vindo ao Mailtrain ...", + "close": "Close", + "countFileAdded": "{{count}} arquivo adicionado", + "countFileAdded_plural": "{{count}} arquivos adicionados", + "countFileReplaced": "{{count}} arquivo substituído", + "countFileReplaced_plural": "{{count}} arquivos de substituídos", + "countFileIgnored": "{{count}} arquivo ignorado", + "countFileIgnored_plural": "{{count}} arquivos ignorados", + "countFileUploaded": "{{count}} arquivo enviado", + "countFileUploaded_plural": "{{count}} arquivos enviados", + "uploadingCountFile": "Enviando o arquivo {{count}}", + "uploadingCountFile_plural": "Fazendo upload de {{count}} arquivos", + "fileUploadFailed": "Falha no upload do arquivo:", + "noFilesToUpload": "Não há arquivos para upload", + "deletingFile": "Excluindo arquivo ...", + "fileDeleted": "Arquivo excluído", + "deleteFileFailed": "Excluir arquivo falhou:", + "size": "Tamanho", + "download": "Download", + "confirmFileDeletion": "Confirmar exclusão de arquivo", + "areYouSureYouWantToDeleteTheFile?": "Tem certeza de que deseja excluir o arquivo?", + "dropCountFile": "Soltar o arquivo {{count}}", + "dropCountFile_plural": "Soltar arquivos {{count}}", + "dropFilesHere": "Soltar arquivos aqui", + "loading": "Carregando ...", + "openCalendar": "Abrir calendário", + "select": "Selecionar", + "someoneElseHasIntroducedModificationIn": "Alguém fez alterações durante a sua edição. Atualize a página para começar de novo com os dados atualizados. Suas alteraçoes serão perdidas.", + "itSeemsThatSomeoneElseHasDeletedThe": "Parece que alguém excluiu o espaço de nomes de destino enquanto isso. Atualize sua página para começar de novo com novos dados. Observe que suas alterações serão perdidas.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "Parece que alguém apagou a entidade enquanto isso.", + "customForms": "Formulários personalizados", + "report": "Relatório", + "report_plural": "Relatórios", + "reportTemplate": "Modelo de relatório", + "reportTemplate_plural": "Modelos de relatório", + "mosaicoTemplate": "Modelo Mosaico", + "mosaicoTemplate_plural": "Modelos Mosaico", + "cannoteDeleteNameDueToTheFollowing": "Não foi possível excluir \"{{name}}\" devido às seguintes dependências:", + "andMore": "... e mais", + "confirmDeletion": "Confirmar exclusão", + "areYouSureYouWantToDeleteName?": "Tem certeza de que deseja excluir \"{{name}}\"?", + "namespaceMustBeSelected": "O ambiente deve ser selecionado", + "sourceOnGitHub": "Fonte no GitHub", + "sendTestEmail-1": "Send test e-mail", + "sendTestEmail-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send test e-mail", + "showHtml": "Show HTML", + "showHtml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show HTML", + "maximizeEditor": "Maximize editor", + "maximizeEditor - TODO: update line above and then delete this line to mark that the translation has been fixed": "Maximize editor", + "mjml": "MJML", + "html": "HTML", + "disableWordWrap": "Disable word wrap", + "disableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Disable word wrap", + "enableWordWrap": "Enable word wrap", + "enableWordWrap - TODO: update line above and then delete this line to mark that the translation has been fixed": "Enable word wrap", + "hidePreview": "Hide preview", + "hidePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Hide preview", + "showPreview": "Show preview", + "showPreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show preview", + "showMjml": "Show MJML", + "showMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Show MJML", + "countEntriesSelected": "{{count}} entradas selecionadas.", + "customFormMustBeSelected": "Formulário personalizado deve ser selecionado", + "listUpdated": "List updated", + "listUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List updated", + "listCreated": "List created", + "listCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "List created", + "onestepIeNoEmailWithConfirmationLink": "Um passo (ou seja, nenhum email com o link de confirmação)", + "onestepWithUnsubscriptionFormIeNoEmail": "Um passo com o formulário de cancelamento de inscrição (ou seja, nenhum email com o link de confirmação)", + "twostepIeAnEmailWithConfirmationLinkWill": "Dois passos (ou seja, um email com o link de confirmação será enviado)", + "twostepWithUnsubscriptionFormIeAnEmail": "Dois passos com o formulário de cancelamento de inscrição (ou seja, um email com o link de confirmação será enviado)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (ou seja, a desinscrição tem que ser executada pelo administrador da lista)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Formulários personalizados (selecione o formulário abaixo)", + "recipientsNameTemplate": "Modelo de nome dos recipientes", + "specifyUsingMergeTagsOfThisListHowTo": "Especifique o uso de tags de mesclagem desta lista como construir o nome completo do destinatário. Este nome completo é usado como cabeçalho \"Para\"ao enviar emails.", + "emptyCustomNoFields": "Empty / Custom (no fields)", + "emptyCustomNoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "Empty / Custom (no fields)", + "nameOneField": "Name (one field)", + "nameOneField - TODO: update line above and then delete this line to mark that the translation has been fixed": "Name (one field)", + "firstNameAndLastNameTwoFields": "First name and Last name (two fields)", + "firstNameAndLastNameTwoFields - TODO: update line above and then delete this line to mark that the translation has been fixed": "First name and Last name (two fields)", + "representationOfSubscribersName": "Representation of subscriber's name", + "representationOfSubscribersName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Representation of subscriber's name", + "selectHowTheNameOfASubscriberWillBe": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "selectHowTheNameOfASubscriberWillBe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Select how the name of a subscriber will be represented. The fields in list will be created accordingly. You can always adjust the choice later by editing the list fields. If you select \"Empty / Custom\", provide a template below in \"Recipients name template\" that will be used as subscriber's name as it will appear in the emails' \"To\" field.", + "deletingList": "Excluindo lista ...", + "listDeleted": "Lista excluída", + "editList": "Editar lista", + "createList": "Criar lista", + "thisIsTheListIdDisplayedToTheSubscribers": "Este é o ID da lista exibido para os assinantes", + "contactEmail": "Email de remetente", + "contactEmailUsedInSubscriptionFormsAnd": "E-mail de contato usado em formulários de inscrição e e-mails enviados. Se não for preenchido, o e-mail admin das configurações globais será usado.", + "homepage": "Página inicial", + "homepageUrlUsedInSubscriptionFormsAnd": "URL da página inicial usada nos formulários de inscrição e nos e-mails enviados. Se não forem preenchidos, a página inicial padrão das configurações globais será usada.", + "sendConfigurationThatWillBeUsedFor": "Configuração de envio que será usada para enviar e-mails relacionados à assinatura.", + "forms": "Formulários", + "webAndEmailFormsAndTemplatesUsedIn": "Formulários e modelos de Web e email usados no processo de gerenciamento de assinaturas", + "allowPublicUsersToSubscribeThemselves": "Permitir que usuários públicos se inscrevam", + "unsubscription": "Cancelamento de assinatura", + "selectHowAnUnsuscriptionRequestBy": "Selecione como um pedido de cancelamento por assinante é tratado.", + "unsubscribeHeader": "Cabeçalho de cancelamento de inscrição", + "doNotSendListUnsubscribeHeaders": "Não enviar cabeçalhos List-Unsubscribe", + "theCustomFormUsedForThisListYouCanCreate": "O formulário personalizado usado para esta lista. Você pode criar um formulário <1> aqui .", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "A marcação de mesclagem é inválida. A senha deve ser maiúscula e conter apenas caracteres A-Z, 0-9, _. Ela deve começar com uma letra.", + "anotherFieldWithTheSameMergeTagExists": "Outro campo com a mesma tag de mesclagem existe. Por favor, escolha outra tag de mesclagem.", + "groupHasToBeSelected": "O grupo deve ser selecionado", + "defaultValueIsNotIntegerNumber": "O valor padrão não é um número inteiro", + "defaultValueIsNotAProperlyFormattedDate": "O valor padrão não é uma data formatada corretamente", + "defaultValueIsNotAProperlyFormatted": "O valor padrão não é uma data de aniversário formatada corretamente", + "defaultValueIsNotOneOfTheAllowedOptions": "O valor padrão não é uma das opções permitidas", + "errorOnLineLine": "Error on line {{line}}", + "fieldUpdated": "Field updated", + "fieldUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field updated", + "fieldCreated": "Field created", + "fieldCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Field created", + "notVisible": "Not visible", + "endOfList": "Fim da lista", + "fieldSettings": "Field settings", + "defaultValue": "Valor padrão", + "defaultValueUsedWhenTheFieldIsEmpty": "Valor padrão usado quando o campo está vazio.", + "options": "Opções", + "dateFormat": "Formato de data", + "mmddyyyy": "MM / DD / AAAA", + "ddmmyyyy": "DD / MM / AAAA", + "mmdd": "MM / DD", + "ddmm": "DD / MM", + "mergeTag": "Merge Tag", + "group": "Group", + "belongsToCheckboxDropdownRadioGroup": "Belongs to checkbox / dropdown / radio group", + "belongsToCheckboxDropdownRadioGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Belongs to checkbox / dropdown / radio group", + "containingGroup": "Containing group", + "containingGroup - TODO: update line above and then delete this line to mark that the translation has been fixed": "Containing group", + "selectGroupToWhichTheOptionsShouldBelong": "Selecione o grupo ao qual as opções devem pertencer.", + "checkedLabel": "Checked label", + "checkedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Checked label", + "labelThatWillBeDisplayedInListAnd": "Label that will be displayed in list and subscription when the option is checked", + "labelThatWillBeDisplayedInListAnd - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is checked", + "uncheckedLabel": "Unchecked label", + "uncheckedLabel - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unchecked label", + "labelThatWillBeDisplayedInListAnd-1": "Label that will be displayed in list and subscription when the option is unchecked", + "labelThatWillBeDisplayedInListAnd-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Label that will be displayed in list and subscription when the option is unchecked", + "deletingField": "Excluindo campo ...", + "fieldDeleted": "Campo excluído", + "editField": "Editar Campo", + "createField": "Criar campo", + "mergeTag-1": "Merge tag", + "fieldOrder": "Ordem de campo", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Selecione o campo antes do qual este campo deve aparecer nas listagens. Para excluir o campo das listagens, selecione \"Não visível\".", + "subscriptionFormBefore": "Formulário de assinatura (antes)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Selecione o campo antes do qual este campo deve aparecer no novo formulário de inscrição. Para excluir o campo do novo formulário de inscrição, selecione \"Não visível\".", + "managementFormBefore": "Forma de gerenciamento (antes)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Selecione o campo antes do qual este campo deve aparecer no gerenciamento de subscrição. Para excluir o campo do formulário de gerenciamento de subscrição, selecione \"Não visível\".", + "youCanControlTheAppearanceOfTheMergeTag": "Você pode controlar a aparência da tag de mesclagem com este modelo. O template \n usa a sintaxe de handlebars e você pode encontrar todos os valores da matriz <1>{'{{values}}'}, por \n exemplo <3> {'{{#each values}} {{this}} {{/each}}'}. Se template não for definido, \n vários valores serão unidos por vírgulas.", + "specifyTheOptionsToSelectFromInThe": "<0> Especifique as opções para selecionar no seguinte formato: <1>key|label. Por exemplo: \n<2><0>au|Australia<3><0>em|Ãustria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Chave padrão (por exemplo, <1>au usada quando o campo está en branco.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "Você pode controlar a aparência da tag de mesclagem com este modelo. O template \n usa a sintaxe de handlebars e você pode encontrar todos os valores de <1>{'{{values}}'} array. \n Cada entrada na matriz é um objeto com os atributos <3>chave e <5>etiqueta . \n Por exemplo <7>{'{{#each values}} {{ this.value}} {{/each}}'}. Se template não for definido, \n vários valores serão unidos por vírgulas.", + "youCanUseThisTemplateToRenderJsonValues": "Você pode usar este modelo para renderizar os valores JSON (se o JSON é um array então o array é \n exposto como <1>valores, caso contrário você pode acessar as chaves JSON diretamente).", + "text": "Texto", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "Chave pública de GPG", + "number": "Number", + "checkboxesFromOptionFields": "Caixas de seleção (dos campos de opção)", + "radioButtonsFromOptionFields": "Botões de opção (dos campos de opção)", + "dropDownFromOptionFields": "Drop Down (dos campos de opção)", + "radioButtonsEnumerated": "Botões de rádio (enumerados)", + "dropDownEnumerated": "Drop Down (enumerado)", + "birthday": "Aniversário", + "jsonValueForCustomRendering": "Valor JSON para renderização customizada", + "option": "Opção", + "fields": "Campos", + "thePlaintextVersionForThisEmail": "A versão de texto simples para este email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "Esta folha de estilo CSS define a aparência dos elementos de entrada do formulário e alertas", + "webSubscribe": "Web - Subscreva", + "webConfirmSubscriptionNotice": "Web - Confirmar Aviso de Subscrição", + "mailConfirmSubscriptionMjml": "Mail - Confirmação de Assinatura (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirmar Subscrição (Texto)", + "mailAlreadySubscribedMjml": "Correio - Já Subscrito (MJML)", + "mailAlreadySubscribedText": "Correio - já inscrito (texto)", + "webSubscribedNotice": "Aviso Subscrito pela Web", + "mailSubscriptionConfirmedMjml": "Assinatura do Mail Confirmada (MJML)", + "mailSubscriptionConfirmedText": "Assinatura de email confirmada (texto)", + "webManagePreferences": "Web - Gerenciar Preferências", + "webManageAddress": "Web - Gerenciar Endereço", + "mailConfirmAddressChangeMjml": "Mail - Confirmar alteração de endereço (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirmar alteração de endereço (texto)", + "webUpdatedNotice": "Web - aviso atualizado", + "webUnsubscribe": "Web - Cancelar Subscrição", + "webConfirmUnsubscriptionNotice": "Web - Confirmar aviso de cancelamento de assinatura", + "mailConfirmUnsubscriptionMjml": "Mail - Confirmar cancelamento de assinatura (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirmar a não inscrição (texto)", + "webUnsubscribedNotice": "Web - Aviso de cancelamento da subscrição", + "mailUnsubscriptionConfirmedMjml": "Correio - Cancelamento de assinatura confirmado (MJML)", + "mailUnsubscriptionConfirmedText": "Correio - Cancelamento da assinatura confirmado (texto)", + "webManualUnsubscribeNotice": "Aviso de Cancelamento de Assinatura da Web - Manual", + "privacyPolicy": "Política de privacidade", + "general": "Geral", + "subscribe": "Inscrever-se", + "manage": "Gerenciar", + "unsubscribe": "Cancelar assinatura", + "dataProtection": "Proteção de dados", + "listOfErrorsInTemplates": "Lista de erros em modelos", + "customFormsUpdated": "Custom forms updated", + "customFormsUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms updated", + "customFormsCreated": "Custom forms created", + "customFormsCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Custom forms created", + "deletingForm": "Excluindo formulário ...", + "formDeleted": "Formulário excluído", + "editCustomForms": "Editar formulários personalizados", + "createCustomForms": "Criar formulários personalizados", + "formsPreview": "Pré-visualização de formulários", + "listToPreviewOn": "Listar para visualizar em", + "selectListWhoseFieldsWillBeUsedToPreview": "Selecione a lista cujos campos serão usados para visualizar os formulários.", + "noteTheseLinksAreSolelyForAQuickPreview": "Nota: Esses links são apenas para uma visualização rápida. Para obter o endereço do formulário de inscrição, vá até os assinantes da lista e clique em \"Subscription Form\".", + "formPreview": "Pré-visualização do formulário:", + "refresh": "Atualizar", + "closePreview": "Close preview", + "closePreview - TODO: update line above and then delete this line to mark that the translation has been fixed": "Close preview", + "templates": "Modelos", + "customFormsUseMjmlForFormattingSeeThe": "Formulários personalizados usam MJML para formatação. Veja a documentação do MJML <1> aqui ", + "createCustomForm": "Criar formulário personalizado", + "fileMustBeSelected": "O arquivo deve ser selecionado", + "csvDelimiterMustNotBeEmpty": "O delimitador CSV não deve estar vazio", + "emailMappingHasToBeProvided": "O mapeamento de email deve ser fornecido", + "importSaved": "Importar salvo", + "file": "Arquivo", + "delimiter": "Delimitador", + "preparationInProgressPleaseWaitTillItIs": "Preparação em andamento. Aguarde até que seja feito ou visite esta página mais tarde.", + "––Select ––": "–– Selecionar ––", + "eg": "por exemplo:", + "checkImportedEmails": "Verificar emails importados", + "mapping": "Mapeamento", + "saveAndEditSettings": "Salvar e editar configurações", + "saveAndRun": "Salvar e executar", + "deletingImport": "Excluindo importação ...", + "importDeleted": "Importar excluído", + "editImport": "Editar Importação", + "createImport": "Criar Importação", + "source": "Fonte", + "csvFile": "arquivo CSV", + "preparing": "Preparando", + "stopping": "Parando", + "ready": "Pronto", + "preparationFailed": "Preparação falhou", + "running": "Running", + "failed": "Falha", + "starting": "Iniciando", + "basicImportOfSubscribers": "Importação básica de assinantes", + "unsubscribeEmails": "Cancelar subscrição de emails", + "lastRun": "Última execução", + "detailedStatus": "Estado detalhado", + "imports": "Importações", + "row": "Linha", + "reason": "Razão", + "importRunStatus": "Status da execução de importação", + "importName": "Nome da importação", + "importSource": "Fonte de importação", + "runStarted": "Execução iniciada", + "runFinished": "Execução terminada", + "runStatus": "Status da execução", + "processedEntries": "Entradas processadas", + "newEntries": "Novas entradas", + "failedEntries": "Entradas com falha", + "error": "Erro", + "failedRows": "Linhas com falha", + "started": "Iniciado", + "processed": "Processado", + "new": "Novo", + "importStatus": "Status da importação", + "actions": "Ações", + "start": "Iniciar", + "importRuns": "Import Runs", + "segments": "Segmentos", + "customForms-1": "Formulários personalizados", + "listName": "Lista \"{{name}}\"", + "fieldName-1": "Campo \"{{name}}\"", + "segmentName": "Segmento \"{{name}}\"", + "importName-1": "Importar \"{{name}}\"", + "run": "Execute", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "Nova regra", + "segmentUpdated": "Segment updated", + "segmentUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment updated", + "segmentCreated": "Segment created", + "segmentCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Segment created", + "deletingSegment": "Excluindo segmento ...", + "segmentDeleted": "Segmento excluído", + "editSegment": "Editar Segmento", + "createSegment": "Criar segmento", + "segmentOptions": "Opções de segmento", + "toplevelMatchType": "Tipo de correspondência de nível superior", + "addCompositeRule": "Adicionar Regra Composta", + "addRule": "Adicionar regra", + "rules": "Regras", + "allRulesMustMatch": "Todas as regras devem corresponder", + "atLeastOneRuleMustMatch": "Pelo menos uma regra deve corresponder", + "noRuleMayMatch": "Nenhuma regra pode corresponder", + "equalTo": "igual a", + "valueInColumnColNameIsEqualToValue": "Valor na coluna \"{{colName}}\"é igual a \"{{valor}}\"", + "matchWithSqlLike": "Coincidir (com LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Valor na coluna \"{{colName}} \"corresponde (com LIKE SQL) \"{{value}} \"", + "matchWithRegularExpressions": "Combinar (com expressões regulares)", + "valueInColumnColNameMatchesWithRegular": "Valor na coluna \"{{colName}} \"corresponde (com expressões regulares) \"{{value}} \"", + "alphabeticallyBefore": "Alfabeticamente antes", + "valueInColumnColNameIsAlphabetically": "O valor na coluna \"{{colName}} \"está em ordem alfabética antes de \"{{value}} \"", + "alphabeticallyBeforeOrEqualTo": "Alfabeticamente antes ou igual a", + "valueInColumnColNameIsAlphabetically-1": "O valor na coluna \"{{colName}} \"é alfabeticamente anterior ou igual a \"{{value}} \"", + "alphabeticallyAfter": "Alfabeticamente após", + "valueInColumnColNameIsAlphabetically-2": "O valor na coluna \"{{colName}} \"é alfabeticamente depois de \"{{value}} \"", + "alphabeticallyAfterOrEqualTo": "Alfabeticamente após ou igual a", + "valueInColumnColNameIsAlphabetically-3": "O valor na coluna \"{{colName}} \"é alfabeticamente após ou igual a \"{{value}} \"", + "valueInColumnColNameIsEqualToValue-1": "Valor na coluna \"{{colName}} \"é igual a {{value}}", + "lessThan": "Menor que", + "valueInColumnColNameIsLessThanValue": "Valor na coluna \"{{colName}} \"é menor que {{value}}", + "lessThanOrEqualTo": "menor que ou igual a", + "valueInColumnColNameIsLessThanOrEqualTo": "Valor na coluna \"{{colName}} \"é menor ou igual a {{value}}", + "greaterThan": "Maior que", + "valueInColumnColNameIsGreaterThanValue": "Valor na coluna \"{{colName}} \"é maior que {{value}}", + "greaterThanOrEqualTo": "Maior que ou igual a", + "valueInColumnColNameIsGreaterThanOrEqual": "Valor na coluna \"{{colName}} \"é maior que ou igual a {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Data na coluna \"{{colName}} \"é {{value}}", + "before": "antes", + "dateInColumnColNameIsBeforeValue": "Data na coluna \"{{colName}} \"é anterior a {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Data na coluna \"{{colName}} \"é antes ou em {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Data na coluna \"{{colName}} \"é após {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Data na coluna \"{{colName}} \"é depois ou em {{value}}", + "onXthDayBeforeafterCurrentDate": "No x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsTheCurrentDate": "Data na coluna \"{{colName}} \"é a data atual", + "dateInColumnColNameIsTheValuethDayAfter": "A data na coluna \"{{colName}} \"é o {{value}} - dia após a data atual", + "dateInColumnColNameIsTheValuethDayBefore": "A data na coluna \"{{colName}} \"é o {{value}} - dia antes da data atual", + "beforeXthDayBeforeafterCurrentDate": "Antes do x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsBeforeTheCurrent": "Data na coluna \"{{colName}} \"é anterior à data atual", + "dateInColumnColNameIsBeforeTheValuethDay": "A data na coluna \"{{colName}} \"é anterior ao {{value}} - dia após a data atual", + "dateInColumnColNameIsBeforeTheValuethDay-1": "A data na coluna \"{{colName}} \"é anterior ao {{value}} - dia antes da data atual", + "beforeOrOnXthDayBeforeafterCurrentDate": "Antes ou no x-é dia antes / depois da data atual", + "dateInColumnColNameIsBeforeOrOnThe": "A data na coluna \"{{colName}} \"é antes ou na data atual", + "dateInColumnColNameIsBeforeOrOnThe-1": "A data na coluna \"{{colName}} \"é anterior ou no {{value}} - dia após a data atual", + "dateInColumnColNameIsBeforeOrOnThe-2": "A data na coluna \"{{colName}} \"é anterior ou no {{value}} - dia antes da data atual", + "afterXthDayBeforeafterCurrentDate": "Após o x-é dia antes / depois da data atual", + "dateInColumnColNameIsAfterTheCurrentDate": "Data na coluna \"{{colName}} \"é após a data atual", + "dateInColumnColNameIsAfterTheValuethDay": "A data na coluna \"{{colName}} \"é posterior ao {{value}} - dia após a data atual", + "dateInColumnColNameIsAfterTheValuethDay-1": "A data na coluna \"{{colName}} \"é posterior ao {{value}} - dia antes da data atual", + "afterOrOnXthDayBeforeafterCurrentDate": "Depois ou no x-ésimo dia antes / depois da data atual", + "dateInColumnColNameIsAfterOrOnTheCurrent": "A data na coluna \"{{colName}} \"é posterior ou na data atual", + "dateInColumnColNameIsAfterOrOnTheValueth": "A data na coluna \"{{colName}} \"é posterior ou no {{value}} - dia após a data atual", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "A data na coluna \"{{colName}} \"é posterior ou no {{value}} - dia antes da data atual", + "isSelected": "Está selecionado", + "valueInColumnColNameIsSelected": "Valor na coluna \"{{colName}} \"está selecionado", + "isNotSelected": "Não está selecionado", + "valueInColumnColNameIsNotSelected": "Valor na coluna \"{{colName}} \"não está selecionado", + "keyEqualTo": "Chave igual a", + "theSelectedKeyInColumnColNameIsEqualTo": "A chave selecionada na coluna \"{{colName}} \"é igual a\"{{value}} \"", + "keyMatchWithSqlLike": "Correspondência de chaves (com SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "A chave selecionada na coluna \"{{colName}} \"corresponde (com LIKE SQL) \"{{value}} \"", + "keyMatchWithRegularExpressions": "Correspondência de chaves (com expressões regulares)", + "theSelectedKeyInColumnColNameMatchesWith-1": "A chave selecionada na coluna \"{{colName}} \"corresponde (com expressões regulares) \"{{value}} \"", + "keyAlphabeticallyBefore": "Chave em ordem alfabética antes", + "theSelectedKeyInColumnColNameIs": "A chave selecionada na coluna \"{{colName}} \"está em ordem alfabética antes de \"{{value}} \"", + "keyAlphabeticallyBeforeOrEqualTo": "Chave em ordem alfabética antes ou igual a", + "theSelectedKeyInColumnColNameIs-1": "A chave selecionada na coluna \"{{colName}} \"é alfabeticamente anterior ou igual a \"{{value}} \"", + "keyAlphabeticallyAfter": "Chave em ordem alfabética depois", + "theSelectedKeyInColumnColNameIs-2": "A chave selecionada na coluna \"{{colName}} \"está alfabeticamente após \"{{value}} \"", + "keyAlphabeticallyAfterOrEqualTo": "Chave em ordem alfabética depois ou igual a", + "theSelectedKeyInColumnColNameIs-3": "A chave selecionada na coluna \"{{colName}} \"é alfabeticamente após ou igual a \"{{value}} \"", + "value": "Valor", + "valueMustNotBeEmpty": "O valor não deve estar vazio", + "valueMustBeANumber": "O valor deve ser um número", + "numberOfDays": "Número de dias", + "beforeAfter": "Before / After", + "beforeCurrentDate": "Antes da data atual", + "afterCurrentDate": "Após a data atual", + "numberOfDaysMustNotBeEmpty": "O número de dias não pode estar vazio", + "numberOfDaysMustBeANumber": "Número de dias deve ser um número", + "emailAddress-1": "Endereço de email", + "signupCountry": "País de inscrição", + "signUpDate": "Data de inscrição", + "testUser": "Test user", + "testUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Test user", + "fieldMustBeSelected": "O campo deve ser selecionado", + "field": "campo", + "select-1": "- Selecionar -", + "ruleOptions": "Opções de Regra", + "ok": "OK", + "anotherSubscriptionWithTheSameEmail": "Já existe outra subscrição com o mesmo email.", + "subscriptionUpdated": "Subscription updated", + "subscriptionUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription updated", + "subscriptionCreated": "Subscription created", + "subscriptionCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Subscription created", + "itSeemsThatAnotherSubscriptionWithThe": "Parece que outra subscrição com o mesmo email foi criada entretanto. Atualize a sua página para começar de novo. Tenha em atenção que as suas alterações serão perdidas.", + "notSelected": "Não selecionado", + "areYouSureYouWantToDeleteSubscriptionFor": "Tem certeza de que deseja excluir a inscrição de \"{{email}} \"?", + "deletingSubscription": "Apagando assinatura ...", + "subscriptionDeleted": "Assinatura excluída", + "editSubscription": "Editar Assinatura", + "createSubscription": "Criar Assinatura", + "timezone": "Fuso horário", + "subscriptionStatus": "Status da assinatura", + "testUser?": "Usuário de teste?", + "ifCheckedThenThisSubscriptionCanBeUsed": "Se marcado, essa assinatura pode ser usada para visualizar mensagens de campanha", + "subscribed": "Inscrito", + "unubscribed": "Não inscrito", + "erased": "[APAGADO]", + "confirmUnsubscription": "Confirmar a não inscrição", + "areYouSureYouWantToUnsubscribeEmail?": "Tem certeza de que deseja cancelar a inscrição {{email}}?", + "unsubscribingEmail": "Cancelar inscrição {{email}}", + "emailUnsubscribed": "{{email}} não subscrito", + "confirmEmailBlacklisting": "Confirmar lista negra de emails", + "areYouSureYouWantToBlacklistEmail?": "Tem a certeza que deseja colocar na lista negra {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} na lista negra", + "allSubscriptions": "Todas as subscrições", + "subscriptionForm": "Formulário de Assinatura", + "exportAsCsv": "Exportar como CSV", + "addSubscriber": "Adicionar Assinante", + "usernameOrEmailMustNotBeEmpty": "Nome de usuário ou email não deve estar vazio", + "processing": "Processando ...", + "ifTheUsernameEmailExistsInTheSystem": "Se o nome de usuário / email existir no sistema, o link de redefinição de senha será enviado para o email registrado.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Por favor insira seu nome de usuário / e-mail e tente novamente.", + "passwordReset": "Reset de senha", + "pleaseProvideTheUsernameOrEmailAddress": "Por favor, forneça o nome de usuário ou endereço de e-mail registrado em sua conta do Mailtrain.", + "weWillSendYouAnEmailThatWillAllowYouTo": "Nós lhe enviaremos um email que lhe permitirá redefinir sua senha.", + "usernameOrEmail": "Nome de usuário ou email", + "sendEmail": "Enviar email", + "userNameMustNotBeEmpty": "O nome do usuário não pode estar vazio", + "passwordMustNotBeEmpty": "A senha não pode estar vazia", + "verifyingCredentials": "Verificando credenciais ...", + "pleaseEnterYourCredentialsAndTryAgain": "Por favor, digite suas credenciais e tente novamente.", + "invalidUsernameOrPassword": "Nome de usuário ou senha inválidos", + "forgotYourPassword?": "Esqueceu sua senha?", + "signIn": "Entrar", + "username": "Nome de Usuário", + "password": "Senha", + "rememberMe": "Lembre-se de mim", + "resettingPassword": "Redefinindo senha ...", + "passwordReset-1": "Redefinição de senha", + "yourPasswordCannotBeReset": "Sua senha não pode ser redefinida.", + "thePasswordResetTokenHasExpired": "O token de redefinição de senha expirou.", + "clickHereToRequestANewPasswordResetLink": "Clique aqui para solicitar um novo link de redefinição de senha.", + "validatingPasswordResetToken": "Validando o token de redefinição de senha ...", + "thePasswordCannotBeReset": "A senha não pode ser redefinida", + "setNewPasswordFor": "Definir nova senha para", + "resetPassword": "Redefinir senha", + "parentNamespaceMustBeSelected": "Ambiente pai deve ser selecionado", + "namespaceUpdated": "Namespace updated", + "namespaceUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace updated", + "namespaceCreated": "Namespace created", + "namespaceCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Namespace created", + "thereHasBeenALoopDetectedInTheAssignment": "Houve um loop detectado na atribuição do ambiente pai. Isso é mais provável porque outra pessoa alterou o pai de algum ambiente nesse meio tempo. Atualize sua página para começar de novo. Observe que suas alterações serão estar perdido.", + "itSeemsThatTheParentNamespaceHasBeen": "Parece que o ambiente pai foi excluído por outra pessoa durante sua edição. Atualize a página para começar de novo. Observe que suas alterações serão perdidas.", + "deletingNamespace": "Excluindo ambiente ...", + "namespaceDeleted": "Ambiente excluído", + "editNamespace": "Editar Ambiente", + "createNamespace": "Criar Ambiente", + "parentNamespace": "Ambiente pai", + "namespaces": "Ambientes", + "namespaceName": "Ambiente \"{{name}}\"", + "reportTemplateMustBeSelected": "O modelo de relatório deve ser selecionado", + "exactlyOneItemHasToBeSelected": "Exatamente um item deve ser selecionado", + "atLeastCountItemsHaveToBeSelected": "Pelo menos {{count}} itens devem ser selecionados", + "atMostCountItemsCanToBeSelected": "No máximo {{count}} itens podem ser selecionados", + "reportParametersAreNotSelectedWaitFor": "Os parâmetros do relatório não estão selecionados. Espere que eles sejam exibidos e, em seguida, preencha-os.", + "reportUpdated": "Report updated", + "reportUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report updated", + "reportCreated": "Report created", + "reportCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report created", + "unknownFieldTypeType": "Tipo de campo desconhecido \"{{type}}\"", + "deletingReport": "Excluindo relatório ...", + "reportDeleted": "Relatório excluído", + "editReport": "Editar relatório", + "createReport": "Criar relatório", + "reportTemplate-1": "Modelo de relatório", + "reportParameters": "Parâmetros do Relatório", + "loadingReportTemplate": "Carregando modelo de relatório ...", + "processing-1": "Processando", + "view": "Ver", + "refreshReport": "Atualizar relatório", + "reportGenerationFailed": "Geração de relatório falhou", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "Exibir saída do console", + "reportTemplates": "Modelos de relatório", + "reports": "Relatórios", + "reportName": "Relatório \"{{name}}\"", + "output": "Output", + "templateName": "Modelo \"{{name}}\"", + "mimeTypeMustBeSelected": "Tipo MIME deve ser selecionado", + "syntaxErrorInTheUserFieldsSpecification": "Erro de sintaxe na especificação dos campos do usuário", + "reportTemplateUpdated": "Report template updated", + "reportTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template updated", + "reportTemplateCreated": "Report template created", + "reportTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Report template created", + "deletingReportTemplate": "Excluindo modelo de relatório ...", + "reportTemplateDeleted": "Modelo de relatório excluído", + "editReportTemplate": "Editar modelo de relatório", + "createReportTemplate": "Criar Modelo de Relatório", + "csv": "CSV", + "userSelectableFields": "Campos selecionáveis pelo usuário", + "jsonSpecificationOfUserSelectableFields": "Especificação JSON de campos selecionáveis pelo usuário.", + "dataProcessingCode": "Código de processamento de dados", + "renderingTemplate": "Modelo de renderização", + "writeTheBodyOfTheJavaScriptFunctionWith": "Escreva o corpo da função JavaScript com a função signature <1> (entradas, retorno de chamada) que retorna um objeto a ser renderizado pelo modelo Handlebars abaixo.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML com a sintaxe do Handlebars. Veja a documentação <1> aqui .", + "blank": "Vazio", + "openCounts": "Contagem de aberturas", + "openCountsAsCsv": "Contagem de aberturas como CSV", + "aggregatedOpenCounts": "Contagem de aberturas agregadas", + "reportName-1": "Denunciar {{name}}", + "loadingReport": "Carregando relatório ...", + "outputForReportName": "Saída para o relatório {{name}}", + "loadingReportOutput": "Carregando saída do relatório ...", + "reportIsBeingGenerated": "Relatório está sendo gerado", + "reportNotGenerated": "Relatório não gerado", + "current": "(atual)", + "administration": "Administração", + "users": "Usuários", + "globalSettings": "Configurações globais", + "sendConfigurations": "Configurações de envio", + "logOut": "Sair", + "home": "Início", + "mailerTypeMustBeSelected": "Tipo de mailer deve ser selecionado", + "verpHostnameMustNotBeEmpty": "O nome do host VERP não pode estar vazio", + "sendConfigurationUpdated": "Send configuration updated", + "sendConfigurationUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration updated", + "sendConfigurationCreated": "Send configuration created", + "sendConfigurationCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Send configuration created", + "deletingSendConfiguration": "Excluindo a configuração de envio ...", + "sendConfigurationDeleted": "Configuração de envio excluída", + "editSendConfiguration": "Editar Configuração de Envio", + "createSendConfiguration": "Criar Configuração de Envio", + "emailHeader": "Cabeçalho do Email", + "defaultFromEmail": "Email \"de\" padrão", + "overridable": "Substituível", + "defaultFromName": "Nome \"de\" padrão", + "defaultReplytoEmail": "Email \"reply-to\" padrão", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "status VERP", + "serverHostname": "Nome do host do servidor", + "theVerpServerHostnameEgBouncesexamplecom": "O nome do host do servidor VERP, por exemplo, bounces.example.com", + "verpBounceHandlingServerHostnameThis": "Nome do host do servidor de tratamento de rejeição VERP. Esse nome de host é usado no endereço FROM do envelope SMTP e os registros DNS do MX devem apontar para este servidor", + "disableSenderHeader": "Desativar cabeçalho do remetente", + "withDmarcTheReturnPathAndFromAddressMust": "Com DMARC, o endereço Return-Path e From deve coincidir com o mesmo domínio. Por padrão, contornamos isso usando o endereço VERP no cabeçalho Sender, com o efeito colateral que alguns clientes de email chamam de feio em nome Você pode desativar com segurança o cabeçalho do Emissor se não estiver usando o DMARC ou se o nome do host VERP estiver no mesmo domínio que o endereço De. ", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0> O Mailtrain é capaz de usar roteamento baseado em VERP para detectar rejeições. Nesse caso, a mensagem é enviada ao destinatário usando um endereço VERP personalizado como o caminho de retorno da mensagem. Se a mensagem não for aceita, o email de rejeição é enviado para este endereço VERP especial e, assim, é detectado um retorno. ", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0> Para obter o VERP funcionando, você precisa configurar um registro MX de DNS que aponte para o nome do host do Mailtrain. Você também deve garantir que a interface VERtr de Mailtrain esteja disponível na porta 25 do servidor. privilégios de usuário) Assim, se alguém tentar enviar um e-mail para algum usuário @ verp-hostname, o e-mail deve acabar neste servidor. ", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0> VERP geralmente só funciona se você estiver usando seu próprio servidor SMTP. Serviços de retransmissão regulares (SES, SparkPost, Gmail etc.) tendem a remover o endereço VERP da mensagem. ", + "verpBounceHandlingServerIsNotEnabled": "<0> O servidor de tratamento de retorno VERP não está ativado. Modifique o arquivo de configuração do servidor e reinicie o servidor para ativá-lo. ", + "labelMustNotBeEmpty": "{{label}} não deve estar vazio", + "labelMustBeANumber": "{{label}} deve ser um número", + "genericSmtp": "SMTP genérico", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Não use criptografia", + "useTls –UsuallySelectedForPort465": "Use TLS - geralmente selecionado para a porta 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS - geralmente selecionado para as portas 587 e 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "ZoneMTA incorporado", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Configuração dinâmica de chaves DKIM através do plugin Mailtrain do ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Configuração dinâmica de chaves DKIM via plugin de configuração HTTP do ZoneMTA", + "noDynamicConfigurationOfDkimKeys": "Nenhuma configuração dinâmica de chaves DKIM", + "mailerSettings": "Configurações do Mailer", + "mailerType": "Tipo do Mailer", + "hostname": "Nome do host", + "hostnameEgSmtpexamplecom": "Nome do host, por exemplo, smtp.example.com", + "port": "Porta", + "portEg465AutodetectedIfLeftBlank": "Porta, por exemplo, 465. Autodetectada se for deixada em branco", + "encryption": "Criptografia", + "enableSmtpAuthentication": "Ativar autenticação SMTP", + "usernameEgMyaccount@examplecom": "Nome de usuário, por exemplo, minhaconta@exemplo.com", + "advancedMailerSettings": "Configurações avançadas do Mailer", + "logSmtpTransactions": "Registrar transações SMTP", + "allowSelfsignedCertificates": "Permitir certificados autoassinados", + "maxConnections": "conexões máximas", + "theCountOfMaxConnectionsEg10": "A contagem de conexões máximas, por exemplo, 10", + "theCountOfMaximumSimultaneousConnections": "A contagem de conexões simultâneas máximas a serem feitas no servidor SMTP (o padrão é 5). Esse limite é por processo de envio.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "A contagem de mensagens máximas, por exemplo, 100", + "theNumberOfMessagesToSendThroughASingle": "O número de mensagens a enviar através de uma única conexão antes que a conexão seja fechada e reaberta (o padrão é 100)", + "throttling": "Limitação", + "messagesPerHourEg1000": "Mensagens por hora, por exemplo, 1000", + "maximumNumberOfMessagesToSendInAnHour": "Número máximo de mensagens a enviar em uma hora. Deixe vazio ou zero para não haver limitação. Se seu provedor usar um limite de velocidade diferente (mensagens/minuto ou mensagens/segundo), converta esse limite em mensagens/hora (1m/s => 3600m/h). Este limite é por processo de envio. ", + "dynamicConfiguration": "Configuração dinâmica", + "dkimSigning": "Assinatura DKIM", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Valor secreto conhecido pelo ZoneMTA para solicitar informações da chave DKIM. Se este valor foi gerado pelo script de instalação do Mailtrain, você pode mantê-lo como está.", + "dkimDomain": "domínio DKIM", + "leaveBlankToUseTheSenderEmailAddress": "Deixe em branco para usar o domínio de endereço de e-mail do remetente", + "dkimKeySelector": "Seletor de chave DKIM", + "signingIsDisabledWithoutAValidSelector": "A assinatura está desativada sem um valor de seletor válido.", + "dkimPrivateKey": "Chave privada DKIM", + "beginsWithBeginRsaPrivateKey": "Começa com \"----- INICIO DA CHAVE PRIVADA RSA ----- \"", + "signingIsDisabledWithoutAValidPrivateKey": "A assinatura está desativada sem uma chave privada válida.", + "accessKey": "Chave de acesso", + "accessSecret": "Acesso secreto", + "awsAccessKeyId": "ID da chave de acesso da AWS", + "awsSecretAccessKey": "Chave de acesso secreto da AWS", + "region": "Região", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0> Se você estiver usando o ZoneMTA, o Mailtrain poderá fornecer uma chave DKIM para assinar todas as mensagens de saída. Outros serviços geralmente fornecem seus próprios meios para assinar suas mensagens. ", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0> Não use chaves sensíveis aqui. A chave privada não é criptografada no banco de dados. ", + "sendConfigurations-1": "Configurações de envio", + "globalSettingsSaved": "Configurações globais salvas", + "adminEmail": "email do Admin", + "thisEmailIsUsedAsTheMainContactAndAsA": "Este e-mail é usado como contato principal e como endereço de e-mail padrão se nenhum endereço de e-mail for especificado nas configurações de lista.", + "defaultHomepageUrl": "URL da página inicial padrão", + "thisUrlWillBeUsedInListSubscriptionForms": "Este URL será usado em formulários de inscrição de lista se nenhuma página inicial for especificada em configurações de lista.", + "trackingId": "ID de acompanhamento", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Digite o código de acompanhamento do Google Analytics", + "googleMapsApiKey": "Chave da API do Google Maps", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "A visão geral do mapa nas estatísticas da campanha exige uma chave da API do Google Maps. Digite essa chave aqui. Se nenhuma chave for fornecida, o Google poderá limitar as solicitações de mapas, o que resultará na indisponibilidade ocasional do mapa nas estatísticas da campanha.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "Código HTML mostrado na seção de cabeçalho da página principal", + "gpgSigning": "Assinatura GPG", + "privateKeyPassphrase": "Senha de chave privada", + "passphraseForTheKeyIfSet": "Frase secreta para a chave, se definida", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Preencha isto spenas se sua chave privada estiver criptografada com uma frase secreta", + "gpgPrivateKey": "chave privada do GPG", + "beginsWithBeginPgpPrivateKeyBlock": "Começa com '----- INICIO DO BLOCO DE CHAVE PRIVADA DE PGP -----'", + "thisValueIsOptionalIfYouDoNotProvideA": "Este valor é opcional. Se você não fornecer uma chave privada, as mensagens criptografadas GPG serão enviadas sem assinatura.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0> Somente as mensagens criptografadas podem ser assinadas. Os assinantes que não configuraram uma chave pública GPG no perfil recebem mensagens de e-mail normais. Os usuários com conjunto de chaves GPG recebem mensagens criptografadas e se você tiver a chave de assinatura também set, as mensagens são assinadas com esta chave. ", + "doNotUseSensitiveKeysHereThePrivateKey": "não use chaves sensíveis aqui. A chave privada e a frase secreta não são criptografadas no banco de dados.", + "userMustNotBeEmpty": "O usuário não deve estar vazio", + "roleMustBeSelected": "A função deve ser selecionada", + "role": "Papel", + "unshare": "Unshare", + "unshare - TODO: update line above and then delete this line to mark that the translation has been fixed": "Unshare", + "confirmUnsharing": "Confirm Unsharing", + "confirmUnsharing - TODO: update line above and then delete this line to mark that the translation has been fixed": "Confirm Unsharing", + "areYouSureYouWantToRemoveTheShareToUser": "Are you sure you want to remove the share to user \"{{username}}\"?", + "areYouSureYouWantToRemoveTheShareToUser - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the share to user \"{{username}}\"?", + "removingShareForUserUsername": "Removing share for user \"{{username}}\"", + "removingShareForUserUsername - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing share for user \"{{username}}\"", + "shareForUserUsernameRemoved": "Share for user \"{{username}}\" removed", + "shareForUserUsernameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Share for user \"{{username}}\" removed", + "addUser": "Adicionar usuário", + "user": "Usuário", + "existingUsers": "Usuários Existentes", + "areYouSureYouWantToRemoveTheSharingOfThe": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "areYouSureYouWantToRemoveTheSharingOfThe - TODO: update line above and then delete this line to mark that the translation has been fixed": "Are you sure you want to remove the sharing of the {{typeName}} \"{{name}}\"?", + "removingSharingOfTheTypeNameName": "Removing sharing of the {{typeName}} \"{{name}}\"", + "removingSharingOfTheTypeNameName - TODO: update line above and then delete this line to mark that the translation has been fixed": "Removing sharing of the {{typeName}} \"{{name}}\"", + "sharingOfTheTypeNameNameRemoved": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharingOfTheTypeNameNameRemoved - TODO: update line above and then delete this line to mark that the translation has been fixed": "Sharing of the {{typeName}} \"{{name}}\" removed", + "sharesForUserUsername": "Compartilhamentos para usuário \"{{username}}\"", + "namespace-1": "namespace", + "namespace-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "namespace", + "list-1": "list", + "list-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "list", + "template-1": "template", + "template-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "template", + "mosaicoTemplates": "Modelos Mosaico", + "campaign-1": "campaign", + "campaign-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "campaign", + "customForms-2": "custom forms", + "customForms-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "custom forms", + "report-1": "report", + "report-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report", + "reportTemplate-2": "report template", + "reportTemplate-2 - TODO: update line above and then delete this line to mark that the translation has been fixed": "report template", + "sendConfiguration-1": "send configuration", + "sendConfiguration-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "send configuration", + "sourceTemplateMustNotBeEmpty": "Source template must not be empty", + "sourceTemplateMustNotBeEmpty - TODO: update line above and then delete this line to mark that the translation has been fixed": "Source template must not be empty", + "templateUpdated": "Template updated", + "templateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template updated", + "templateCreated": "Template created", + "templateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Template created", + "deletingTemplate": "Excluindo o modelo ...", + "templateDeleted": "Modelo excluído", + "editTemplate": "Editar modelo", + "createTemplate": "Criar modelo", + "cloneFromAnExistingTemplate": "Clone from an existing template", + "cloneFromAnExistingTemplate - TODO: update line above and then delete this line to mark that the translation has been fixed": "Clone from an existing template", + "cloneFromAnExistingCustomForms": "Clone from an existing custom forms", + "cloneFromAnExistingCustomForms - TODO: update line above and then delete this line to mark that the translation has been fixed": "Clone from an existing custom forms", + "mosaico": "Mosaico", + "templateContentHtml": "Conteúdo do modelo (HTML)", + "mosaicoTemplateDesigner": "Editor do Modelo Mosaico", + "mosaicoTemplateMustBeSelected": "O modelo Mosaico deve ser selecionado", + "mosaicoWithPredefinedTemplates": "Mosaico com modelos predefinidos", + "mosaicoTemplate-1": "Modelo Mosaico", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "Editor do Modelo GrapesJS", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "Editor de modelo do CKEditor 4", + "codeEditor": "Editor de Códigos", + "codeEditorTemplateDesigner": "Editor de modelo de editor de código", + "mergeTagReference": "Referência Merge tag", + "templateContentPlainText": "Conteúdo do template (texto simples)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1> As tags de mesclagem são tags que são substituídas antes de enviar a mensagem. O formato da tag de mesclagem é o seguinte: <1>[TAG_NAME] ou <3>[TAG_NAME/fallback] onde <5> fallback é um valor de texto opcional usado quando <7>TAG_NAME está vazio.\n", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1> Você pode usar qualquer uma das tags de mesclagem padrão abaixo. Além disso, cada campo personalizado tem sua própria tag de mesclagem. Verifique os campos da lista para a qual você enviará. \n", + "urlThatPointsToTheUnsubscribePage": "URL que aponta para a página de cancelamento de inscrição", + "urlThatPointsToThePreferencesPageOfThe": "URL que aponta para a página de preferências do assinante", + "urlToPreviewTheMessageInABrowser": "URL para visualizar a mensagem em um navegador", + "uniqueIdThatIdentifiesTheRecipient": "ID exclusivo que identifica o destinatário", + "uniqueIdThatIdentifiesTheListUsedForThis": "ID exclusivo que identifica a lista usada para esta campanha", + "uniqueIdThatIdentifiesCurrentCampaign": "ID exclusivo que identifica a campanha atual", + "forRssCampaignsTheFollowingFurtherTags": "\n <1> Para campanhas de RSS, as seguintes tags adicionais podem ser usadas. \n", + "rssEntryTitle": "título da entrada RSS", + "rssEntryDate": "data de entrada do RSS", + "rssEntryLink": "link de entrada RSS", + "contentOfAnRssEntry": "Conteúdo de uma entrada RSS", + "rssEntrySummary": "Resumo da entrada do RSS", + "rssEntryImageUrl": "URL da imagem de entrada RSS", + "toExtractTheTextFromHtmlClickHerePlease": "Para extrair o texto do HTML, clique <1> aqui . Observe que o texto original existente no campo acima será sobrescrito.", + "mosaicoTemplateUpdated": "Mosaico template updated", + "mosaicoTemplateUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template updated", + "mosaicoTemplateCreated": "Mosaico template created", + "mosaicoTemplateCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "Mosaico template created", + "deletingMosaicoTemplate": "Excluindo o modelo Mosaico ...", + "mosaicoTemplateDeleted": "Modelo do Mosaico excluído", + "editMosaicoTemplate": "Editar Modelo Mosaico", + "createMosaicoTemplate": "Criar Modelo Mosaico", + "invalidMjml": "Invalid MJML", + "invalidMjml - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML", + "mjmlIsValid": "MJML is valid.", + "mjmlIsValid - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML is valid.", + "invalidMjml-1": "Invalid MJML.", + "invalidMjml-1 - TODO: update line above and then delete this line to mark that the translation has been fixed": "Invalid MJML.", + "templateContent": "Conteúdo do modelo", + "validate": "Validate", + "validate - TODO: update line above and then delete this line to mark that the translation has been fixed": "Validate", + "blockThumbnails": "Bloquear miniaturas", + "versafixOne": "Versafix One", + "mjmlSample": "MJML Sample", + "mjmlSample - TODO: update line above and then delete this line to mark that the translation has been fixed": "MJML Sample", + "mosaicoTemplateName": "Modelo Mosaico \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "Esses arquivos estão disponíveis publicamente via HTTP para que possam ser vinculados a partir do modelo Mosaico.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "Esses arquivos serão usados pelo Mosaico para procurar miniaturas de blocos (o diretório \"edres \"). Coloque aqui um arquivo por tipo de bloco que você definiu no modelo Mosaico. Cada arquivo deve ter o mesmo nome como o id do bloco. O arquivo será usado como a miniatura do bloco correspondente. ", + "sendConfigurationHasToBeSelected": "A configuração de envio deve ser selecionada.", + "listHasToBeSelected": "Lista tem que ser selecionada.", + "theUserNameAlreadyExistsInTheSystem": "O nome de usuário já existe no sistema.", + "userUpdated": "User updated", + "userUpdated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User updated", + "userCreated": "User created", + "userCreated - TODO: update line above and then delete this line to mark that the translation has been fixed": "User created", + "theUsernameIsAlreadyAssignedToAnother": "O nome de usuário já está atribuído a outro usuário.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "O email já está atribuído a outro usuário.", + "deletingUser": "Excluindo usuário ...", + "userDeleted": "Usuário excluído", + "editUser": "Editar usuário", + "createUser": "Criar usuário", + "userName": "Nome de usuário", + "repeatPassword": "Repetir Senha", + "deleteUser": "Excluir usuário", + "userName-1": "Usuário \"{{name}} \"", + "shares": "Compartilhamentos", + "subscriptionConfirmed": "Assinatura Confirmada", + "listEmailAddressAlreadyRegistered": "{{list}}: Endereço de e-mail já registrado", + "listPleaseConfirmEmailChangeIn": "{{list}}: Por favor, confirme a alteração do email na subscrição", + "pleaseConfirmSubscription": "Por favor, confirme a assinatura", + "listPleaseConfirmUnsubscription": "{{list}}: Por favor, confirme a não inscrição", + "listUnsubscriptionConfirmed": "{{list}}: Inscrição confirmada", + "invalidEmailAddressEmailMxRecordNotFound": "Endereço de e-mail inválido \"{{email}} \": registro MX não encontrado para o domínio", + "invalidEmailAddressEmailAddressDomainNot": "Endereço de e-mail inválido \"{{email}} \": domínio de endereço não encontrado", + "invalidEmailAddressEmailAddressDomain": "Endereço de e-mail inválido \"{{email}} \": é necessário o nome do domínio do endereço", + "invalidEmailAddressEmail": "Endereço de e-mail inválido \"{{email}} \"", + "mailerPasswordChangeRequest": "Solicitação de mudança de senha do Mailer", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Endereço de e-mail alterado", + "emailAddressNotSet": "Endereço de email não definido", + "nothingSeemsToBeChanged": "Nada parece ser alterado", + "anEmailWithFurtherInstructionsHasBeen": "Um email com mais instruções foi enviado para o endereço fornecido", + "foundAddedMessagesNewCampaignMessages": "Encontrou {{addedMessages}} novas mensagens de campanha do feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Não encontrou nada de novo no feed", + "missingEmail": "E-mail ausente", + "emailAddress-2": "Endereço de email", + "wantToChangeIt?": "quer mudá-lo?", + "downloadSignatureVerificationKey": "Baixar chave de verificação de assinatura", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Começa com & # 39; ----- BEGIN BLOCO DE CHAVES PÚBLICAS DO PGP -----", + "insertYourGpgPublicKeyHereToEncrypt": "Insira aqui a sua chave pública GPG para criptografar as mensagens enviadas para o seu endereço (opcional) ", + "existingEmailAddress": "Endereço de e-mail existente", + "newEmailAddress": "Novo endereço de email", + "youWillReceiveAConfirmationRequestToYour": "Você receberá uma solicitação de confirmação para o seu novo endereço de e-mail que você precisa aceitar antes que seu e-mail seja realmente alterado", + "updateEmailAddress": "Atualizar endereço de email", + "updateProfile": "Atualizar Perfil", + "subscribeToList": "Inscrever-se na lista", + "thePasswordMustBeAtLeastMinLength": "A senha deve ter pelo menos {{minLength}} caracteres de comprimento", + "thePasswordMustBeFewerThanMaxLength": "A senha deve ter menos de {{maxLength}} caracteres", + "thePasswordMayNotContainSequencesOfThree": "A senha não pode conter seqüências de três ou mais caracteres repetidos", + "thePasswordMustContainAtLeastOne": "A senha deve conter pelo menos uma letra minúscula", + "thePasswordMustContainAtLeastOne-1": "A senha deve conter pelo menos uma letra maiúscula", + "thePasswordMustContainAtLeastOneNumber": "A senha deve conter pelo menos um número", + "thePasswordMustContainAtLeastOneSpecial": "A senha deve conter pelo menos um caractere especial", + "dTsEmptyTable": "Não foi encontrado nenhum registo", + "dTsInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos", + "dTsInfoEmpty": "Mostrando de 0 até 0 de 0 registos", + "dTsInfoFiltered": "(filtrado de _MAX_ registos no total)", + "dTsInfoPostFix": "", + "dTsInfoThousands": ".", + "dTsLengthMenu": "Mostrar _MENU_ registos", + "dTsLoadingRecords": "A carregar...", + "dTsProcessing": "A processar...", + "dTsSearch": "Procurar:", + "dTsZeroRecords": "Não foram encontrados resultados", + "dTsFirst": "Primeiro", + "dTsLast": "Último", + "dTsNext": "Seguinte", + "dTsPrevious": "Anterior", + "dTsSortAscending": ": Ordenar colunas de forma ascendente", + "dTsSortDescending": ": Ordenar colunas de forma descendente", + "saving": "Saving ...", + "channelUpdated": "Channel updated", + "channelCreated": "Channel created", + "deletingChannel": "Deleting channel ...", + "channelDeleted": "Channel deleted", + "editChannel": "Edit Channel", + "createChannel": "Create Channel", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "save": "Save", + "saveAndLeave": "Save and leave", + "channels": "Channels", + "channel": "Channel", + "channelName": "Channel \"{{name}}\"", + "cloneCampaign": "Clone Campaign", + "next": "Next", + "selectCampaignToBeCloned": "Select campaign to be cloned." +} diff --git a/meta.json b/meta.json deleted file mode 100644 index f48d12cd..00000000 --- a/meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "schemaVersion": 34 -} diff --git a/mvis/client/.gitignore b/mvis/client/.gitignore new file mode 100644 index 00000000..246d599d --- /dev/null +++ b/mvis/client/.gitignore @@ -0,0 +1,2 @@ +/dist +/node_modules \ No newline at end of file diff --git a/mvis/client/package.json b/mvis/client/package.json new file mode 100644 index 00000000..e00422a8 --- /dev/null +++ b/mvis/client/package.json @@ -0,0 +1,44 @@ +{ + "name": "mailtrain-ivis-client", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "js": "webpack", + "watch-js": "webpack --watch", + "css": "npm-run-all --sequential css-compile css-minify", + "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 ../ivis-core/client/src/scss/ivis.scss dist/ivis.css", + "css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/ivis.min.css dist/ivis.css", + "watch-css": "nodemon --watch ../ivis-core/client/src/scss -e scss -x \"npm run css\"", + "watch": "node ../ivis-core/client/pre-build.js && npm-run-all --parallel watch-css watch-js", + "build": "node ../ivis-core/client/pre-build.js && npm-run-all --parallel css js" + }, + "author": "Tomas Bures", + "license": "MIT", + "devDependencies": { + "@babel/cli": "^7.7.5", + "@babel/core": "^7.7.5", + "@babel/plugin-proposal-class-properties": "^7.7.4", + "@babel/plugin-proposal-decorators": "^7.7.4", + "@babel/plugin-proposal-function-bind": "^7.7.4", + "@babel/preset-env": "^7.7.5", + "@babel/preset-react": "^7.7.4", + "@coreui/coreui": "^2.1.16", + "@fortawesome/fontawesome-free": "^5.11.2", + "babel-loader": "^8.0.4", + "bootstrap": "^4.4.1", + "clean-css-cli": "^4.2.1", + "css-loader": "^2.1.0", + "file-loader": "^3.0.1", + "node-sass": "^4.13.0", + "nodemon": "^1.19.4", + "npm-run-all": "^4.1.5", + "sass-loader": "^7.3.1", + "style-loader": "^0.23.1", + "url-loader": "^1.1.2", + "webpack": "^4.41.2", + "webpack-cli": "^3.3.10" + }, + "optionalDependencies": {}, + "dependencies": {} +} diff --git a/mvis/client/src/root-trusted.js b/mvis/client/src/root-trusted.js new file mode 100644 index 00000000..1a6407cc --- /dev/null +++ b/mvis/client/src/root-trusted.js @@ -0,0 +1,9 @@ +'use strict'; + +import em from '../../ivis-core/client/src/lib/extension-manager'; +import './styles.scss'; + +em.set('app.title', 'Mailtrain IVIS'); + +require('../../ivis-core/client/src/root-trusted'); + diff --git a/mvis/client/src/styles.scss b/mvis/client/src/styles.scss new file mode 100644 index 00000000..e69de29b diff --git a/mvis/client/webpack.config.js b/mvis/client/webpack.config.js new file mode 100644 index 00000000..f57e287d --- /dev/null +++ b/mvis/client/webpack.config.js @@ -0,0 +1,15 @@ +const path = require('path'); + +const webpackConf = require('../ivis-core/client/webpack.config'); + +webpackConf.resolve.modules = ['node_modules', '../ivis-core/client/node_modules']; +webpackConf.entry = { + 'index-trusted': ['@babel/polyfill', './src/root-trusted.js'], + 'index-sandbox': ['@babel/polyfill', '../ivis-core/client/src/root-sandbox.js'] +}; +webpackConf.output = { + filename: '[name].js', + path: path.resolve(__dirname, 'dist') +}; + +module.exports = webpackConf; \ No newline at end of file diff --git a/mvis/ivis-core b/mvis/ivis-core new file mode 160000 index 00000000..6daafcfc --- /dev/null +++ b/mvis/ivis-core @@ -0,0 +1 @@ +Subproject commit 6daafcfcf20efd3c7aac6b1170bc22180d6cde24 diff --git a/mvis/server/.gitignore b/mvis/server/.gitignore new file mode 100644 index 00000000..0ca36961 --- /dev/null +++ b/mvis/server/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/config/development.yaml diff --git a/mvis/server/builder.js b/mvis/server/builder.js new file mode 100644 index 00000000..6ee3ef19 --- /dev/null +++ b/mvis/server/builder.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./extensions-common'); +require('../ivis-core/server/services/builder'); + diff --git a/mvis/server/config/default.yaml b/mvis/server/config/default.yaml new file mode 100644 index 00000000..3edcd45e --- /dev/null +++ b/mvis/server/config/default.yaml @@ -0,0 +1,76 @@ +mysql: + host: localhost + user: mvis + password: mvis + database: mvis + +mailtrain: + url: http://localhost:3000/ + namespace: 1 + userRole: mailtrainUser + +www: + # HTTP interface to listen on + host: 127.0.0.1 + # HTTP(S) port to listen on + trustedPort: 3010 + trustedPortIsHttps: false + sandboxPort: 3011 + sandboxPortIsHttps: false + apiPort: 3012 + apiPortIsHttps: false + + trustedUrlBase: http://localhost:3010 + sandboxUrlBase: http://localhost:3011 + + +roles: + global: + mailtrainUser: + name: "Mailtrain User" + admin: true + description: "Limited permissions that allow only read-only access" + permissions: + + namespace: + mailtrainUser: + name: "Mailtrain User" + description: "Limited permissions that allow only read-only access" + permissions: ["view"] + children: + namespace: ["view"] + template: ["view", "viewFiles", "execute"] + workspace: ["view"] + panel: ["view"] + signal: ["view", "query"] + signalSet: ["view", "query"] + +# template: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "viewFiles", "execute"] +# +# workspace: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view"] +# +# panel: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view"] +# +# signal: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "query"] +# +# signalSet: +# mailtrainUser: +# name: "Mailtrain User" +# description: "Limited permissions that allow only read-only access" +# permissions: ["view", "query"] diff --git a/mvis/server/extensions-common.js b/mvis/server/extensions-common.js new file mode 100644 index 00000000..cee6806d --- /dev/null +++ b/mvis/server/extensions-common.js @@ -0,0 +1,14 @@ +'use strict'; + +const em = require('../ivis-core/server/lib/extension-manager'); +const path = require('path'); + +em.set('config.extraDirs', [ path.join(__dirname, 'config') ]); +em.set('builder.exec', path.join(__dirname, 'builder.js')); +em.set('task-handler.exec', path.join(__dirname, 'task-handler.js')); +em.set('indexer.elasticsearch.exec', path.join(__dirname, 'indexer-elasticsearch.js')); +em.set('app.title', 'Mailtrain IVIS'); + +em.set('models.namespaces.extraKeys', ['mt_campaign']); +em.set('models.signalSets.extraKeys', ['mt_dataset_type']); + diff --git a/mvis/server/index.js b/mvis/server/index.js new file mode 100644 index 00000000..c1a8d2eb --- /dev/null +++ b/mvis/server/index.js @@ -0,0 +1,24 @@ +'use strict'; + +require('./extensions-common'); +const em = require('../ivis-core/server/lib/extension-manager'); + +const path = require('path'); + +em.set('app.clientDist', path.join(__dirname, '..', 'client', 'dist')); + +em.on('knex.migrate', async () => { + const knex = require('../ivis-core/server/lib/knex'); + await knex.migrateExtension('mvis', './knex/migrations').latest(); +}); + +em.on('app.installAPIRoutes', app => { + const embedApi = require('./routes/api/embed'); + app.use('/api', embedApi); + + const eventsApi = require('./routes/api/events'); + app.use('/api', eventsApi); +}); + +require('../ivis-core/server/index'); + diff --git a/mvis/server/indexer-elasticsearch.js b/mvis/server/indexer-elasticsearch.js new file mode 100644 index 00000000..e9edcaea --- /dev/null +++ b/mvis/server/indexer-elasticsearch.js @@ -0,0 +1,5 @@ +'use strict'; + +require('./extensions-common'); +require('../ivis-core/server/services/indexer-elasticsearch'); + diff --git a/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js b/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js new file mode 100644 index 00000000..ec9c7bfb --- /dev/null +++ b/mvis/server/knex/migrations/20181226130000_add_mailtrain_metadata.js @@ -0,0 +1,12 @@ +exports.up = (knex, Promise) => (async () => { + await knex.schema.table('signal_sets', table => { + table.integer('mt_dataset_type'); + }); + + await knex.schema.table('namespaces', table => { + table.integer('mt_campaign').unsigned(); + }); +})(); + +exports.down = (knex, Promise) => (async () => { +})(); \ No newline at end of file diff --git a/mvis/server/knexfile.js b/mvis/server/knexfile.js new file mode 100644 index 00000000..1b2aa60b --- /dev/null +++ b/mvis/server/knexfile.js @@ -0,0 +1,16 @@ +'use strict'; + +require('./extensions-common'); + +const config = require('../ivis-core/server/lib/config'); + +module.exports = { + client: 'mysql', + connection: config.mysql, + seeds: { + directory: '../ivis-core/server/knex/seeds' + }, + migrations: { + directory: '../ivis-core/server/knex/migrations' + } +}; diff --git a/mvis/server/package.json b/mvis/server/package.json new file mode 100644 index 00000000..f5c16040 --- /dev/null +++ b/mvis/server/package.json @@ -0,0 +1,23 @@ +{ + "name": "mailtrain-ivis-server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": {}, + "author": "Tomas Bures", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "devDependencies": {}, + "optionalDependencies": {}, + "dependencies": { + "axios": "^0.18.0", + "js-yaml": "^3.12.0", + "knex": "^0.16.3", + "moment": "^2.18.1", + "moment-timezone": "^0.5.27", + "mysql": "^2.16.0", + "npmlog": "^4.0.2" + } +} diff --git a/mvis/server/routes/api/embed.js b/mvis/server/routes/api/embed.js new file mode 100644 index 00000000..944ded36 --- /dev/null +++ b/mvis/server/routes/api/embed.js @@ -0,0 +1,27 @@ +'use strict'; + +const passport = require('../../../ivis-core/server/lib/passport'); +const shares = require('../../../ivis-core/server/models/shares'); +const users = require('../../../ivis-core/server/models/users'); +const {castToInteger} = require('../../../ivis-core/server/lib/helpers'); +const knex = require('../../../ivis-core/server/lib/knex'); +const urls = require('../../../ivis-core/server/lib/urls'); +const contextHelpers = require('../../../ivis-core/server/lib/context-helpers'); + +const router = require('../../../ivis-core/server/lib/router-async').create(); + +router.getAsync('/mt-embedded-panel/:mtUserId/:panelId', passport.loggedIn, async (req, res) => { + const panelId = castToInteger(req.params.panelId); + const mtUserId = castToInteger(req.params.mtUserId); + const userName = `mt-user-${mtUserId}`; + const user = await users.getByUsername(req.context, userName); + + const restrictedAccessToken = await users.getRestrictedAccessToken(req.context, 'panel', {panelId, renewableBySandbox: true}, user.id); + + return res.json({ + token: restrictedAccessToken, + ivisSandboxUrlBase: urls.getSandboxUrlBase() + }); +}); + +module.exports = router; diff --git a/mvis/server/routes/api/events.js b/mvis/server/routes/api/events.js new file mode 100644 index 00000000..0b9dce24 --- /dev/null +++ b/mvis/server/routes/api/events.js @@ -0,0 +1,123 @@ +'use strict'; + +const config = require('../../../ivis-core/server/lib/config'); +const moment = require('moment'); +const knex = require('../../../ivis-core/server/lib/knex'); +const router = require('../../../ivis-core/server/lib/router-async').create(); +const log = require('../../../ivis-core/server/lib/log'); +const signalSets = require('../../../ivis-core/server/models/signal-sets'); +const { SignalType } = require('../../../ivis-core/shared/signals'); +const contextHelpers = require('../../../ivis-core/server/lib/context-helpers'); +const namespaces = require('../../../ivis-core/server/models/namespaces'); + +/* +async function ensureCampaignTracker() { + const schema = { + type: { + type: SignalType.INTEGER, + name: 'Type', + settings: {}, + indexed: true, + weight_list: 0, + weight_edit: 0 + }, + timestamp: { + type: SignalType.DATE_TIME, + name: 'Timestamp', + settings: {}, + indexed: true, + weight_list: 1, + weight_edit: 1 + }, + campaignId: { + type: SignalType.INTEGER, + name: 'Campaign ID', + settings: {}, + indexed: true, + weight_list: 2, + weight_edit: 2 + }, + listId: { + type: SignalType.INTEGER, + name: 'List ID', + settings: {}, + indexed: true, + weight_list: 3, + weight_edit: 3 + }, + subscriptionId: { + type: SignalType.INTEGER, + name: 'Subscription ID', + settings: {}, + indexed: true, + weight_list: 4, + weight_edit: 4 + }, + + }; + + return await signalSets.ensure( + req.context, + 'campaignTracker', + schema, + 'Campaign Tracker', + '', + config.mailtrain.namespace + ); +} + +async function ingestCampaignTrackerRecord(record) { + return { + id: TODO + }; +} + +const types = { + campaign_tracker: { + ensure: ensureCampaignTracker, + ingest: ingestCampaignTrackerRecord + } +} + +router.postAsync('/events', async (req, res) => { + const batch = req.body; + + const recordsByType = {}; + const signalSetWithSignalMapByType = {}; + + for (const type in types) { + recordsByType[type] = []; + signalSetWithSignalMapByType[type] = await types[type].ensure(); + } + + for (const dataEntry of batch.data) { + const record = { + id: dataEntry[idField], + signals: {} + }; + + for (const fieldId in dataEntry) { + if (fieldId !== idField) { + if (!(fieldId in schema)) { + throw new Error(`Unknown data field "${fieldId}`); + } + + let value = dataEntry[fieldId]; + if (schema[fieldId].type === SignalType.DATE_TIME) { + value = moment(value); + } + + record.signals[fieldId] = value; + } + } + + records.push(record); + } + + await signalSets.insertRecords(req.context, signalSetWithSignalMap, records); + + return res.json(); +}); +*/ + +module.exports = router; diff --git a/mvis/server/setup-db.sh b/mvis/server/setup-db.sh new file mode 100644 index 00000000..35689868 --- /dev/null +++ b/mvis/server/setup-db.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +MYSQL_PASSWORD=`pwgen 12 -1` + +# Setup MySQL user for Mailtrain +mysql -u root -p -e "CREATE USER 'mvis'@'localhost' IDENTIFIED BY '$MYSQL_PASSWORD';" +mysql -u root -p -e "GRANT ALL PRIVILEGES ON mvis.* TO 'mvis'@'localhost';" +mysql -u mvis --password="$MYSQL_PASSWORD" -e "CREATE database mvis;" + +cat >> config/production.yaml < { + res.status(404).send('Not found'); +}); + +router.getAsync('/:mtUserId/:panelId', async (req, res) => { + const mtUserId = Number.parseInt(req.params.mtUserId); + const panelId = Number.parseInt(req.params.panelId); + + const url = `https://localhost:8445/api/mt-embedded-panel/${mtUserId}/${panelId}`; + const resp = await axios.get(url, { httpsAgent: agent }); + const panelInfo = resp.data; + + res.render('panel', { + token: panelInfo.token, + panelId: panelId, + ivisSandboxUrlBase: panelInfo.ivisSandboxUrlBase + }); +}); + + +app.use(router); + + +const server = http.createServer(app); + +server.on('listening', () => { + console.log('Express', `WWW server listening on HTTP port ${port}`); +}); + + +server.listen(port, '0.0.0.0'); + diff --git a/mvis/test-embed/package.json b/mvis/test-embed/package.json new file mode 100644 index 00000000..d268bf1f --- /dev/null +++ b/mvis/test-embed/package.json @@ -0,0 +1,20 @@ +{ + "name": "test-embed", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": {}, + "author": "Tomas Bures", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "devDependencies": {}, + "optionalDependencies": {}, + "dependencies": { + "axios": "^0.18.0", + "express": "^4.15.2", + "handlebars": "^4.5.3", + "hbs": "^4.0.6" + } +} diff --git a/mvis/test-embed/views/layout.hbs b/mvis/test-embed/views/layout.hbs new file mode 100644 index 00000000..7ab69251 --- /dev/null +++ b/mvis/test-embed/views/layout.hbs @@ -0,0 +1,10 @@ + + + + + Test EVIF embed + + +{{{ body }}} + + \ No newline at end of file diff --git a/mvis/test-embed/views/panel.hbs b/mvis/test-embed/views/panel.hbs new file mode 100644 index 00000000..f05e39c1 --- /dev/null +++ b/mvis/test-embed/views/panel.hbs @@ -0,0 +1,8 @@ +
+ + + + + diff --git a/mvis/tools/delete-els-indexes.sh b/mvis/tools/delete-els-indexes.sh new file mode 100644 index 00000000..88c70757 --- /dev/null +++ b/mvis/tools/delete-els-indexes.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +SIGSETS=`curl -X GET "localhost:9200/_cat/indices?v" | grep 'signal_set_' | sed -e 's:.*\(signal_set_[^ ]*\).*:\1:g'` + +for SIGSET in $SIGSETS ; do + curl -X DELETE "localhost:9200/$SIGSET" +done diff --git a/mvis/tools/list-els-indexes.sh b/mvis/tools/list-els-indexes.sh new file mode 100644 index 00000000..687e57af --- /dev/null +++ b/mvis/tools/list-els-indexes.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +curl -X GET "localhost:9200/_cat/indices?v" diff --git a/mvis/tools/new-db.sh b/mvis/tools/new-db.sh new file mode 100644 index 00000000..f05d6953 --- /dev/null +++ b/mvis/tools/new-db.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +sudo mysql -e 'drop database mvis; create database mvis' diff --git a/mvis/tools/reinstall-modules.sh b/mvis/tools/reinstall-modules.sh new file mode 100644 index 00000000..89186ea3 --- /dev/null +++ b/mvis/tools/reinstall-modules.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +PACKAGE_DIRS="client server test-embed ivis-core/client ivis-core/shared ivis-core/server ivis-core/embedding" + +for i in $PACKAGE_DIRS; do echo $i; cd $i; rm -rf node_modules; npm install; cd -; done \ No newline at end of file diff --git a/mvis/tools/reset-db.sh b/mvis/tools/reset-db.sh new file mode 100644 index 00000000..166cc39a --- /dev/null +++ b/mvis/tools/reset-db.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +sudo mysql -e 'drop database mt_ivis; create database mt_ivis; connect mt_ivis' diff --git a/package.json b/package.json deleted file mode 100644 index 20f988c6..00000000 --- a/package.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "name": "mailtrain", - "private": true, - "version": "1.24.0", - "description": "Self hosted email newsletter app", - "main": "index.js", - "scripts": { - "test": "grunt", - "start": "node index.js", - "sqlinit": "node setup/sql/init.js", - "sqldump": "node setup/sql/dump.js | sed -e '/^\\/\\*.*\\*\\/;$/d' -e 's/.[0-9]\\{4\\}-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]./NOW()/g' > setup/sql/mailtrain${DUMP_NAME_SUFFIX}.sql", - "sqldrop": "node setup/sql/drop.js", - "sqlgen": "npm run sqldrop && DB_FROM_START=Y npm run sqlinit && npm run sqldump", - "langs:hbs": "jsxgettext -L handlebars -k translate -o langs/hbs.pot views/layout.hbs views/index.hbs", - "langs:js": "jsxgettext -o languages/js.pot routes/index.js", - "langs": "npm run langs:hbs && npm run langs:js", - "sqldumptest": "NODE_ENV=test DUMP_NAME_SUFFIX=-test npm run sqldump", - "sqlresettest": "NODE_ENV=test npm run sqldrop && NODE_ENV=test npm run sqlinit", - "starttest": "NODE_ENV=test node index.js", - "_e2e": "NODE_ENV=test node test/e2e/index.js", - "e2e": "npm run sqlresettest && npm run _e2e" - }, - "repository": { - "type": "git", - "url": "git://github.com/Mailtrain-org/mailtrain.git" - }, - "author": "Andris Reinman", - "license": "GPL-3.0", - "homepage": "https://mailtrain.org/", - "engines": { - "node": ">=5.0.0" - }, - "devDependencies": { - "babel-eslint": "^8.0.0", - "bluebird": "^3.5.0", - "chai": "^4.1.2", - "eslint-config-nodemailer": "^1.2.0", - "grunt": "^1.0.1", - "grunt-cli": "^1.2.0", - "grunt-contrib-nodeunit": "^1.0.0", - "grunt-eslint": "^20.1.0", - "jsxgettext-andris": "^0.9.0-patch.1", - "lodash": "^4.17.4", - "mocha": "^3.5.3", - "phantomjs-prebuilt": "^2.1.15", - "selenium-webdriver": "^3.5.0", - "url-pattern": "^1.0.3" - }, - "optionalDependencies": { - "posix": "^4.1.1" - }, - "dependencies": { - "async": "^2.5.0", - "aws-sdk": "^2.122.0", - "bcrypt-nodejs": "0.0.3", - "body-parser": "^1.18.2", - "bounce-handler": "^7.3.2-fork.2", - "compression": "^1.7.0", - "config": "^1.26.2", - "connect-flash": "^0.1.1", - "connect-redis": "^3.3.0", - "cookie-parser": "^1.4.3", - "cors": "^2.8.4", - "csurf": "^1.9.0", - "csv-parse": "^1.2.3", - "device": "^0.3.8", - "dompurify": "^1.0.2", - "escape-html": "^1.0.3", - "escape-string-regexp": "^1.0.5", - "express": "^4.15.5", - "express-session": "^1.15.5", - "faker": "^4.1.0", - "feedparser": "^2.2.1", - "fs-extra": "^4.0.2", - "geoip-ultralight": "^0.1.5", - "gettext-parser": "^1.3.0", - "gm": "^1.23.0", - "handlebars": "^4.0.10", - "hbs": "^4.0.1", - "he": "^1.1.1", - "html-to-text": "^3.3.0", - "humanize": "0.0.9", - "is-url": "^1.2.2", - "isemail": "^2.2.1", - "jquery-file-upload-middleware": "^0.1.8", - "jsdom": "^9.12.0", - "json-stringify-date": "^0.1.4", - "juice": "^4.1.1", - "libmime": "^3.1.0", - "mailparser": "^2.0.5", - "marked": "^0.3.6", - "memory-cache": "^0.2.0", - "mjml": "3.3.5", - "mkdirp": "^0.5.1", - "moment-timezone": "^0.5.13", - "morgan": "^1.8.2", - "multer": "^1.3.0", - "multiparty": "^4.1.3", - "mysql": "^2.14.1", - "node-gettext": "^2.0.0", - "node-mocks-http": "^1.6.5", - "nodemailer": "^4.1.1", - "nodemailer-openpgp": "^1.1.0", - "npmlog": "^4.1.2", - "object-hash": "^1.1.8", - "openpgp": "^2.5.11", - "passport": "^0.4.0", - "passport-local": "^1.0.0", - "passport-ldapauth": "^2.0.0", - "premailer-api": "^1.0.4", - "redfour": "^1.0.2", - "redis": "^2.8.0", - "request": "^2.82.0", - "request-promise": "^4.2.2", - "serve-favicon": "^2.4.4", - "shortid": "^2.2.8", - "slugify": "^1.2.1", - "smtp-server": "^3.1.0", - "striptags": "^3.1.0", - "toml": "^2.3.3", - "try-require": "^1.2.1" - } -} diff --git a/public/ace/ace.js b/public/ace/ace.js deleted file mode 100644 index 2923ef0c..00000000 --- a/public/ace/ace.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){s.OSKey&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null),s.count=0,s.lastT=0}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){var t=e.keyCode;s[t]=(s[t]||0)+1,t==91||t==92?s.OSKey=!0:s.OSKey&&e.timeStamp-s.lastT>200&&s.count==1&&f(),s[t]==1&&s.count++,s.lastT=e.timeStamp;var r=a(n,e,t);return u=e.defaultPrevented,r}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){var t=e.keyCode;s[t]?s.count=Math.max(s.count-1,0):f();if(t==91||t==92)s.OSKey=!1;s[t]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("
"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("
","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)),height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.3"}); - (function() { - ace.require(["ace/ace"], function(a) { - a && a.config.init(true); - if (!window.ace) - window.ace = a; - for (var key in a) if (a.hasOwnProperty(key)) - window.ace[key] = a[key]; - }); - })(); - \ No newline at end of file diff --git a/public/ace/mode-css.js b/public/ace/mode-css.js deleted file mode 100644 index 84cd16c6..00000000 --- a/public/ace/mode-css.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/public/ace/mode-handlebars.js b/public/ace/mode-handlebars.js deleted file mode 100644 index bd345d55..00000000 --- a/public/ace/mode-handlebars.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/handlebars_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";function s(e,t){return t.splice(0,3),t.shift()||"start"}var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,o=function(){i.call(this);var e={regex:"(?={{)",push:"handlebars"};for(var t in this.$rules)this.$rules[t].unshift(e);this.$rules.handlebars=[{token:"comment.start",regex:"{{!--",push:[{token:"comment.end",regex:"--}}",next:s},{defaultToken:"comment"}]},{token:"comment.start",regex:"{{!",push:[{token:"comment.end",regex:"}}",next:s},{defaultToken:"comment"}]},{token:"support.function",regex:"{{{",push:[{token:"support.function",regex:"}}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]},{token:"storage.type.start",regex:"{{[#\\^/&]?",push:[{token:"storage.type.end",regex:"}}",next:s},{token:"variable.parameter",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"}]}],this.normalizeRules()};r.inherits(o,i),t.HandlebarsHighlightRules=o}),ace.define("ace/mode/behaviour/html",["require","exports","module","ace/lib/oop","ace/mode/behaviour/xml"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour/xml").XmlBehaviour,s=function(){i.call(this)};r.inherits(s,i),t.HtmlBehaviour=s}),ace.define("ace/mode/handlebars",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/handlebars_highlight_rules","ace/mode/behaviour/html","ace/mode/folding/html"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./handlebars_highlight_rules").HandlebarsHighlightRules,o=e("./behaviour/html").HtmlBehaviour,u=e("./folding/html").FoldMode,a=function(){i.call(this),this.HighlightRules=s,this.$behaviour=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.blockComment={start:"{{!--",end:"--}}"},this.$id="ace/mode/handlebars"}.call(a.prototype),t.Mode=a}) \ No newline at end of file diff --git a/public/ace/mode-html.js b/public/ace/mode-html.js deleted file mode 100644 index ec4be71a..00000000 --- a/public/ace/mode-html.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({noJSX:!0})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[A-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file diff --git a/public/ace/mode-javascript.js b/public/ace/mode-javascript.js deleted file mode 100644 index 26a8bdc8..00000000 --- a/public/ace/mode-javascript.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||!e.noJSX)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/public/ace/mode-json.js b/public/ace/mode-json.js deleted file mode 100644 index f6226b80..00000000 --- a/public/ace/mode-json.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g;else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/public/ace/mode-plain_text.js b/public/ace/mode-plain_text.js deleted file mode 100644 index 21cf21da..00000000 --- a/public/ace/mode-plain_text.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour").Behaviour,u=function(){this.HighlightRules=s,this.$behaviour=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(u.prototype),t.Mode=u}) diff --git a/public/ace/theme-chrome.js b/public/ace/theme-chrome.js deleted file mode 100644 index 29b01c7a..00000000 --- a/public/ace/theme-chrome.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) \ No newline at end of file diff --git a/public/ace/worker-css.js b/public/ace/worker-css.js deleted file mode 100644 index 408c6bd0..00000000 --- a/public/ace/worker-css.js +++ /dev/null @@ -1 +0,0 @@ -"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;othis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i=0&&this._ltIndex-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(tthis._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vmax":case"vmin":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-_\u0080-\uFFFF][a-z0-9\-_\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(e.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(e.peek()==Tokens.VIEWPORT_SYM)this._viewport();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_viewport:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.VIEWPORT_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endviewport",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(e){var t=this._tokenStream,n=null,r=null,i=null,s,o,u;return n=this._unary_operator(),n!==null&&(o=t.token().startLine,u=t.token().startCol),t.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(r=this._ie_function(),n===null&&(o=t.token().startLine,u=t.token().startCol)):e&&t.match([Tokens.LPAREN,Tokens.LBRACE,Tokens.LBRACKET])?(s=t.token(),i=s.endChar,r=s.value+this._expr(e).text,n===null&&(o=t.token().startLine,u=t.token().startCol),t.mustMatch(Tokens.type(i)),r+=i,this._readWhitespace()):t.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(r=t.token().value,n===null&&(o=t.token().startLine,u=t.token().startCol),this._readWhitespace()):(s=this._hexcolor(),s===null?(n===null&&(o=t.LT(1).startLine,u=t.LT(1).startCol),r===null&&(t.LA(3)==Tokens.EQUALS&&this.options.ieFilters?r=this._ie_function():r=this._function())):(r=s.value,n===null&&(o=s.startLine,u=s.startCol))),r!==null?new PropertyValuePart(n!==null?n+r:r,o,u):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | ","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"