diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 89f4ba21..00000000
--- a/.babelrc
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "presets": [
- [
- "@babel/preset-env"
- ]
- ],
- "plugins" : [
- "@babel/plugin-proposal-class-properties"
- ]
-}
\ No newline at end of file
diff --git a/.browserslistrc b/.browserslistrc
deleted file mode 100644
index 214388fe..00000000
--- a/.browserslistrc
+++ /dev/null
@@ -1,3 +0,0 @@
-> 1%
-last 2 versions
-not dead
diff --git a/.deepsource.toml b/.deepsource.toml
deleted file mode 100644
index 02492c7b..00000000
--- a/.deepsource.toml
+++ /dev/null
@@ -1,22 +0,0 @@
-version = 1
-
-test_patterns = [
- "tests/**",
- "src/test/**"
-]
-
-exclude_patterns = [
- "lib/**",
- "orbit_bundle.js",
- "public/**",
- "cc/**"
-]
-
-[[analyzers]]
-name = "javascript"
-enabled = true
-
- [analyzers.meta]
- plugins = ["vue"]
-
-
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index b9a8d24d..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,48 +0,0 @@
-module.exports = {
- env: {
- browser: true,
- es6: true,
- node: true
- },
-
- globals: {
- Atomics: "readonly",
- SharedArrayBuffer: "readonly"
- },
-
- // Position is important, the last rules take precident here. For the least amount of prettier conficts with other eslint plugins.
- // it has to come last
- extends: ["eslint:recommended", "plugin:vue/recommended", "@vue/typescript", "prettier/vue"],
-
- parserOptions: {
- ecmaVersion: 2018,
- sourceType: "module",
- parser: "@typescript-eslint/parser"
- },
-
- rules: {
- "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
- "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
- "linebreak-style": ["error", "unix"],
- quotes: ["warn", "double"],
- semi: ["warn", "always"],
- "no-unused-vars": "off",
- "no-case-declarations": "off",
- "vue/max-attributes-per-line": "off",
- "no-prototype-builtins": "off",
- "space-before-function-paren": "off",
- "no-useless-escape": "off",
- "no-empty-pattern": "warn"
- },
-
- ignorePatterns: ["src/test/**", "tests/**", "**/examples/**", "**/parameterMenu.js", "src/assets/**"],
-
- overrides: [
- {
- files: ["**/__tests__/*.{j,t}s?(x)", "**/tests/unit/**/*.spec.{j,t}s?(x)"],
- env: {
- mocha: true
- }
- }
- ]
-};
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index cd2338b0..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-Or add a GIF
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Desktop (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md
deleted file mode 100644
index 48d5f81f..00000000
--- a/.github/ISSUE_TEMPLATE/custom.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-name: Custom issue template
-about: Describe this issue template's purpose here.
-title: ''
-labels: ''
-assignees: ''
-
----
-
-
diff --git a/.github/ISSUE_TEMPLATE/development-story.md b/.github/ISSUE_TEMPLATE/development-story.md
deleted file mode 100644
index c1197c2a..00000000
--- a/.github/ISSUE_TEMPLATE/development-story.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-name: Development Story
-about: Describe this issue template's purpose here.
-title: "[Story]"
-labels: ''
-assignees: ''
-
----
-
-### Description
-
-(Concise Description of the issue)
-
-(Feature list)
-
-**Additional Description:**
-
-(Attach mockups and more information here)
-
-Acceptance Criteria:
-- [ ] Unit Test
-- [ ] ??
-- [ ] ??
-- [ ] ??
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index bbcbbe7d..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: ''
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
deleted file mode 100644
index d56eff88..00000000
--- a/.github/workflows/main.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: CI
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events but only for the master branch
- push:
- branches: [ webpack-build ]
- pull_request:
- branches: [ webpack-build ]
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - run : |
- npm ci
- npm run vue-lint
-
- lint-fix:
- runs-on: ubuntu-latest
- needs: [lint]
- if: failure()
- steps:
- - name: Chckout the code
- uses: actions/checkout@v2
- - name: Lint fix everything
- run: |
- npm ci
- npm run vue-lint --fix
- - name: commit and push changes
- uses: devops-infra/action-commit-push@v0.3
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- commit_message: ran the lint fixer
-
- # This workflow contains a single job called "build"
- build:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
- needs: [lint]
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
-
- # Runs a single command using the runners shell
- - name: Run a one-line script
- run: |
- export NODE_OPTIONS=--openssl-legacy-provider
- npm ci
- npm run vue-build
-
- # Runs a set of commands using the runners shell
- - name: Run a multi-line script
- run: |
- echo Add other actions to build,
- echo test, and deploy your project.
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 3c8cb3e0..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,32 +0,0 @@
-__pycache__/
-*.py[cod]
-*.stl
-
-coverage/
-node_modules/
-
-old/*output
-old/*.scad
-*.log
-
-.idea/
-*tmp-browserify*
-
-3DuFapp.js
-publish.sh
-
-docs/
-build/*
-server-build/
-
-# Folder view configuration files
-.DS_Store
-Desktop.ini
-
-# Thumbnail cache files
-._*
-Thumbs.db
-
-# Files that might appear on external disks
-.Spotlight-V100
-.Trashes
diff --git a/.nvmrc b/.nvmrc
deleted file mode 100644
index 9a0c3d3f..00000000
--- a/.nvmrc
+++ /dev/null
@@ -1 +0,0 @@
-v14.15.4
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 038d7af9..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "arrowParens": "avoid",
- "bracketSpacing": true,
- "endOfLine": "lf",
- "htmlWhitespaceSensitivity": "css",
- "insertPragma": false,
- "jsxBracketSameLine": false,
- "jsxSingleQuote": false,
- "printWidth": 180,
- "proseWrap": "preserve",
- "quoteProps": "as-needed",
- "requirePragma": false,
- "semi": true,
- "singleQuote": false,
- "tabWidth": 4,
- "trailingComma": "none",
- "useTabs": false,
- "vueIndentScriptAndStyle": false,
- "spacebeforefunctionparen": "never"
-}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index 096a8ec9..00000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "recommendations": [
- "ms-vscode.vscode-typescript-next",
- "oouo-diogo-perdigao.docthis",
- "msjsdiag.debugger-for-chrome",
- "octref.vetur",
- "alefragnani.bookmarks",
- "dzannotti.vscode-babel-coloring",
- "ms-vsliveshare.vsliveshare-pack",
- "redhat.vscode-yaml",
- "yzhang.markdown-all-in-one",
- "github.vscode-pull-request-github",
- "streetsidesoftware.code-spell-checker",
- "eamodio.gitlens",
- "firefox-devtools.vscode-firefox-debug",
- "jcbuisson.vue",
- "dbaeumer.vscode-eslint",
- "salbert.comment-ts"
- ]
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index dae6ee06..00000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "chrome",
- "request": "launch",
- "name": "vuejs: chrome",
- "url": "http://localhost:8080",
- "webRoot": "${workspaceFolder}/src",
- "breakOnLoad": true,
- "sourceMapPathOverrides": {
- "webpack:///src/*": "${webRoot}/*"
- }
- },
- {
- "type": "firefox",
- "request": "launch",
- "name": "vuejs: firefox",
- "url": "http://localhost:8080",
- "webRoot": "${workspaceFolder}/src",
- "pathMappings": [
- {
- "url": "webpack:///src/services/theme/utils.ts",
- "path": "git:/Users/krishna/CIDAR/3duf-vue-port/src/cc/hardware/utils.ts?%7B%22path%22%3A%22%2FUsers%2Fkrishna%2FCIDAR%2F3duf-vue-port%2Fsrc%2Fcc%2Fhardware%2Futils.ts%22%2C%22ref%22%3A%22%22%7D"
- },
- {
- "url": "webpack:///src/",
- "path": "${webRoot}/"
- }
- ]
- }
- ]
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index b3c804c4..00000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "files.eol": "\n",
- "eslint.validate": ["vue", "html", "javascript", "typescript"],
- "typescript.referencesCodeLens.enabled": true,
- "typescript.updateImportsOnFileMove.enabled": "prompt",
- "editor.defaultFormatter": "octref.vetur",
- "editor.definitionLinkOpensInPeek": true,
- "vetur.format.options.tabSize": 4,
- "[typescript]": {
- "editor.autoClosingBrackets": "languageDefined"
- },
- "[typescriptreact]": {
- "editor.autoClosingBrackets": "languageDefined"
- },
- "[javascript]": {
- "editor.autoClosingBrackets": "languageDefined"
- },
- "[javascriptreact]": {
- "editor.autoClosingBrackets": "languageDefined"
- },
- "cSpell.words": ["registryref"],
- "editor.codeActionsOnSave": {
- "source.fixAll.eslint": "explicit"
- },
- "rpc.enabled": true
-}
diff --git a/.vscode/workspace.code-workspace b/.vscode/workspace.code-workspace
deleted file mode 100644
index 1d3ddb86..00000000
--- a/.vscode/workspace.code-workspace
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "folders": [
- {
- "path": ".."
- }
- ],
- "settings": {
- "editor.formatOnSave": false,
- "editor.tabSize": 4,
- "editor.insertSpaces": true,
- "editor.detectIndentation": false,
- "editor.defaultFormatter": null,
- "editor.codeActionsOnSave": {
- "source.fixAll.eslint": true
- },
- "eslint.alwaysShowStatus": true,
- "eslint.codeActionsOnSave.mode": "all",
- "eslint.codeAction.showDocumentation": {
- "enable": true
- },
- "eslint.lintTask.enable": true,
- "javascript.format.enable": false,
- "typescript.format.enable": false,
- "vetur.validation.template": false
- }
-}
diff --git a/CNAME b/CNAME
deleted file mode 100644
index 9a194389..00000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-3duf.org
\ No newline at end of file
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index 139189b2..00000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, sex characteristics, gender identity and expression,
-level of experience, education, socio-economic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-- Using welcoming and inclusive language
-- Being respectful of differing viewpoints and experiences
-- Gracefully accepting constructive criticism
-- Focusing on what is best for the community
-- Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-- The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-- Trolling, insulting/derogatory comments, and personal or political attacks
-- Public or private harassment
-- Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-- Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at rkrishnasanka@gmail.com. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index caa73ae8..00000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# Contributing
-
-When contributing to this repository, please first discuss the change you wish to make via issue,
-email, or any other method with the owners of this repository before making a change.
-
-Please note we have a code of conduct, please follow it in all your interactions with the project.
-
-## Pull Request Process
-
-1. Ensure any install or build dependencies are removed before the end of the layer when doing a
- build.
-2. Update the README.md with details of changes to the interface, this includes new environment
- variables, exposed ports, useful file locations and container parameters.
-3. Increase the version numbers in any examples files and the README.md to the new version that this
- Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
-4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
- do not have permission to do that, you may request the second reviewer to merge it for you.
-
-## Code of Conduct
-
-### Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, gender identity and expression, level of experience,
-nationality, personal appearance, race, religion, or sexual identity and
-orientation.
-
-### Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-- Using welcoming and inclusive language
-- Being respectful of differing viewpoints and experiences
-- Gracefully accepting constructive criticism
-- Focusing on what is best for the community
-- Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-- The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-- Trolling, insulting/derogatory comments, and personal or political attacks
-- Public or private harassment
-- Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-- Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-### Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-### Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-### Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-### Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at [http://contributor-covenant.org/version/1/4][version]
-
-[homepage]: http://contributor-covenant.org
-[version]: http://contributor-covenant.org/version/1/4/
diff --git a/InsertTextDialog.vue.txt b/InsertTextDialog.vue.txt
deleted file mode 100644
index cfa3c89e..00000000
--- a/InsertTextDialog.vue.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-
- Insert
-
-
-
-
-
-
-
- Cancel
-
-
-
-
- Save
-
-
-
-
-
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 3bf17a17..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-BSD 2-Clause License
-
-Copyright (c) 2019, CIDAR LAB
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 40dc7576..00000000
--- a/README.md
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-An Interactive Design Tool for Continuous Flow Microfluidic Devices - [3DuF.org](http://3duf.org)
-
-## Status
-
-[![Netlify Status](https://api.netlify.com/api/v1/badges/01675390-381f-45a9-88b1-a6f8db0fecbc/deploy-status)](https://app.netlify.com/sites/wonderful-blackwell-a043b5/deploys)
-
-## About
-
-The design of microfluidic Lab on a Chip (LoC) systems is an onerous task requiring specialized skills in fluid dynamics, mechanical design drafting, and manufacturing. Engineers face significant challenges during the labor-intensive process of designing microfluidic devices, with very few specialized tools that help automate the process. Typical design iterations require the engineer to research the architecture, manually draft the device layout, optimize for manufacturing processes and manually calculate and program the valve sequences that operate the microfluidic device. The problem compounds when the devices are intended for executing biological assays where engineers not only have to test the functionality of the chip but are also required to optimize them for robust performance. In this paper, we present an interactive tool for designing continuous flow microfluidic devices. 3DuF is the first completely open-source interactive microfluidic system designer that readily supports state-of-the-art design automation algorithms. Through various case studies, we show 3DuF can be used to reproduce designs from literature, provide metrics for evaluating microfluidic design complexity and showcase how 3DuF is a platform for integrating a wide assortment of engineering techniques used in the design of microfluidic devices as a part of the standard design work-flow.
-
-## Academic Publications
-
-> Sanka, Radhakrishna, Joshua Lippai, Dinithi Samarasekera, Sarah Nemsick, and Douglas Densmore. “3DμF - Interactive Design Environment for Continuous Flow Microfluidic Devices.” Scientific Reports 9, no. 1 (December 2019).
-
-[https://doi.org/10.1038/s41598-019-45623-z](https://doi.org/10.1038/s41598-019-45623-z)
-
-## Usage
-
-### Design Environment
-
-
-
-### Keyboard Shortcuts
-
-- Pan Canvas: `middle mouse button` and `arrow` keys
-- Reset Canvas View: `F` key
-- Activate Select Tool/ Deselect Selected Components: `Esc`
-- Activate Component Copy Mode: `ctrl+C` -\> `ctrl+V`
-- Undo Last Edit: `ctrl+Z`
-- Select All: `ctrl+A`
-- Save JSON file: ` ctrl+ S`
-
-### Installation and Debugging
-
-[Instructions for installation, build, and test are in the wiki.](https://github.com/CIDARLAB/3DuF/wiki/Building-and-Testing-3DuF)
-
-### Selecting and Configuring Feature Types
-
-Use the buttons in the menu (on the left) to select a feature type to place.
-The gear-shaped button will bring up a menu that will allow you to adjust the parameters for that feature type.
-
-Click on a layer to select it. This will cause new features to be placed only into that layer. The currently-selected layer's color will be reflected in the button color of any selected feature.
-
-### Placing Features
-
-Left click on the device canvas (on the right) to place a feature. Some features (such as Channels and Chambers) are determined by two points, and are placed by clicking and dragging.
-
-Right click on a feature to select it. Right click and drag to select multiple features at once.
-
-If a layer has been selected, only features on that layer can be selected this way.
-
-### Editing Features
-
-Left click on any selected feature to bring up a dialog box which will allow you to edit its parameters. If more than one feature is selected, parameters will be inherited by all currently selected features of the same type as the one you clicked.
-
-### Saving Designs
-
-Under `Save` in the main menu, click a to download the current design in the selected format.
-
-### Loading Designs
-
-After saving a device design to JSON, drag and drop it from your computer onto the device canvas to load it.
-
-## Component Library
-
-
-
-
-## Primitives Server
-
-As 3DuF continues to become a core component of the Microfluidics CAD Ecossytem, we have incorporated the ability to generate component dimensions, port locations, default dimensions for all the parametrically generated components supported by 3DuF.
-
-The instructions for starting this server are as follows:
-```
-docker build -f primitives-server.Dockerfile -t primitives-server:latest .
-docker run -p 6060:6060 primitives-server
-```
-
-This will enable the API on port 6060. This can be verified by either going to `http://localhost:6060` or by running the following command:
-
-```
-curl http://localhost:6060
-```
-
-Alternatively you can install the dev version of the library if you want to debug it locally.
-
-```
-npm ci
-cd src/server
-npm ci
-npm run dev
-```
-
-## Attributions
-
-Error Logging and Tracking enabled by [TrackJS](https://trackjs.com/)
-
-## License
-
-BSD 2-Clause License
-
-Copyright (c) 2019, CIDAR LAB
-All rights reserved.
-
-See [LICENSE](/LICENSE) for more information.
diff --git a/dist/animations.css b/animations.css
similarity index 100%
rename from dist/animations.css
rename to animations.css
diff --git a/cc/legacy-neptune-control-code/DispenserCommands.js b/cc/legacy-neptune-control-code/DispenserCommands.js
deleted file mode 100644
index 09da0fa1..00000000
--- a/cc/legacy-neptune-control-code/DispenserCommands.js
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * Created by rebeccawolf on 10/5/16.
- */
-
-function incrementDispenserPosition(dispenser_to_control) {
- // identify which dispenser you are sending command to
- localStorage.dispenserToControl = dispenser_to_control;
- // see if already maxed out at highest position
- if (
- parseFloat(JSON.parse(localStorage.dispenserData)[dispenser_to_control - 1]["Current_State"]) <=
- parseFloat(JSON.parse(localStorage.dispenserData)[dispenser_to_control - 1]["Max"])
- ) {
- var conversionTable = JSON.parse(JSON.parse(localStorage.getItem("dispenserConversions"))[dispenser_to_control]); // conversion table for specific dispenser you are controlling
-
- var temp = JSON.parse(localStorage.dispenserData);
- var index = parseFloat(temp[dispenser_to_control - 1]["Current_State"]); // current uL state
- // var PWMcurrent = conversionTable[index]; // find the PWM value which corresponds to the mL value chosen to send to arduino
- var foundIndex = false;
- var nextuL = 0;
- var nextPWM = 0;
- // figure out which is the next increment of uL value we can dispenser from the conversion table
- for (var uL = 0; uL <= conversionTable.length; uL = uL + 2) {
- if (foundIndex == true) {
- nextuL = conversionTable[uL]; // note the next uL value to send
- nextPWM = conversionTable[uL + 1];
- break;
- }
- if (conversionTable[uL] == index) {
- foundIndex = true;
- }
- if (conversionTable[uL] > index) {
- // surpassed current value, send this one!!
- nextuL = conversionTable[uL];
- nextPWM = conversionTable[uL + 1];
- break;
- }
- }
- nextPWM = nextPWM.toFixed(0);
-
- // set current state to one which corresponds to a value in conversion table
- temp[dispenser_to_control - 1]["Current_State"] = nextuL.toString();
- localStorage.dispenserData = JSON.stringify(temp);
-
- sendCommandDispense(nextPWM, dispenser_to_control);
- updateDispenseProgressBar(dispenser_to_control);
- } else {
- toastr.warning("You have already dispensed the full amount of this syringe.");
- }
- return false;
-}
-
-function decrementDispenserPosition(dispenser_to_control) {
- localStorage.dispenserToControl = dispenser_to_control;
- // assumes the capacity of the syringe is 9 mL
- if (
- parseFloat(JSON.parse(localStorage.dispenserData)[dispenser_to_control - 1]["Current_State"]) >
- parseFloat(JSON.parse(localStorage.dispenserData)[dispenser_to_control - 1]["Min"])
- ) {
- var conversionTable = JSON.parse(JSON.parse(localStorage.getItem("dispenserConversions"))[dispenser_to_control]); // conversion table for specific dispenser you are controlling
-
- var temp = JSON.parse(localStorage.dispenserData);
- var index = parseFloat(temp[dispenser_to_control - 1]["Current_State"]); // current uL state
- var foundIndex = false;
- var nextuL = 0;
- var nextPWM = 0;
-
- // figure out which is the next increment of uL value we can dispenser from the conversion table
- for (var uL = conversionTable.length - 2; uL >= 0; uL = uL - 2) {
- if (foundIndex == true) {
- nextuL = conversionTable[uL]; // note the next uL value to send
- nextPWM = conversionTable[uL + 1];
- break;
- }
- if (conversionTable[uL] == index) {
- foundIndex = true;
- }
- if (conversionTable[uL] < index) {
- // surpassed current value, send this one!!
- nextuL = conversionTable[uL];
- nextPWM = conversionTable[uL + 1];
- break;
- }
- }
- nextPWM = nextPWM.toFixed(0);
-
- // set current state to one which corresponds to a value in conversion table
- temp[dispenser_to_control - 1]["Current_State"] = nextuL.toString();
- localStorage.dispenserData = JSON.stringify(temp);
-
- sendCommandDispense(nextPWM, dispenser_to_control);
- updateDispenseProgressBar(dispenser_to_control);
- } else {
- toastr.warning("You have reached minimum volume capacity.");
- }
- return false;
-}
-
-function wrap_data_for_Arduino_Dispense(PWM, dispenser_to_control) {
- // var dispenser_to_control = localStorage.dispenserToControl;
- var temp = JSON.parse(localStorage.dispenserData);
- var deviceNum = temp[dispenser_to_control - 1]["deviceIndex"];
- console.log("the device num is: " + deviceNum);
-
- // FIRST, PAD VALUES WITH 0's SUCH THAT THE VALUE IS 3 CHARACTERS LONG
- var dispenser_to_control_padded = zeroFill(deviceNum, 4);
- var PWMval_padded = zeroFill(PWM, 4);
- // CONCAT THE VALVE NUMBER AND PWM VALUE
- var pre_command = dispenser_to_control_padded.concat(PWMval_padded);
- // ADD A START CODON TO SIGNIFY THE BEGINING OF SIGNAL
- var startStr = "";
- var pre_command_s = startStr.concat(pre_command);
- // ADD A STOP CODON TO SIGNIFY THE END OF SIGNAL
- var command = pre_command_s.concat("\n");
- // RETURN THE DATA
- return command;
-}
-function sendCommandDispense(PWM, dispenser_to_control) {
- var command = wrap_data_for_Arduino_Dispense(PWM, dispenser_to_control);
- var message = "Sending to Arduino: ";
- var command_info = message.concat(command);
- // --- Include code to serial.write() the command to the Arduino here --- //
- toastr.info(command_info);
- // writeToSerialConsole(command_info);
- // console.log(command);
- localStorage.setItem("myCommand", command);
- $.ajax({
- url: "/serialcommunication/send",
- type: "POST",
- async: true,
- data: {
- commandData: command
- },
- success: function(response) {},
- error: function(response) {}
- });
-}
-// ./ END DISPENSER FUNCTIONS
-
-// HELPER FUNCTIONS FOR SENDING COMMANDS FOR BOTH VALVES AND DISPENSERS
-function zeroFill(number, width) {
- width -= number.toString().length;
- if (width > 0) {
- return new Array(width + (/\./.test(number) ? 2 : 1)).join("0") + number;
- }
- return number + ""; // always return a string
-}
-function paddy(n, p, c) {
- var pad_char = typeof c !== "undefined" ? c : "0";
- var pad = new Array(1 + p).join(pad_char);
- return (pad + n).slice(-pad.length);
-}
-
-// ./ END HELPER FUNCTIONS
-
-// dispenser arrow key functionality
-function upArrow() {
- if (JSON.parse(localStorage.dispenserData)[localStorage.dispenserToControl - 1]["orientation"] === "pull") {
- incrementDispenserPosition(localStorage.dispenserToControl); // output fluid for pull syringe = move syringe to higher position
- } else {
- decrementDispenserPosition(localStorage.dispenserToControl); // output fluid for push syringe = move syringe to lower position
- }
- return false;
-}
-function downArrow() {
- if (JSON.parse(localStorage.dispenserData)[localStorage.dispenserToControl - 1]["orientation"] === "pull") {
- decrementDispenserPosition(localStorage.dispenserToControl); // retract fluid for pull syringe = move syringe to lower position
- } else {
- incrementDispenserPosition(localStorage.dispenserToControl); // retract fluid for push syringe = move syringe to higher position
- }
- return false;
-}
-function dispenseSelected(down) {
- switch (down.keyCode) {
- case 38: // up key
- if (localStorage.activeDispenser != "none") {
- upArrow();
- }
- break;
- case 40: // down key
- if (localStorage.activeDispenser != "none") {
- downArrow();
- }
- break;
- }
-}
-// ./ end dispenser arrow key functionality
-
-// dispenser modal progress bar update
-function updateDispenseProgressBar(dispenserIDNum) {
- currentState = JSON.parse(localStorage.dispenserData)[dispenserIDNum - 1]["Current_State"];
- maxVol = JSON.parse(localStorage.dispenserData)[dispenserIDNum - 1]["Max"];
- minVol = JSON.parse(localStorage.dispenserData)[dispenserIDNum - 1]["Min"];
- if (currentState == 0) {
- percentageUpdate = 0; // value is NaN otherwise
- } else {
- percentageUpdate = Math.floor(((currentState - minVol) / (maxVol - minVol)) * 100);
- }
-
- // first update syringe
- updateDispenseSyringe(dispenserIDNum, percentageUpdate);
-
- // now base percentage update on syringe orientation:
- if (JSON.parse(localStorage.dispenserData)[dispenserIDNum - 1]["orientation"] === "push") {
- percentageUpdate = 100 - percentageUpdate;
- }
-
- document.getElementById("progress" + dispenserIDNum).innerHTML = percentageUpdate + "% total vol";
- document.getElementById("stateOf" + dispenserIDNum).innerHTML = currentState + " uL";
- $("#progress" + dispenserIDNum)
- .css("width", percentageUpdate + "%")
- .attr("aria-valuenow", percentageUpdate);
- return false;
-}
-
-// update dispenserUI modal syringe to dispensed value
-function updateDispenseSyringe(dispenserIDNum, percentUpdate) {
- // min/max displacement for syringe is 92 - 40 = 52
- var zeroDisplacement = (percentUpdate / 100) * 52;
- var displacement = zeroDisplacement + 40;
- $("#plunger" + dispenserIDNum).css("left", displacement + "px");
-}
diff --git a/cc/legacy-neptune-control-code/EqualFlowRateInit.js b/cc/legacy-neptune-control-code/EqualFlowRateInit.js
deleted file mode 100644
index ab9499c9..00000000
--- a/cc/legacy-neptune-control-code/EqualFlowRateInit.js
+++ /dev/null
@@ -1,243 +0,0 @@
-/**
- * Created by rebeccawolf on 8/30/16. equal Flow rate
- */
-
-/* Create uL_table
-
- */
-var theta_max = 157.0;
-var theta_min = -13.6;
-var r = 0.75;
-var b = 3;
-var d = 0.88;
-var a = 0.25;
-var PWM_min = 180;
-var PWM_max = 500;
-var X_min = 2.071;
-var mL_max = 6.23;
-var X_max = 3.645;
-var mL_min = 0;
-
-var mL_range = mL_max - mL_min;
-
-function PWM2rad(PWM) {
- var deg = ((PWM - PWM_min) * (theta_max - theta_min)) / (PWM_max - PWM_min) + theta_min;
- return deg * (Math.PI / 180);
-}
-
-var create_uL_table = function(uL_precision) {
- var uL_min = mL_min * 1000; // convert incoming variables from mL to uL
- var uL_range = mL_range * 1000; // convert incoming variables from mL to uL
-
- // Create PWM_table
- var PWM_table = [];
- for (var i = PWM_min; i <= PWM_max; i++) {
- // From PWM_min value to PWM_max value
- PWM_table.push(i); // Add current PWM value to PWM_table
- var mL_temp = mL_max - (r * Math.cos(PWM2rad(i)) + Math.sqrt(Math.pow(b, 2) - Math.pow(r * Math.sin(PWM2rad(i)) + d, 2)) - X_min) / a; // Calculate mL value with formula of motion
- var uL_temp = Math.round(mL_temp * 10000) / 10; // convert to uL and round to first decimal place
- PWM_table.push(uL_temp); // Add uL value to PWM_table
- }
-
- // create uL_table
- var uL_table = [];
- // create conversion tables
- var conversion_table = {};
- for (var i = uL_min; i < uL_range + uL_min + uL_precision; i = i + uL_precision) {
- // From uL_min (a given) to uL_min+uL_range! uL_precision added on to allow last uL value to be iterated through. Increase by steps of uL_precision
- // rename i (which is current uL value)
- var uL_current = i; // rename i to something more readable
- uL_current = Math.round(uL_current * 100) / 100; // round to 2 decimal places
-
- uL_table.push(uL_current); // Add the current uL value to uL_table
-
- // Find PWM values
-
- // Add First PWM value, matched easily
- if (i == uL_min) {
- // We know the first value, which can't be found with linear interpolation
- uL_table.push(PWM_table[0]);
- conversion_table[uL_min] = PWM_table[0];
- continue;
- }
- // Linear interpolation to find other PWM values
- // Skip to 2nd value as we already logged the first
- for (var j = 3; j <= PWM_table.length; j = j + 2) {
- // Iterate through uL values in PWM_table (start at 2nd uL value, index 3. Go length of PWM table. Increase by 2 to avoid looking at PWM values)
- if (PWM_table[j] >= uL_current && j % 2 > 0) {
- // If uL value in PWM_table is greater than or equal to our current uL value, find PWM inbetween PWMs in PWM_table
- var PWM_between = PWM_table[j - 3] + (uL_current - PWM_table[j - 2]) * ((PWM_table[j - 1] - PWM_table[j - 3]) / (PWM_table[j] - PWM_table[j - 2])); // Find PWM value via linear interpolation
- var PWM_between = Math.round(PWM_between * 100) / 100; // Round calculated PWM value to 2 decimal places
- uL_table.push(PWM_between); // Add calculated PWM value to table
- conversion_table[uL_current] = PWM_between;
- break;
- }
- }
- }
- uL_table.push(PWM_max); // Add last PWM value, not calculated above with linear interpolation
-
- return {
- PWM_table: PWM_table, // Return PWM_table
- uL_table: uL_table, // Return uL_table
- conversion_table: conversion_table // Return table to convert PWM to uL
- };
-};
-
-/* Calculate even uL steps
-
- Discription:
- At any arbitrary position, move to any other position in
- equal fluid dispensing steps over a set amount of time
-
- Inputs:
- Pump number
- uL_table
- PWM_table
- highest uL difference
- Current uL value
- Goal uL value
- Time to get from current to goal uL value
- Outputs:
- Serial command to Arduino 5x per second in format '00010300' with 0001 being the pump number and 0300 being the PWM value to go to
- */
-
-/*PWM_table
- Array of PWM values, uL values = [
- 180 PWM, 0 uL,
- 181 PWM, 1.14 uL,
- 182 PWM, 2.52 uL
- ]
-
- uL_table (ordered )
- Array of uL values, PWM values = [
- 0 uL, 180 PWM,
- 0.5 uL, 180.45 PWM,
- 1 uL, 181.2 PWM
- ]
- */
-
-/* Example inputs:
- Pump number = 1
- uL_table = maping_table
- PWM_table = PWM_table
- highest uL difference = 1.5 uL
- Current uL value = 12 uL
- Goal uL value = 400 uL
- Time to get from current to goal uL values = 5 seconds
- */
-
-function even_uL_steps(uL_table, PWM_table, uL_precision, current_uL, goal_uL, time_sec) {
- // Get uL_to_dispense
- var uL_to_dispense = Math.abs(goal_uL - current_uL);
-
- // Get Total number of steps
- var num_steps = uL_to_dispense / uL_precision;
-
- // Get number of steps per second and number of seconds per step
- var steps_per_second = num_steps / time_sec; // send to user, not used in program
- var seconds_per_step = time_sec / num_steps; // needed for delay between step
-
- // Find current place and goal place in uL_table
- var f_found = false; // set to true when the first_uL_index is found to avoid this if statment through rest of loop
- var going_up_uL = goal_uL - current_uL > 0;
-
- var conversion_table = {};
-
- if (going_up_uL) {
- // if increasing in uL from current_uL to goal_uL
- for (var i = 0; i < uL_table.length; i = i + 2) {
- // From 0 through length of uL_table in steps of 2, hitting just uL values
- if (uL_table[i] >= current_uL && f_found == false) {
- // If uL value in uL_table is greater than or equal to our current_uL (and the first_uL_index has not been found yet)
- var first_uL_index = i; // log index of where the uL_currently is in uL_table (logs the uL value directly above or equal to it)
- f_found = true; // indicate we found the first uL_index
- }
- if (uL_table[i] >= goal_uL) {
- // If uL value in uL_table is greater than or equal to our goal_uL
- var goal_uL_index = i; // log index of where the uL_goal is in the uL_table (logs the uL value directly above or equal to it)
- break; // Stop for loop, we have the info we need
- }
- }
- } else {
- // if decreasing in uL from current_uL to goal_uL
- for (var i = uL_table.length - 2; i >= 0; i = i - 2) {
- // From length of uL_table through 0 in steps of 2, hitting just uL values
- if (uL_table[i] <= current_uL && f_found == false) {
- // If uL value in uL_table is less than or equal to our current_uL (and the first_uL_index has not been found yet)
- var first_uL_index = i; // log index of where the uL_currently is in uL_table (logs the uL value directly above or equal to it)
- f_found = true; // indicate we found the first uL_index
- }
- if (uL_table[i] <= goal_uL) {
- // If uL value in uL_table is greater than or equal to our goal_uL
- var goal_uL_index = i; // log index of where the uL_goal is in the uL_table (logs the uL value directly above or equal to it)
- break; // Stop for loop, we have the info we need
- }
- }
- }
-
- ////////////////////////////////////////////////////////////
-
- // Iterate through uL_table from next uL_index and go specified number of steps
- // MUST DELAY each console.log by the variable 'seconds_per_step'
- var PWM_values = []; // Used to keep track of PWM steps to move, for record keeping and debugging
- if (going_up_uL) {
- // if increasing in uL from current_uL to goal_uL
- for (var i = first_uL_index; i <= goal_uL_index; i = i + 2) {
- // From our current uL index in uL_table to goal index in uL_table
- // if last step
- if (i == goal_uL_index) {
- // If last step
- if (Math.abs(uL_table[i] - goal_uL) < Math.abs(uL_table[i - 2] - goal_uL)) {
- // if this uL value from uL_table is closer to goal_uL than the previous one
- var end_PWM = Math.round(uL_table[i + 1]); // used for PWM tracking
- PWM_values.push(Math.round(uL_table[i + 1])); // Add rounded PWM value to PWM_values list for record keeping and debugging
- conversion_table[Math.round(uL_table[i + 1])] = uL_table[i];
- //console.log(end_PWM); //////////// Send pump number and rounded PWM value to arduino
- } else {
- var end_PWM = Math.round(uL_table[i - 1]); // used for PWM tracking
- }
- }
- // If normal step
- else {
- // Normal indexes
- //console.log(Math.round(uL_table[i+1])); /////////// Send pump number and rounded PWM value to arduino
- PWM_values.push(Math.round(uL_table[i + 1])); // Add rounded PWM value to PWM_values list for record keeping and debugging
- conversion_table[Math.round(uL_table[i + 1])] = uL_table[i];
- }
- }
- } else {
- // if decreasing in uL from current_uL to goal_uL
- for (var i = first_uL_index; i >= goal_uL_index; i = i - 2) {
- // From our current uL index in uL_table to goal index in uL_table
- // if last step
- if (i == goal_uL_index) {
- // If last step
- if (Math.abs(uL_table[i] - goal_uL) < Math.abs(uL_table[i + 2] - goal_uL)) {
- // if this uL value from uL_table is closer to goal_uL than the previous one
- var end_PWM = Math.round(uL_table[i + 1]); // used for PWM tracking
- PWM_values.push(Math.round(uL_table[i + 1])); // Add rounded PWM value to PWM_values list for record keeping and debugging
- conversion_table[Math.round(uL_table[i + 1])] = uL_table[i];
- //console.log(end_PWM); //////////// Send pump number and rounded PWM value to arduino
- } else {
- var end_PWM = Math.round(uL_table[i + 3]); // used for PWM tracking
- }
- }
- // If normal step
- else {
- // Normal indexes
- //console.log(Math.round(uL_table[i+1])); /////////// Send pump number and rounded PWM value to arduino
- PWM_values.push(Math.round(uL_table[i + 1])); // Add rounded PWM value to PWM_values list for record keeping and debugging
- conversion_table[Math.round(uL_table[i + 1])] = uL_table[i];
- }
- }
- }
-
- console.log("command conversion table: ");
- console.log(conversion_table);
-
- return {
- PWM_values: PWM_values, // Return PWM_table
- seconds_per_step: seconds_per_step, // Return uL_table
- conversion_table: conversion_table // Return table to convert PWM to uL
- };
-}
diff --git a/cc/legacy-neptune-control-code/JSONValveDispenserLoad.js b/cc/legacy-neptune-control-code/JSONValveDispenserLoad.js
deleted file mode 100644
index d89d0c5d..00000000
--- a/cc/legacy-neptune-control-code/JSONValveDispenserLoad.js
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * Created by rebeccawolf on 7/26/16.
- */
-
-// Parsing JSON to look for control features (valves and dispensers); load information into global variables
-function loadButtons() {
- // load file for parsing used for counting and locating buttons
- var json = defaultJSON;
- console.log("found the loadButtons function: ");
- console.log(json);
- for (var i = 0; i < json.layers.length; i++) {
- if (json.layers[i].name === "control") {
- controlOnly = JSON.stringify(json.layers[i].features);
- }
- if (json.layers[i].name === "flow") {
- flowOnly = JSON.stringify(json.layers[i].features);
- }
- }
-
- // Use Json as a string
- var jsonString = JSON.stringify(json);
-
- // Now look for all Port in the control layer only
- var Re = /Port.+?\[(.+?),(.+?)\].+?/g;
- var myArray;
- var portArray = [];
- var portX = [];
- var portY = [];
-
- // look through control layer for ports
- while ((myArray = Re.exec(controlOnly)) !== null) {
- portX.push(myArray[1]);
- portY.push(myArray[2]);
- portArray.push(myArray.index);
- }
-
- // Store json variables to localStorage in form of JSON object...
- localStorage.portXcoords = JSON.stringify(portX);
- localStorage.portYcoords = JSON.stringify(portY);
-
- // Now look for all Ports (Dispensers) in the control layer only
- var myArrayDisp;
- var portArrayDisp = [];
- var portXDisp = [];
- var portYDisp = [];
-
- // look through flow layer for ports
- while ((myArrayDisp = Re.exec(flowOnly)) !== null) {
- portXDisp.push(myArrayDisp[1]);
- // console.log("should be x coord in flow layer: " + myArrayDisp[1]);
- portYDisp.push(myArrayDisp[2]);
- portArrayDisp.push(myArrayDisp.index);
- }
-
- // Store json variables to localStorage in form of JSON object...
- localStorage.portXcoordyessDisp = JSON.stringify(portXDisp);
- localStorage.portYcoordsDisp = JSON.stringify(portYDisp);
-}
-
-// after parsing JSON we can create instances of HTML templates to place over canvas
-function placeButtons() {
- var canvasZoom = paper.view.zoom;
-
- // for each pump, create new instance of valve template
- for (var i = 0; i < JSON.parse(localStorage.getItem("portXcoords")).length; i++) {
- var content = $("#content");
- var template = document.getElementById("valve-template").content.cloneNode(true);
- var valveDiv = template.querySelector(".valve");
-
- valveDiv.style.position = "absolute";
-
- valveDiv.style.top = (parseInt(JSON.parse(localStorage.portYcoords)[i]) - paper.view.bounds.topLeft["_y"]) * canvasZoom + 1.25 * Math.pow(canvasZoom * 5, 5) + "px";
- valveDiv.style.left = (parseInt(JSON.parse(localStorage.portXcoords)[i]) - paper.view.bounds.topLeft["_x"]) * canvasZoom + 1.25 * Math.pow(canvasZoom * 5, 5) + "px";
-
- var specificImage = template.querySelector(".valve_color");
- // set id of each valve anchor based on location in array
- specificImage.id = "valve" + (i + 1);
- // assign appropriate valve marker based on state
- specificImage.onclick = onclickanchortag;
- if (JSON.parse(localStorage.pumpData)[i]["Current_State"] === "closed") {
- specificImage.src = "../images/fluigi/valveMarkerClosed.svg";
- } else {
- specificImage.src = "../images/fluigi/valveMarkerOpen.svg";
- }
-
- valveButton = template.querySelector(".valve");
-
- var valveIDLabel = template.querySelector(".IDtext");
- valveIDLabel.textContent = i + 1;
- if (i + 1 > 9) {
- template.querySelector(".IDtext").style = "padding-left: 9px";
- }
-
- content.append(template);
- }
-
- // for each DISPENSER, create new instance of DISPENSER template
- for (var i = 0; i < JSON.parse(localStorage.getItem("portXcoordsDisp")).length; i++) {
- var content = $("#content");
-
- // create new dispenser instance
- var template = document.getElementById("dispenser-template").content.cloneNode(true);
- var valveDiv = template.querySelector(".valve");
- var modalDiv = template.querySelector(".dispenserModalClass");
- var gottaCatchEmAll = template.querySelector(".catchDispenser");
- var progress = template.querySelector(".progress-bar");
- var currentStateTxt = template.querySelector(".currentStateModalVal");
- var form = template.querySelector(".dispenseRate");
- var sendDispense = template.querySelector(".sendDispense");
- var dispenseVol = template.querySelector(".dispenseVol");
- var dispenseTime = template.querySelector(".dispenseTime");
- var plunger = template.querySelector(".syringePlunger");
- var orientation = template.querySelector(".orientationBtn");
-
- valveDiv.style.position = "absolute";
-
- // +220 bc canvas is positioned 220px from top & -20 so that valve is positioned from center of circle
- var yCoord = (parseInt(JSON.parse(localStorage.portYcoordsDisp)[i]) - paper.view.bounds.topLeft["_y"]) * canvasZoom + 1.25 * Math.pow(canvasZoom * 5, 5);
- var xCoord = (parseInt(JSON.parse(localStorage.portXcoordsDisp)[i]) - paper.view.bounds.topLeft["_x"]) * canvasZoom + 1.25 * Math.pow(canvasZoom * 5, 5);
-
- modalDiv.id = "dispenserModal" + (i + 1);
- var modalID = template.querySelector("#dispenserModal" + (i + 1));
-
- progress.id = "progress" + (i + 1);
-
- currentStateTxt.id = "stateOf" + (i + 1);
-
- // style position of dispenser modal
- if (xCoord + 400 > $(window).width()) {
- modalID.style.left = xCoord - 400 + "px";
- } else {
- modalID.style.left = xCoord + 40 + "px";
- }
- modalID.style.top = yCoord + "px";
-
- // place dispensers
- valveDiv.style.top = yCoord + "px";
- valveDiv.style.left = xCoord + "px";
-
- var specificImage = template.querySelector(".dispenserImg");
- // set id of each valve anchor based on location in array
- specificImage.id = i + 1;
-
- valveButton = template.querySelector(".valve");
-
- var valveIDLabel = template.querySelector(".IDtext");
- valveIDLabel.textContent = i + 1;
- if (i + 1 > 9) {
- template.querySelector(".IDtext").style = "padding-left: 9px";
- }
-
- var catchID = "catch" + (i + 1);
- gottaCatchEmAll.id = catchID;
-
- var dispenserTitle = template.querySelector("#dispenserModalTitle");
- dispenserTitle.textContent = "Dispenser " + (i + 1);
-
- // id of each syringe tube
- plunger.id = "plunger" + (i + 1);
-
- // reference to submit appropriate form
- var sendID = "dispenseTo" + (i + 1);
- var vol = "dispenseVol" + (i + 1);
- var time = "dispenseTime" + (i + 1);
-
- // form ID
- form.id = "dispenseRate" + (i + 1);
- sendDispense.id = sendID;
- dispenseVol.id = vol;
- console.log(dispenseVol.id);
- dispenseTime.id = time;
- console.log(dispenseTime.id);
-
- // dispenser orientation (push/pull)
- orientation.id = "orientation" + (i + 1);
- orientation.textContent = JSON.parse(localStorage.dispenserData)[i]["orientation"];
-
- var dispenserCatch = "#dispenserModal" + (i + 1);
- content.append(template);
- // attach reference to correct dispenser modal
- $("#" + catchID).attr("href", dispenserCatch);
- $("#" + catchID).attr("onclick", "activateDispenser(" + (i + 1) + ")");
- }
-}
diff --git a/cc/legacy-neptune-control-code/ValveDispenserJSONTracking.js b/cc/legacy-neptune-control-code/ValveDispenserJSONTracking.js
deleted file mode 100644
index 8689932d..00000000
--- a/cc/legacy-neptune-control-code/ValveDispenserJSONTracking.js
+++ /dev/null
@@ -1,146 +0,0 @@
-var ShieldIndex = 0;
-var PinIndex = 0;
-var deviceCount = 0;
-
-function initiateValveData() {
- setNumberOfPumps_JSON();
-}
-
-// FUNCTIONALITY FOR VALVE DATA TRACKING
-
-// Create Valve JSON
-function setNumberOfPumps_JSON() {
- localStorage.pumps = JSON.parse(localStorage.portXcoords).length;
- var DataToLoad = [];
- var j = 0; // hardware pin (goes from 0 to 12)
- for (var i = 1; i <= localStorage.pumps; i++) {
- var initialize_valve_conversion = initializeSetup(180, 460, 0.69, 3, 0.88, 0.25);
- var singleStage = {
- id: i,
- HW_shield: Math.floor(i / 12) + 1,
- HW_pin: j,
- Open_State: initialize_valve_conversion.uL_max,
- Closed_State: 0,
- Current_State: "opened",
- deviceIndex: deviceCount,
- uL_Conversion_Table: initialize_valve_conversion.uL_table,
- uL_Precision: initialize_valve_conversion.uL_precision,
- Cluster: []
- };
- DataToLoad.push(singleStage);
- j = j + 1;
- if (j == 13) {
- j = 0;
- }
- ShieldIndex = i;
- PinIndex = j;
- deviceCount++;
- }
- localStorage.clear_toggle = true;
- localStorage.unsavedData = JSON.stringify(DataToLoad);
- localStorage.pumpData = JSON.stringify(DataToLoad);
- localStorage.pumpInitial = "FALSE";
-}
-function clearPumpData() {
- deviceCount = 0;
- var c_pumpData = [];
- var j = 0; // hardware pin (goes from 0 to 12)
- for (var i = 1; i <= localStorage.pumps; i++) {
- var initialize_valve_conversion = initializeSetup(180, 460, 0.69, 3, 0.88, 0.25);
- var singleStage = {
- id: i,
- HW_shield: Math.floor(i / 12) + 1,
- HW_pin: j,
- Open_State: initialize_valve_conversion.uL_max,
- Closed_State: 0,
- Current_State: "opened",
- deviceIndex: deviceCount,
- uL_Conversion_Table: initialize_valve_conversion.uL_table,
- uL_Precision: initialize_valve_conversion.uL_precision,
- Cluster: []
- };
- c_pumpData.push(singleStage);
-
- j = j + 1;
- if (j == 13) {
- j = 0;
- }
- deviceCount++;
- }
- return JSON.stringify(c_pumpData);
-}
-// Combine these 2 if they cannot be run non-consecutively
-
-// FUNCTIONALITY FOR DISPENSER DATA TRACKING AND COMMANDS
-function clearDispenserData() {
- var dispenserData = [];
- var j = PinIndex; // hardware pin (goes from 0 to 12)
- var shield = ShieldIndex;
- for (var i = 1; i <= localStorage.Dispensers; i++) {
- var singleStage = {
- id: i,
- HW_shield: Math.floor(shield / 12) + 1,
- HW_pin: j,
- Precision: 0,
- Min: 0,
- Max: 0,
- Current_State: 0,
- orientation: "pull",
- deviceIndex: deviceCount
- };
- dispenserData.push(singleStage);
- j = j + 1;
- if (j == 13) {
- j = 0;
- }
- deviceCount++;
- }
- return JSON.stringify(dispenserData);
-}
-
-// Create JSON for dispensers
-function setNumberOfDispensers_JSON() {
- localStorage.Dispensers = JSON.parse(localStorage.portXcoordsDisp).length;
- var set_dispData_newNum = [];
- var j = PinIndex; // hardware pin (goes from 1 to 12)
- var shield = ShieldIndex;
- for (var i = 1; i <= localStorage.Dispensers; i++) {
- var tempDispense = {
- id: i,
- HW_shield: Math.floor(shield / 12) + 1,
- HW_pin: j,
- Precision: 0,
- Min: 0,
- Max: 0,
- Current_State: 0,
- orientation: "pull",
- deviceIndex: deviceCount
- };
- set_dispData_newNum.push(tempDispense);
- j = j + 1;
- if (j == 13) {
- j = 0;
- }
- ShieldIndex = i;
- PinIndex = j;
- deviceCount++;
- }
- localStorage.dispenserData = JSON.stringify(set_dispData_newNum);
- localStorage.dispenserInitial = "FALSE";
-}
-
-function clearSettingsTable() {
- ShieldIndex = 0;
- PinIndex = 0;
- deviceCount = 0;
- setNumberOfPumps_JSON();
- setNumberOfDispensers_JSON();
-}
-
-// THIS ENSURES SERIAL COMM LIST IS PRE-POPULATED!!!
-$(document).ready(function() {
- window.addEventListener("keydown", dispenseSelected); // dispenser arrow key event listener
- loadButtons();
- localStorage.activeDispenser = "none";
- $.ajax({ url: "/serialcommunication/list", type: "POST", async: true, data: {}, success: function(response) {}, error: function(response) {} });
-});
diff --git a/cc/legacy-neptune-control-code/clusterValves.js b/cc/legacy-neptune-control-code/clusterValves.js
deleted file mode 100644
index 868bf6ee..00000000
--- a/cc/legacy-neptune-control-code/clusterValves.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Created by rebeccawolf on 12/14/16.
- */
-
-function drawClusterTable(data) {
- $("#makeValveCluster")
- .find("tr:gt(0)")
- .remove();
- for (var i = 0; i < data.length; i++) {
- drawClusterRow(data[i]);
- }
-}
-
-function drawClusterRow(rowData) {
- var row = $("
");
- $("#makeValveCluster").append(row);
- row.append($("" + rowData.id + " "));
- var id = rowData.id.toString();
- row.append($("" + " " + " "));
-}
-
-function updateClusterList() {
- var clusterMembers = $("input[name=member]:checked")
- .map(function() {
- return this.value;
- })
- .get();
- clusterMembers = clusterMembers.toString();
- $("#newClusterList").text("Cluster Members: " + clusterMembers);
-}
-
-function saveCluster() {
- var clusterMembers = $("input[name=member]:checked")
- .map(function() {
- return this.value;
- })
- .get();
-
- if (clusterMembers.length <= 1) {
- alert("Only 1 valve selected.");
- return;
- }
- var valves = JSON.parse(localStorage.pumpData);
-
- // cluster members should be numbered the same as they are in JSON format (-1)
- for (var i = 0; i < clusterMembers.length; i++) {
- clusterMembers[i] = clusterMembers[i] - 1;
- }
-
- console.log(clusterMembers);
- // update pumpData JSON
- for (var i = 0; i < clusterMembers.length; i++) {
- valves[clusterMembers[i]]["Cluster"] = clusterMembers;
- console.log(valves[clusterMembers[i]]["Cluster"]);
- }
-
- // store cluster in global cluster variable
- /*
- var clusterJSON = JSON.parse(localStorage.valveClusters);
- clusterJSON.push({members: clusterMembers});
- */
-
- localStorage.pumpData = JSON.stringify(valves);
- console.log(JSON.parse(localStorage.pumpData));
-}
diff --git a/cc/legacy-neptune-control-code/initiate_data.js b/cc/legacy-neptune-control-code/initiate_data.js
deleted file mode 100644
index 180540d1..00000000
--- a/cc/legacy-neptune-control-code/initiate_data.js
+++ /dev/null
@@ -1,83 +0,0 @@
-if (localStorage.firstVisit == true || localStorage.firstVisit == undefined) {
- // DECLARING PUMP VALVE STATE
-
- localStorage.pumpData = [];
- localStorage.MasterData = [];
- localStorage.unsavedData = [];
- localStorage.oldPumpData = [];
- localStorage.pumps = 0;
- localStorage.settings_X_pos = 200;
- localStorage.settings_Y_pos = 200;
-
- // Valve Control
- localStorage.pumpData = clearPumpData();
- localStorage.valveData = initiateValveData();
- localStorage.firstVisit = false;
- localStorage.pumpInitial = "TRUE"; // keeps track if this is the first time pump data is being displayed (so that its not cleared on page reload)
- localStorage.valveClusters = "{}";
-
- // Dispenser Control
- localStorage.Dispensers = 0;
- localStorage.dispenserData = clearDispenserData();
- localStorage.dispenserToControl;
- localStorage.dispenserInitial == "TRUE"; // keeps track if this is the first time dispenser data is being displayed (so that its not cleared on page reload)
-}
-localStorage.DEBUGGER_FLAG == false;
-localStorage.clear_toggle = false;
-localStorage.set_pump_page_is_open = false;
-localStorage.settings_toggle = "settings_is_closed";
-localStorage.close_pressed_last = false;
-localStorage.hide = 0;
-localStorage.settings_button_has_been_pressed_before = false;
-
-localStorage.SERIAL_CONSOLE_SESSION = [];
-
-// Variables for Valve Control (ports in Control layer)
-if (localStorage.getItem("portXcoords") === null) {
- localStorage.setItem("portXcoords", "default");
-}
-
-if (localStorage.getItem("portYcoords") === null) {
- localStorage.setItem("portYcoords", "default");
-}
-
-if (localStorage.getItem("portRadius1vals") === null) {
- localStorage.setItem("portRadius1vals", "default");
-}
-
-if (localStorage.getItem("portRadius2vals") === null) {
- localStorage.setItem("portRadius2vals", "default");
-}
-
-if (localStorage.getItem("portToControl") == null) {
- localStorage.setItem("portToControl", "null");
-}
-
-// Variables for Dispenser Control (ports in flow layer)
-if (localStorage.getItem("portXcoordsDisp") === null) {
- localStorage.setItem("portXcoordsDisp", "default");
-}
-
-if (localStorage.getItem("portYcoordsDisp") === null) {
- localStorage.setItem("portYcoordsDisp", "default");
-}
-
-if (localStorage.getItem("DispenserToControl") == null) {
- localStorage.setItem("DispenserToControl", "null");
-}
-if (localStorage.getItem("activeDispenser") == null) {
- localStorage.setItem("activeDispenser", "none");
-}
-if (localStorage.getItem("dispenserConversions") == null) {
- localStorage.setItem("dispenserConversions", "{}");
-}
-
-console.log("checking JSONloaded now in initiate_data.js");
-if (localStorage.getItem("JSONloaded") == undefined) {
- localStorage.setItem("JSONloaded", "false");
- console.log("Successfully set JSONloaded to false in initiate_data.js");
-}
-
-if (localStorage.getItem("JSONtoLoad") == null) {
- localStorage.setItem("JSONtoLoad", "{}");
-}
diff --git a/cc/ui/canvas.js b/cc/ui/canvas.js
deleted file mode 100644
index b9fc6f42..00000000
--- a/cc/ui/canvas.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * This one will host code that handles the clicks and then basically transmit the valve switching code from here
- **/
-
-import Setup from "../control/setup";
-
-export default class Canvas {
- constructor(setup) {
- /*
- Step 1: Retrieve the microfluidic object
- Step 2: Send the valves and callback function to 3DuF
- Step 3:
- */
- let json = setup.Chip.JSON;
- this.__setup = setup;
- this.__valves = setup.Chip.getValves();
- //TODO: Call "new" 3DuF API to load the json on it.
- console.log("Assuming 3DuF creates the function");
- console.log("load the microfuidic json");
- console.log("pass valves and callback");
- }
-
- callbackfunction(valveid) {
- //This is the callback function which eventually actuates all the pumps
- this.__setup.toggleValve(valveid);
- }
-}
diff --git a/cc/ui/controlModal.js b/cc/ui/controlModal.js
deleted file mode 100644
index 9d5aca3d..00000000
--- a/cc/ui/controlModal.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- * This file would contain the ko viewmodels that bind the entire control modal to the actual data in the bg
- *
- * Ideally some of these methods would be disposed off
- */
-// Sets up settings Modal
-// Settings table save functionality
-
-function drawValveTable(data) {
- $("#ValveTable")
- .find("tr:gt(0)")
- .remove();
- for (var i = 0; i < data.length; i++) {
- drawValveRow(data[i]);
- }
-}
-
-function drawValveRow(rowData) {
- var row = $(" ");
- $("#ValveTable").append(row);
- row.append($("" + rowData.id + " "));
- row.append($("" + rowData.HW_shield + " "));
- row.append($("" + rowData.HW_pin + " "));
- //row.append($("" + rowData.Open_State + " "));
- //row.append($("" + rowData.Closed_State + " "));
- row.append($("" + rowData.Open_State + " "));
- row.append($("" + rowData.Closed_State + " "));
- row.append($("" + rowData.Current_State + " "));
-}
-
-// A few jQuery helpers for exporting only
-jQuery.fn.pop = [].pop;
-jQuery.fn.shift = [].shift;
-
-function exporting() {
- var $rows = $("#ValveTable").find("tr:not(:hidden):not(:empty)");
- var keys = ["id", "HW_shield", "HW_pin", "Open_State", "Closed_State", "Current_State"];
- var x = 0; // making sure we are not counting the headers row here
- var valveData = JSON.parse(localStorage.pumpData);
- // Turn all existing rows into a loopable array
- $rows.each(function() {
- if (x > 0) {
- var $td = $(this).find("td");
- // Use pre-defined Hash keys
- keys.forEach(function(header, i) {
- if (header === "Current_State") {
- valveData[x - 1][header] = $td.eq(i).text();
- } else {
- valveData[x - 1][header] = parseInt($td.eq(i).text());
- }
- });
- }
- x = x + 1;
- });
- // Output the result
- localStorage.pumpData = JSON.stringify(valveData);
-}
-
-function drawDispenserTable(data) {
- $("#DispenserTable")
- .find("tr:gt(0)")
- .remove();
- for (var i = 0; i < data.length; i++) {
- drawDispRow(data[i]);
- }
-}
-
-function drawDispRow(rowData) {
- var row = $(" ");
- $("#DispenserTable").append(row);
- row.append($("" + rowData.id + " "));
- row.append($("" + rowData.HW_shield + " "));
- row.append($("" + rowData.HW_pin + " "));
- row.append($("" + rowData.Precision + " "));
- row.append($("" + rowData.Min + " "));
- row.append($("" + rowData.Max + " "));
- row.append($("" + rowData.Current_State + " "));
- row.append($("" + rowData.orientation + " "));
-}
-
-function exportingDispenser() {
- var $rows = $("#DispenserTable").find("tr:not(:hidden):not(:empty)");
- var keys = ["id", "HW_shield", "HW_pin", "Precision", "Min", "Max", "Current_State", "orientation"];
- var x = 0; // making sure we are not counting the headers row here
- var dispenserData = JSON.parse(localStorage.dispenserData);
- // Turn all existing rows into a loopable array
- $rows.each(function() {
- if (x > 0) {
- var $td = $(this).find("td");
- // Use pre-defined Hash keys
- keys.forEach(function(header, i) {
- if (header === "Current_State") {
- dispenserData[x - 1][header] = parseFloat($td.eq(i).text()).toFixed(1);
- } else if (header === "Precision") {
- dispenserData[x - 1][header] = $td.eq(i).text();
- } else if (header === "Min") {
- dispenserData[x - 1][header] = parseFloat($td.eq(i).text()).toFixed(1);
- } else if (header === "Max") {
- dispenserData[x - 1][header] = parseFloat($td.eq(i).text()).toFixed(1);
- } else {
- dispenserData[x - 1][header] = parseInt($td.eq(i).text());
- }
- });
- }
- x = x + 1;
- });
- // Output the result
- localStorage.dispenserData = JSON.stringify(dispenserData);
-}
-
-function totalExport() {
- deviceCount = 0;
- exporting();
- exportingDispenser();
-}
diff --git a/cc/ui/dispenserModal.js b/cc/ui/dispenserModal.js
deleted file mode 100644
index 0cf27354..00000000
--- a/cc/ui/dispenserModal.js
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * This needs to be split up between the modal ui code and the dispenser hardware code
- */
-
-// Controls initializing dispensers if they have not been already
-// triggers commands to be sent for dispensing
-// functionality for changing dispenser orientation
-
-function sendDispense(sender) {
- // VALUES FROM THE FORM:
- var form = sender.parentNode.parentNode;
- var volume = form.querySelector(".dispenseVol");
- var time = form.querySelector(".dispenseTime");
- var dispenserID = sender.id; // ID of dispenser you are controlling
- dispenserID = dispenserID.replace(/\D/g, "");
- //console.log("Dispenser to be controlled is: " + dispenserID);
-
- if (isNaN(volume.value)) {
- toastr.error("Please enter a valid number for dispense volume.");
- return false;
- } else if (isNaN(time.value)) {
- toastr.error("Please enter a valid number for dispense time.");
- return false;
- } else {
- var currentVolume = parseFloat(JSON.parse(localStorage.dispenserData)[dispenserID - 1]["Current_State"]); // current volume state of selected syringe
- //var precision = parseFloat(JSON.parse(localStorage.dispenserData)[dispenserID - 1]['Precision']); // pull precision from settings table
-
- // Hardware computations
- // Digital Servos 12cc
- var initializeSetup_outputs = initializeSetup(1000, 2500, 0.625, 3, 0, 0.25);
- var PWM_table = initializeSetup_outputs.PWM_table;
- var PWM_dic = initializeSetup_outputs.PWM_dic;
- var uL_table = initializeSetup_outputs.uL_table;
- var uL_dic = initializeSetup_outputs.uL_dic;
- var uL_min = initializeSetup_outputs.uL_min;
- var uL_max = initializeSetup_outputs.uL_max;
- var uL_precision = initializeSetup_outputs.uL_precision;
-
- var globalDispenserData = JSON.parse(localStorage.dispenserData);
- globalDispenserData[dispenserID - 1]["Min"] = uL_min.toString();
- globalDispenserData[dispenserID - 1]["Max"] = uL_max.toString();
- globalDispenserData[dispenserID - 1]["Precision"] = uL_precision.toString();
- localStorage.dispenserData = JSON.stringify(globalDispenserData);
-
- console.log("conversions (PWM and uL): ");
- console.log(PWM_table);
- console.log(uL_table);
-
- //var temp = JSON.parse(localStorage.dispenserData);
- globalDispenserData[dispenserID - 1]["Min"] = uL_min.toFixed(2).toString();
- globalDispenserData[dispenserID - 1]["Max"] = uL_max.toFixed(2).toString();
- globalDispenserData[dispenserID - 1]["Precision"] = uL_precision.toFixed(2).toString();
- localStorage.dispenserData = JSON.stringify(globalDispenserData);
-
- // DISPENSERCONVERSIONS NOT DEFINED BEFORE HERE????
-
- // store conversion tables to be accessed by other parts of dispense operations
- var storedConversions = JSON.parse(localStorage.dispenserConversions); // load here so as not to overwrite tables already stored
- storedConversions[dispenserID] = JSON.stringify(uL_table); // update computed conversions in temp variable
- localStorage.dispenserConversions = JSON.stringify(storedConversions); // store temp in localStorage
- // console.log("uL table: ");
- // console.log(uL_table);
-
- var dispOrientation = JSON.parse(localStorage.dispenserData)[dispenserID - 1]["orientation"]; // determine whether is pull/push dispenser
- var valueToDispense;
-
- // COMPUTE VALUE TO PASS INTO even_uL_steps()
- if (dispOrientation === "push") {
- valueToDispense = currentVolume - parseFloat(volume.value);
- if (valueToDispense < 0) {
- toastr.error("Requested dispense volume exceedes remaining syringe volume");
- }
- } else {
- // pull orientaion
- valueToDispense = currentVolume + parseFloat(volume.value);
- if (valueToDispense >= parseFloat(globalDispenserData[dispenserID - 1]["Max"]) - parseFloat(globalDispenserData[dispenserID - 1]["Current_State"])) {
- toastr.error("Requested dispense volume exceedes remaining syringe volume");
- }
- }
-
- var even_uL_steps_output = even_uL_steps(uL_table, PWM_table, uL_precision, currentVolume, valueToDispense, time.value); // [0] is seconds/step [1] is PWM value array to be sent
- // values needed for dispense rate
- var msecondsPerStep = even_uL_steps_output.seconds_per_step * 1000; // must be in milliseconds
- var stepsPerSecond = even_uL_steps_output.steps_per_second; // conversions only for commands being sent at the moment (this way its easier to update the current volume)
- var PWMvalueArray = even_uL_steps_output.PWM_values;
-
- // set correct dispenser to command
- localStorage.dispenserToControl = dispenserID;
-
- // iterate over command array at appropriate time intervals
- for (var i = 0; i < PWMvalueArray.length; i++) {
- (function() {
- // need to re-define some variables here due to scope
- var iPrime = i;
- var dispenser_to_control = dispenserID;
- setTimeout(function() {
- if (PWMvalueArray[iPrime] != PWMvalueArray[iPrime - 1]) {
- var temp = JSON.parse(localStorage.dispenserData);
- temp[dispenserID - 1]["Current_State"] = PWM_dic[PWMvalueArray[iPrime]].toString();
- localStorage.dispenserData = JSON.stringify(temp); // update local storage to correct new volume amount
- sendCommandDispense(PWMvalueArray[iPrime], dispenser_to_control); // now send command
- updateDispenseProgressBar(dispenser_to_control); // and update graphics
- }
- }, i * msecondsPerStep);
- })();
- }
- return false;
- }
-}
-
-function changeDispenseOrientation(sender) {
- var dispenserID = sender.id.replace(/\D/g, "");
- var temp = JSON.parse(localStorage.dispenserData);
- var currentOrientation = sender.innerHTML;
- if (currentOrientation === "pull") {
- sender.innerHTML = "push";
- temp[dispenserID - 1]["orientation"] = "push";
- localStorage.dispenserData = JSON.stringify(temp);
- } else {
- // currentOrientation === "push"
- sender.innerHTML = "pull";
- temp[dispenserID - 1]["orientation"] = "pull";
- localStorage.dispenserData = JSON.stringify(temp);
- }
- return false;
-}
diff --git a/cc/ui/togglebutton.js b/cc/ui/togglebutton.js
deleted file mode 100644
index 7d29f738..00000000
--- a/cc/ui/togglebutton.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// functionality attached directly to valve icons; find in JSONValveDispenserLoad.js
-function onclickanchortag() {
- var temp = JSON.parse(localStorage.pumpData);
- var valve_to_control = this.id.split("valve").pop();
- if (temp[valve_to_control - 1]["Cluster"].length > 0) {
- for (var i = 0; i < temp[valve_to_control - 1]["Cluster"].length; i++) {
- toggleValve("#valve" + (temp[valve_to_control - 1]["Cluster"][i] + 1));
- }
- } else {
- toggleValve("#" + this.id);
- }
- return false;
-}
-
-// toggle any valve given its DivID
-function toggleValve(valveDivID) {
- // will be in form of #valve1, #valve2, ... numbers correspond to valve id in JSON
- var divElement = $(valveDivID)[0];
- var location = getLocation(divElement.src);
- var valve_to_control = divElement.id.split("valve").pop();
- var temp = JSON.parse(localStorage.pumpData);
- switch (location.pathname) {
- case "/images/fluigi/valveMarkerOpen.svg":
- $(divElement).attr("src", "../images/fluigi/valveMarkerClosed.svg");
- // change recorded state in table
- temp[valve_to_control - 1]["Current_State"] = "closed";
- break;
-
- case "/images/fluigi/valveMarkerClosed.svg":
- $(divElement).attr("src", "../images/fluigi/valveMarkerOpen.svg");
- // change recorded state in table
- temp[valve_to_control - 1]["Current_State"] = "opened";
- break;
- default:
- $(this).attr("src", "../images/fluigi/valveMarkerClosed.svg");
- break;
- }
- localStorage.pumpData = JSON.stringify(temp);
- localStorage.portToControl = valve_to_control;
- sendCommand();
- if (location.pathname == "/images/fluigi/valveMarkerOpen.svg") {
- }
- return false;
-}
-
-var getLocation = function(href) {
- var l = document.createElement("a");
- l.href = href;
- return l;
-};
-
-function onclickanchortagDispense() {
- dispenser_to_control = this.id;
- incrementDispenserPosition(dispenser_to_control);
- return false;
-}
-
-// functionality directly connected to dispenser icons; find in JSONValveDispenserLoad.js
-function activateDispenser(dispenserIDNum) {
- localStorage.activeDispenser = dispenserIDNum;
- localStorage.dispenserToControl = dispenserIDNum;
- updateDispenseProgressBar(dispenserIDNum);
-}
-function deactivateDispenser() {
- localStorage.activeDispenser = "none";
-}
-
-function valve_uL_to_PWM(uL_table, uL_precision, uL_goal) {
- for (var i = 0; i <= uL_table.length; i = i + 2) {
- if (uL_goal - uL_table[i] <= uL_precision / 2) {
- return Math.round(uL_table[i + 1]);
- }
- }
- console.log("ERROR! Cannot find value");
-}
-
-function wrap_data_for_Arduino() {
- var valve_to_control = localStorage.portToControl;
-
- var data_for_selected_object = JSON.parse(localStorage.pumpData);
- var deviceNum = data_for_selected_object[valve_to_control - 1]["deviceIndex"];
- console.log("wrapping command for " + deviceNum);
- var open_state_parameter = data_for_selected_object[valve_to_control - 1]["Open_State"];
- var closed_state_parameter = data_for_selected_object[valve_to_control - 1]["Closed_State"];
- var physical_state_parameter = data_for_selected_object[valve_to_control - 1]["Current_State"];
-
- if (physical_state_parameter == "opened") {
- var uLVal = open_state_parameter;
- } else {
- var uLVal = closed_state_parameter;
- }
-
- var uL_table = data_for_selected_object[valve_to_control - 1]["uL_Conversion_Table"];
- //console.log("uL_table: " + uL_table);
- var uL_precision = data_for_selected_object[valve_to_control - 1]["uL_Precision"];
- var PWMval = valve_uL_to_PWM(uL_table, uL_precision, uLVal);
-
- // PAD THE VALVE_TO_CONTROL WITH 0's SUCH THAT THE VALUE IS 4 CHARACTERS LONG
- var valve_to_control_padded = zeroFill(deviceNum, 4);
- // PAD THE PWM VALUE WITH 0's SUCH THAT THE VALUE IS 4 CHARACTERS LONG
- var PWMval_padded = zeroFill(PWMval, 4);
- // CONCAT THE VALVE NUMBER AND PWM VALUE
- var pre_command = valve_to_control_padded.concat(PWMval_padded);
- // ADD A START CODON TO SIGNIFY THE BEGINING OF SIGNAL
- var startStr = "";
- var pre_command_s = startStr.concat(pre_command);
- // ADD A STOP CODON TO SIGNIFY THE END OF SIGNAL
- var command = pre_command_s.concat("\n");
- // RETURN THE DATA
- return command;
-}
-
-function sendCommand() {
- var command = wrap_data_for_Arduino();
- toastr.info(command);
- localStorage.setItem("myCommand", command);
- $.ajax({
- url: "/serialcommunication/send",
- type: "POST",
- async: true,
- data: {
- commandData: command
- },
- success: function(response) {},
- error: function(response) {}
- });
-}
diff --git a/conf.json b/conf.json
deleted file mode 100644
index 5d0d0ef3..00000000
--- a/conf.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "source": {
- "includePattern": ".+\\.js(doc|x)?$", // Only process file ending in .js, .jsdoc or .jsx
- "include": ["./src/app/"], // Check all folders.
- "exclude": ["node_modules"] // Be gone, node_modules.
- },
- "recurseDepth": 10, // Only go 10 levels deep.
- "opts": {
- "destination": "./docs/", // Where I want my docs to be generated.
- "recurse": true // Same as using -r or --recurse
- }
-}
diff --git a/dist/css/app.85a0644e.css b/css/app.85a0644e.css
similarity index 100%
rename from dist/css/app.85a0644e.css
rename to css/app.85a0644e.css
diff --git a/dist/css/chunk-vendors.acfd7f9b.css b/css/chunk-vendors.acfd7f9b.css
similarity index 100%
rename from dist/css/chunk-vendors.acfd7f9b.css
rename to css/chunk-vendors.acfd7f9b.css
diff --git a/dist/demo.css b/demo.css
similarity index 100%
rename from dist/demo.css
rename to demo.css
diff --git a/doc/mint-primitives.png b/doc/mint-primitives.png
deleted file mode 100644
index d150f560..00000000
Binary files a/doc/mint-primitives.png and /dev/null differ
diff --git a/doc/ui.png b/doc/ui.png
deleted file mode 100644
index a45a7e08..00000000
Binary files a/doc/ui.png and /dev/null differ
diff --git a/examples/COSMIC_OWL.json b/examples/COSMIC_OWL.json
deleted file mode 100644
index 7a9cf90e..00000000
--- a/examples/COSMIC_OWL.json
+++ /dev/null
@@ -1,766 +0,0 @@
-{
- "name": "My Device",
- "params": { "width": 75800, "height": 51000 },
- "layers": [
- {
- "name": "flow",
- "color": "indigo",
- "params": { "z_offset": 0, "flip": false },
- "features": {
- "6bb96ad0-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb96ad0-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [30000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb96ad1-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb96ad1-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [40000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb96ad2-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb96ad2-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [50000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb96ad3-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb96ad3-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [20000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb991e0-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e0-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 40000], "end": [20000, 35000], "width": 400, "height": 100 }
- },
- "6bb991e1-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e1-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 38000], "end": [17000, 38000], "width": 400, "height": 100 }
- },
- "6bb991e2-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e2-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [17000, 38000], "end": [17000, 35000], "width": 400, "height": 100 }
- },
- "6bb991e3-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e3-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 35000], "end": [20000, 20000], "width": 400, "height": 100 }
- },
- "6bb991e4-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e4-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 20000], "end": [10000, 10000], "width": 400, "height": 100 }
- },
- "6bb991e5-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e5-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [17000, 35000], "end": [15000, 30000], "width": 400, "height": 100 }
- },
- "6bb991e6-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e6-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 30000], "end": [10000, 30000], "width": 400, "height": 100 }
- },
- "6bb991e7-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e7-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 30000], "end": [10000, 28000], "width": 400, "height": 100 }
- },
- "6bb991e8-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e8-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 28000], "end": [15000, 28000], "width": 400, "height": 100 }
- },
- "6bb991e9-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991e9-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 28000], "end": [15000, 25000], "width": 400, "height": 100 }
- },
- "6bb991ea-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991ea-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 25000], "end": [8000, 25000], "width": 400, "height": 100 }
- },
- "6bb991eb-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991eb-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [8000, 25000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb991ec-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991ec-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [10000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb991ed-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991ed-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 40000], "end": [30000, 20000], "width": 400, "height": 100 }
- },
- "6bb991ee-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991ee-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 20000], "end": [20000, 10000], "width": 400, "height": 100 }
- },
- "6bb991ef-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991ef-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [20000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb991f0-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f0-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 38000], "end": [27000, 38000], "width": 400, "height": 100 }
- },
- "6bb991f1-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f1-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 38000], "end": [27000, 30000], "width": 400, "height": 100 }
- },
- "6bb991f2-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f2-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 30000], "end": [22000, 30000], "width": 400, "height": 100 }
- },
- "6bb991f3-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f3-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 30000], "end": [22000, 28000], "width": 400, "height": 100 }
- },
- "6bb991f4-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f4-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 28000], "end": [27000, 28000], "width": 400, "height": 100 }
- },
- "6bb991f5-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f5-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 28000], "end": [27000, 26000], "width": 400, "height": 100 }
- },
- "6bb991f6-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f6-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 26000], "end": [22000, 26000], "width": 400, "height": 100 }
- },
- "6bb991f7-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f7-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 26000], "end": [22000, 24000], "width": 400, "height": 100 }
- },
- "6bb991f8-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f8-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 24000], "end": [27000, 24000], "width": 400, "height": 100 }
- },
- "6bb991f9-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991f9-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 24000], "end": [27000, 22000], "width": 400, "height": 100 }
- },
- "6bb991fa-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991fa-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27000, 22000], "end": [22000, 22000], "width": 400, "height": 100 }
- },
- "6bb991fb-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991fb-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 22000], "end": [22000, 20000], "width": 400, "height": 100 }
- },
- "6bb991fc-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991fc-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 20000], "end": [25000, 20000], "width": 400, "height": 100 }
- },
- "6bb991fd-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991fd-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 20000], "end": [25000, 17000], "width": 400, "height": 100 }
- },
- "6bb991fe-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb991fe-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 17000], "end": [21000, 17000], "width": 400, "height": 100 }
- },
- "6bb9b8f0-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f0-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [21000, 17000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9b8f1-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f1-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 40000], "end": [40000, 20000], "width": 400, "height": 100 }
- },
- "6bb9b8f2-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f2-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 20000], "end": [50000, 10000], "width": 400, "height": 100 }
- },
- "6bb9b8f3-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f3-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 38000], "end": [43000, 38000], "width": 400, "height": 100 }
- },
- "6bb9b8f4-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f4-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 38000], "end": [43000, 30000], "width": 400, "height": 100 }
- },
- "6bb9b8f5-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f5-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 30000], "end": [48000, 30000], "width": 400, "height": 100 }
- },
- "6bb9b8f6-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f6-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 30000], "end": [48000, 28000], "width": 400, "height": 100 }
- },
- "6bb9b8f7-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f7-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 28000], "end": [43000, 28000], "width": 400, "height": 100 }
- },
- "6bb9b8f8-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f8-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 28000], "end": [43000, 26000], "width": 400, "height": 100 }
- },
- "6bb9b8f9-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8f9-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 26000], "end": [48000, 26000], "width": 400, "height": 100 }
- },
- "6bb9b8fa-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8fa-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 26000], "end": [48000, 24000], "width": 400, "height": 100 }
- },
- "6bb9b8fb-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8fb-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 24000], "end": [43000, 24000], "width": 400, "height": 100 }
- },
- "6bb9b8fc-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8fc-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 24000], "end": [43000, 22000], "width": 400, "height": 100 }
- },
- "6bb9b8fd-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8fd-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 22000], "end": [48000, 22000], "width": 400, "height": 100 }
- },
- "6bb9b8fe-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8fe-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 22000], "end": [48000, 20000], "width": 400, "height": 100 }
- },
- "6bb9b8ff-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b8ff-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 20000], "end": [45000, 20000], "width": 400, "height": 100 }
- },
- "6bb9b900-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b900-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 20000], "end": [45000, 17000], "width": 400, "height": 100 }
- },
- "6bb9b901-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b901-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 17000], "end": [49000, 17000], "width": 400, "height": 100 }
- },
- "6bb9b902-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b902-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [50000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9b903-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b903-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [49000, 17000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9b904-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b904-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 40000], "end": [50000, 20000], "width": 400, "height": 100 }
- },
- "6bb9b905-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b905-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 20000], "end": [60000, 10000], "width": 400, "height": 100 }
- },
- "6bb9b906-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9b906-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [60000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9e000-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e000-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 38000], "end": [53000, 38000], "width": 400, "height": 100 }
- },
- "6bb9e001-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e001-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [53000, 38000], "end": [53000, 35000], "width": 400, "height": 100 }
- },
- "6bb9e002-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e002-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [53000, 35000], "end": [55000, 30000], "width": 400, "height": 100 }
- },
- "6bb9e003-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e003-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 30000], "end": [60000, 30000], "width": 400, "height": 100 }
- },
- "6bb9e004-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e004-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 30000], "end": [60000, 28000], "width": 400, "height": 100 }
- },
- "6bb9e005-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e005-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 28000], "end": [55000, 28000], "width": 400, "height": 100 }
- },
- "6bb9e006-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e006-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 28000], "end": [55000, 25000], "width": 400, "height": 100 }
- },
- "6bb9e007-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e007-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 25000], "end": [62000, 25000], "width": 400, "height": 100 }
- },
- "6bb9e008-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e008-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [62000, 25000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9e009-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e009-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 15000], "end": [15000, 12000], "width": 400, "height": 100 }
- },
- "6bb9e00a-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00a-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [15000, 12000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "6bb9e00b-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00b-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [26000, 12000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "6bb9e00c-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00c-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [44000, 12000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "6bb9e00d-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00d-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [55000, 12000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "6bb9e00e-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00e-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 12000], "end": [55000, 15000], "width": 400, "height": 100 }
- },
- "6bb9e00f-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e00f-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [26000, 12000], "end": [30000, 10000], "width": 400, "height": 100 }
- },
- "6bb9e010-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e010-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 12000], "end": [40000, 10000], "width": 400, "height": 100 }
- },
- "6bb9e011-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e011-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 10000], "end": [38000, 7000], "width": 400, "height": 100 }
- },
- "6bb9e012-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e012-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 10000], "end": [32000, 7000], "width": 400, "height": 100 }
- },
- "6bb9e013-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e013-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [32000, 7000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9e014-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e014-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [38000, 7000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bb9e015-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bb9e015-3d80-11e5-898a-2de600a0e2af",
- "name": "New CircleValve",
- "type": "CircleValve",
- "params": { "position": [35000, 10000], "radius1": 1400, "radius2": 1200, "height": 800 }
- },
- "6bba0710-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0710-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 10000], "end": [35000, 30000], "width": 400, "height": 100 }
- },
- "6bba0711-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0711-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [35000, 30000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba0712-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0712-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 17000], "end": [38000, 23000], "width": 400, "height": 100 }
- },
- "6bba0713-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0713-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 23000], "end": [36000, 25000], "width": 400, "height": 100 }
- },
- "6bba0714-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0714-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 25000], "end": [35000, 30000], "width": 400, "height": 100 }
- },
- "6bba0715-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0715-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 17000], "end": [32000, 23000], "width": 400, "height": 100 }
- },
- "6bba0716-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0716-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 23000], "end": [34000, 25000], "width": 400, "height": 100 }
- },
- "6bba0717-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0717-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 25000], "end": [35000, 30000], "width": 400, "height": 100 }
- },
- "6bba0718-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0718-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 23000], "end": [35000, 24000], "width": 400, "height": 100 }
- },
- "6bba0719-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0719-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 23000], "end": [35000, 24000], "width": 400, "height": 100 }
- },
- "6bba071a-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071a-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 20000], "end": [28000, 20000], "width": 400, "height": 100 }
- },
- "6bba071b-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071b-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 20000], "end": [28000, 22000], "width": 400, "height": 100 }
- },
- "6bba071c-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071c-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 22000], "end": [27000, 22000], "width": 400, "height": 100 }
- },
- "6bba071d-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071d-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 20000], "end": [42000, 20000], "width": 400, "height": 100 }
- },
- "6bba071e-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071e-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 20000], "end": [42000, 22000], "width": 400, "height": 100 }
- },
- "6bba071f-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba071f-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 22000], "end": [44000, 22000], "width": 400, "height": 100 }
- },
- "8d30ec10-3d80-11e5-898a-2de600a0e2af": {
- "id": "8d30ec10-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [35000, 30000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "9b26fd00-3d80-11e5-898a-2de600a0e2af": {
- "id": "9b26fd00-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [32000, 20000], "radius1": 800, "radius2": 700, "height": 1000 }
- },
- "9c3deb40-3d80-11e5-898a-2de600a0e2af": {
- "id": "9c3deb40-3d80-11e5-898a-2de600a0e2af",
- "name": "New Via",
- "type": "Via",
- "params": { "position": [38000, 20000], "radius1": 800, "radius2": 700, "height": 1000 }
- }
- }
- },
- {
- "name": "control",
- "color": "red",
- "params": { "z_offset": 1200, "flip": true },
- "features": {
- "6bba0720-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0720-3d80-11e5-898a-2de600a0e2af",
- "name": "New CircleValve",
- "type": "CircleValve",
- "params": { "position": [20000, 34000], "radius1": 1400, "radius2": 1200, "height": 800 }
- },
- "6bba0721-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0721-3d80-11e5-898a-2de600a0e2af",
- "name": "New CircleValve",
- "type": "CircleValve",
- "params": { "position": [30000, 34000], "radius1": 1400, "radius2": 1200, "height": 800 }
- },
- "6bba0722-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0722-3d80-11e5-898a-2de600a0e2af",
- "name": "New CircleValve",
- "type": "CircleValve",
- "params": { "position": [40000, 34000], "radius1": 1400, "radius2": 1200, "height": 800 }
- },
- "6bba0723-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0723-3d80-11e5-898a-2de600a0e2af",
- "name": "New CircleValve",
- "type": "CircleValve",
- "params": { "position": [50000, 34000], "radius1": 1400, "radius2": 1200, "height": 800 }
- },
- "6bba0724-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0724-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 34000], "end": [24000, 34000], "width": 400, "height": 100 }
- },
- "6bba0725-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0725-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 34000], "end": [24000, 47000], "width": 400, "height": 100 }
- },
- "6bba0726-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0726-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 34000], "end": [34000, 34000], "width": 400, "height": 100 }
- },
- "6bba0727-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0727-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 34000], "end": [34000, 47000], "width": 400, "height": 100 }
- },
- "6bba0728-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0728-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 34000], "end": [37000, 34000], "width": 400, "height": 100 }
- },
- "6bba0729-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0729-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 34000], "end": [36000, 34000], "width": 400, "height": 100 }
- },
- "6bba072a-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072a-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 34000], "end": [36000, 47000], "width": 400, "height": 100 }
- },
- "6bba072b-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072b-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 34000], "end": [46000, 34000], "width": 400, "height": 100 }
- },
- "6bba072c-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072c-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 34000], "end": [46000, 47000], "width": 400, "height": 100 }
- },
- "6bba072d-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072d-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [24000, 47000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba072e-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072e-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [34000, 47000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba072f-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba072f-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [36000, 47000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba0730-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba0730-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [46000, 47000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e20-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e20-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 12000], "end": [26000, 12000], "width": 400, "height": 100 }
- },
- "6bba2e21-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e21-3d80-11e5-898a-2de600a0e2af",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 12000], "end": [55000, 12000], "width": 400, "height": 100 }
- },
- "6bba2e22-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e22-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [15000, 12000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e23-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e23-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [26000, 12000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e24-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e24-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [44000, 12000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e25-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e25-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [55000, 12000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e26-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e26-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [25000, 21000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "6bba2e27-3d80-11e5-898a-2de600a0e2af": {
- "id": "6bba2e27-3d80-11e5-898a-2de600a0e2af",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [45000, 21000], "radius1": 700, "radius2": 700, "height": 100 }
- }
- }
- }
- ],
- "groups": [],
- "defaults": {}
-}
diff --git a/examples/CT1211CoverBiochip_design.json b/examples/CT1211CoverBiochip_design.json
deleted file mode 100644
index 1e949545..00000000
--- a/examples/CT1211CoverBiochip_design.json
+++ /dev/null
@@ -1,2068 +0,0 @@
-{
- "name": "My Device",
- "params": { "width": 75800, "height": 51000 },
- "layers": [
- {
- "name": "flow",
- "color": "indigo",
- "params": { "z_offset": 0, "flip": false },
- "features": {
- "0b17cd40-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17cd40-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [10000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "0b17cd41-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17cd41-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [10000, 30000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "0b17f450-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f450-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [10000, 20000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "0b17f451-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f451-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [10000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "0b17f452-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f452-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 9000], "end": [40000, 2000], "width": 400, "height": 100 }
- },
- "0b17f453-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f453-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 2000], "end": [39000, 2000], "width": 400, "height": 100 }
- },
- "0b17f454-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f454-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 2000], "end": [39000, 8000], "width": 400, "height": 100 }
- },
- "0b17f455-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f455-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 8000], "end": [38000, 8000], "width": 400, "height": 100 }
- },
- "0b17f456-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f456-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 8000], "end": [38000, 2000], "width": 400, "height": 100 }
- },
- "0b17f457-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f457-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 2000], "end": [37000, 2000], "width": 400, "height": 100 }
- },
- "0b17f458-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f458-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 2000], "end": [37000, 8000], "width": 400, "height": 100 }
- },
- "0b17f459-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f459-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 8000], "end": [36000, 8000], "width": 400, "height": 100 }
- },
- "0b17f45a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 8000], "end": [36000, 2000], "width": 400, "height": 100 }
- },
- "0b17f45b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 2000], "end": [35000, 2000], "width": 400, "height": 100 }
- },
- "0b17f45c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 2000], "end": [35000, 7000], "width": 400, "height": 100 }
- },
- "0b17f45d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 7000], "end": [34000, 7000], "width": 400, "height": 100 }
- },
- "0b17f45e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 7000], "end": [34000, 2000], "width": 400, "height": 100 }
- },
- "0b17f45f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f45f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 2000], "end": [33000, 2000], "width": 400, "height": 100 }
- },
- "0b17f460-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f460-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 2000], "end": [33000, 7000], "width": 400, "height": 100 }
- },
- "0b17f461-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f461-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 7000], "end": [32000, 7000], "width": 400, "height": 100 }
- },
- "0b17f462-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f462-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 7000], "end": [32000, 2000], "width": 400, "height": 100 }
- },
- "0b17f463-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f463-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 2000], "end": [30000, 2000], "width": 400, "height": 100 }
- },
- "0b17f464-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f464-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [31000, 15000], "end": [32000, 15000], "width": 400, "height": 100 }
- },
- "0b17f465-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f465-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 15000], "end": [32000, 21000], "width": 400, "height": 100 }
- },
- "0b17f466-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f466-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 21000], "end": [33000, 21000], "width": 400, "height": 100 }
- },
- "0b17f467-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f467-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 21000], "end": [33000, 15000], "width": 400, "height": 100 }
- },
- "0b17f468-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f468-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 15000], "end": [34000, 15000], "width": 400, "height": 100 }
- },
- "0b17f469-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f469-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 15000], "end": [34000, 21000], "width": 400, "height": 100 }
- },
- "0b17f46a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 21000], "end": [35000, 21000], "width": 400, "height": 100 }
- },
- "0b17f46b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 21000], "end": [35000, 15000], "width": 400, "height": 100 }
- },
- "0b17f46c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 15000], "end": [36000, 15000], "width": 400, "height": 100 }
- },
- "0b17f46d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 15000], "end": [36000, 22000], "width": 400, "height": 100 }
- },
- "0b17f46e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 22000], "end": [37000, 22000], "width": 400, "height": 100 }
- },
- "0b17f46f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f46f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 22000], "end": [37000, 15000], "width": 400, "height": 100 }
- },
- "0b17f470-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f470-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 15000], "end": [38000, 15000], "width": 400, "height": 100 }
- },
- "0b17f471-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f471-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 9000], "end": [40000, 19000], "width": 400, "height": 100 }
- },
- "0b17f472-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f472-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 19000], "end": [41000, 20000], "width": 400, "height": 100 }
- },
- "0b17f473-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f473-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 20000], "end": [60000, 20000], "width": 400, "height": 100 }
- },
- "0b17f474-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f474-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 20000], "end": [60000, 17000], "width": 400, "height": 100 }
- },
- "0b17f475-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f475-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 20000], "end": [49000, 21000], "width": 400, "height": 100 }
- },
- "0b17f476-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f476-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 21000], "end": [41000, 21000], "width": 400, "height": 100 }
- },
- "0b17f477-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f477-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 21000], "end": [39000, 19000], "width": 400, "height": 100 }
- },
- "0b17f478-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f478-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 19000], "end": [39000, 14000], "width": 400, "height": 100 }
- },
- "0b17f479-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b17f479-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 14000], "end": [32000, 12000], "width": 400, "height": 100 }
- },
- "0b181b60-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b60-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [32000, 12000], "end": [26000, 12000], "width": 400, "height": 100 }
- },
- "0b181b61-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b61-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [26000, 12000], "end": [20000, 2000], "width": 400, "height": 100 }
- },
- "0b181b62-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b62-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 2000], "end": [16000, 2000], "width": 400, "height": 100 }
- },
- "0b181b63-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b63-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 17000], "end": [55000, 12000], "width": 400, "height": 100 }
- },
- "0b181b64-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b64-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 12000], "end": [53000, 10000], "width": 400, "height": 100 }
- },
- "0b181b65-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b65-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [53000, 10000], "end": [53000, 5000], "width": 400, "height": 100 }
- },
- "0b181b66-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b66-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [60000, 5000], "end": [62000, 7000], "borderWidth": 400, "height": 100 }
- },
- "0b181b67-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b67-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 29000], "end": [31000, 31000], "borderWidth": 400, "height": 100 }
- },
- "0b181b68-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b68-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 19000], "end": [31000, 21000], "borderWidth": 400, "height": 100 }
- },
- "0b181b69-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b69-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [60000, 39000], "end": [62000, 41000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [31000, 21000], "end": [28000, 18000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [31000, 31000], "end": [28000, 28000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [31000, 41000], "end": [28000, 38000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [60000, 7000], "end": [63000, 4000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [60000, 41000], "end": [63000, 38000], "borderWidth": 400, "height": 100 }
- },
- "0b181b6f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b6f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11000, 11000], "end": [8000, 8000], "borderWidth": 400, "height": 100 }
- },
- "0b181b70-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b70-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11000, 21000], "end": [8000, 18000], "borderWidth": 400, "height": 100 }
- },
- "0b181b71-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b71-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11000, 31000], "end": [8000, 28000], "borderWidth": 400, "height": 100 }
- },
- "0b181b72-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b72-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11000, 41000], "end": [8000, 38000], "borderWidth": 400, "height": 100 }
- },
- "0b181b73-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b73-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [31000, 11000], "end": [28000, 8000], "borderWidth": 400, "height": 100 }
- },
- "0b181b74-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b74-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 2000], "end": [30000, 8000], "width": 400, "height": 100 }
- },
- "0b181b75-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b75-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [31000, 15000], "end": [30000, 15000], "width": 400, "height": 100 }
- },
- "0b181b76-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b76-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 15000], "end": [30000, 19000], "width": 400, "height": 100 }
- },
- "0b181b77-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b77-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 2000], "end": [10000, 9000], "width": 400, "height": 100 }
- },
- "0b181b78-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b78-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 10000], "end": [9000, 10000], "width": 400, "height": 100 }
- },
- "0b181b79-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b79-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 8000], "end": [2000, 18000], "width": 400, "height": 100 }
- },
- "0b181b7a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 18000], "end": [2000, 25000], "width": 400, "height": 100 }
- },
- "0b181b7b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 25000], "end": [30000, 25000], "width": 400, "height": 100 }
- },
- "0b181b7c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 19000], "end": [10000, 15000], "width": 400, "height": 100 }
- },
- "0b181b7d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 15000], "end": [10000, 14000], "width": 400, "height": 100 }
- },
- "0b181b7e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 14000], "end": [12000, 14000], "width": 400, "height": 100 }
- },
- "0b181b7f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b7f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 14000], "end": [12000, 18000], "width": 400, "height": 100 }
- },
- "0b181b80-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b80-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 18000], "end": [13000, 18000], "width": 400, "height": 100 }
- },
- "0b181b81-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b81-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 18000], "end": [13000, 14000], "width": 400, "height": 100 }
- },
- "0b181b82-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b82-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 14000], "end": [14000, 14000], "width": 400, "height": 100 }
- },
- "0b181b83-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b83-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 14000], "end": [14000, 18000], "width": 400, "height": 100 }
- },
- "0b181b84-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b181b84-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 18000], "end": [14000, 19000], "width": 400, "height": 100 }
- },
- "0b184270-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184270-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 19000], "end": [15000, 19000], "width": 400, "height": 100 }
- },
- "0b184271-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184271-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 19000], "end": [15000, 14000], "width": 400, "height": 100 }
- },
- "0b184272-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184272-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 14000], "end": [16000, 14000], "width": 400, "height": 100 }
- },
- "0b184273-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184273-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 14000], "end": [16000, 22000], "width": 400, "height": 100 }
- },
- "0b184274-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184274-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 22000], "end": [17000, 22000], "width": 400, "height": 100 }
- },
- "0b184275-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184275-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [17000, 22000], "end": [17000, 14000], "width": 400, "height": 100 }
- },
- "0b184276-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184276-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [17000, 14000], "end": [18000, 14000], "width": 400, "height": 100 }
- },
- "0b184277-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184277-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [18000, 14000], "end": [18000, 22000], "width": 400, "height": 100 }
- },
- "0b184278-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184278-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [18000, 22000], "end": [18000, 22000], "width": 400, "height": 100 }
- },
- "0b184279-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184279-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [18000, 22000], "end": [19000, 22000], "width": 400, "height": 100 }
- },
- "0b18427a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [19000, 22000], "end": [19000, 16000], "width": 400, "height": 100 }
- },
- "0b18427b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [19000, 16000], "end": [20000, 16000], "width": 400, "height": 100 }
- },
- "0b18427c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 16000], "end": [20000, 24000], "width": 400, "height": 100 }
- },
- "0b18427d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 24000], "end": [30000, 24000], "width": 400, "height": 100 }
- },
- "0b18427e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 23000], "end": [22000, 23000], "width": 400, "height": 100 }
- },
- "0b18427f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18427f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 23000], "end": [21000, 21000], "width": 400, "height": 100 }
- },
- "0b184280-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184280-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21000, 21000], "end": [21000, 15000], "width": 400, "height": 100 }
- },
- "0b184281-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184281-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21000, 15000], "end": [26000, 15000], "width": 400, "height": 100 }
- },
- "0b184282-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184282-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [26000, 15000], "end": [26000, 14000], "width": 400, "height": 100 }
- },
- "0b184283-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184283-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [26000, 14000], "end": [21000, 14000], "width": 400, "height": 100 }
- },
- "0b184284-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184284-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21000, 14000], "end": [21000, 13000], "width": 400, "height": 100 }
- },
- "0b184285-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184285-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21000, 13000], "end": [10000, 9000], "width": 400, "height": 100 }
- },
- "0b184286-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184286-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 22000], "end": [49000, 23000], "width": 400, "height": 100 }
- },
- "0b184287-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184287-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 22000], "end": [61000, 22000], "width": 400, "height": 100 }
- },
- "0b184288-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184288-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 22000], "end": [61000, 17000], "width": 400, "height": 100 }
- },
- "0b184289-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184289-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 17000], "end": [54000, 10000], "width": 400, "height": 100 }
- },
- "0b18428a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 23000], "end": [44000, 23000], "width": 400, "height": 100 }
- },
- "0b18428b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 22000], "end": [44000, 22000], "width": 400, "height": 100 }
- },
- "0b18428c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 17000], "end": [62000, 23000], "width": 400, "height": 100 }
- },
- "0b18428d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 23000], "end": [62000, 24000], "width": 400, "height": 100 }
- },
- "0b18428e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 24000], "end": [50000, 24000], "width": 400, "height": 100 }
- },
- "0b18428f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18428f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 24000], "end": [49000, 25000], "width": 400, "height": 100 }
- },
- "0b184290-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184290-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 24000], "end": [44000, 24000], "width": 400, "height": 100 }
- },
- "0b184291-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184291-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 25000], "end": [44000, 25000], "width": 400, "height": 100 }
- },
- "0b184292-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184292-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 17000], "end": [63000, 26000], "width": 400, "height": 100 }
- },
- "0b184293-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184293-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 26000], "end": [50000, 26000], "width": 400, "height": 100 }
- },
- "0b184294-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184294-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [64000, 17000], "end": [64000, 28000], "width": 400, "height": 100 }
- },
- "0b184295-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184295-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [64000, 28000], "end": [50000, 28000], "width": 400, "height": 100 }
- },
- "0b184296-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184296-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [65000, 17000], "end": [65000, 30000], "width": 400, "height": 100 }
- },
- "0b184297-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184297-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [65000, 17000], "end": [66000, 10000], "width": 400, "height": 100 }
- },
- "0b184298-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184298-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 3000], "end": [59000, 1000], "width": 400, "height": 100 }
- },
- "0b184299-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b184299-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 1000], "end": [74000, 1000], "width": 400, "height": 100 }
- },
- "0b18429a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [74000, 1000], "end": [74000, 40000], "width": 400, "height": 100 }
- },
- "0b18429b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [74000, 40000], "end": [73000, 40000], "width": 400, "height": 100 }
- },
- "0b18429c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [73000, 40000], "end": [73000, 32000], "width": 400, "height": 100 }
- },
- "0b18429d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [73000, 32000], "end": [72000, 32000], "width": 400, "height": 100 }
- },
- "0b18429e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [72000, 32000], "end": [72000, 40000], "width": 400, "height": 100 }
- },
- "0b18429f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18429f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [72000, 40000], "end": [71000, 40000], "width": 400, "height": 100 }
- },
- "0b1842a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [71000, 40000], "end": [71000, 32000], "width": 400, "height": 100 }
- },
- "0b1842a1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [71000, 32000], "end": [70000, 32000], "width": 400, "height": 100 }
- },
- "0b1842a2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [70000, 32000], "end": [70000, 40000], "width": 400, "height": 100 }
- },
- "0b1842a3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [70000, 40000], "end": [69000, 40000], "width": 400, "height": 100 }
- },
- "0b1842a4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [69000, 40000], "end": [69000, 32000], "width": 400, "height": 100 }
- },
- "0b1842a5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [69000, 32000], "end": [68000, 32000], "width": 400, "height": 100 }
- },
- "0b1842a6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [68000, 32000], "end": [68000, 40000], "width": 400, "height": 100 }
- },
- "0b1842a7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [68000, 40000], "end": [67000, 40000], "width": 400, "height": 100 }
- },
- "0b1842a8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [67000, 40000], "end": [67000, 32000], "width": 400, "height": 100 }
- },
- "0b1842a9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1842a9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [67000, 32000], "end": [51000, 32000], "width": 400, "height": 100 }
- },
- "0b186980-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186980-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [51000, 32000], "end": [51000, 34000], "width": 400, "height": 100 }
- },
- "0b186981-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186981-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [51000, 34000], "end": [60000, 38000], "width": 400, "height": 100 }
- },
- "0b186982-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186982-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 26000], "end": [20000, 26000], "width": 400, "height": 100 }
- },
- "0b186983-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186983-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 15000], "end": [38000, 21000], "width": 400, "height": 100 }
- },
- "0b186984-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186984-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 21000], "end": [39000, 22000], "width": 400, "height": 100 }
- },
- "0b186985-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186985-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 22000], "end": [44000, 22000], "width": 400, "height": 100 }
- },
- "0b186986-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186986-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 23000], "end": [30000, 23000], "width": 400, "height": 100 }
- },
- "0b186987-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186987-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 24000], "end": [30000, 24000], "width": 400, "height": 100 }
- },
- "0b186988-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186988-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 25000], "end": [30000, 25000], "width": 400, "height": 100 }
- },
- "0b186989-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186989-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 26000], "end": [49000, 27000], "width": 400, "height": 100 }
- },
- "0b18698a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 26000], "end": [30000, 26000], "width": 400, "height": 100 }
- },
- "0b18698b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 27000], "end": [30000, 27000], "width": 400, "height": 100 }
- },
- "0b18698c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 28000], "end": [49000, 28000], "width": 400, "height": 100 }
- },
- "0b18698d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 28000], "end": [45000, 28000], "width": 400, "height": 100 }
- },
- "0b18698e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 28000], "end": [49000, 29000], "width": 400, "height": 100 }
- },
- "0b18698f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18698f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 29000], "end": [45000, 29000], "width": 400, "height": 100 }
- },
- "0b186990-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186990-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 29000], "end": [45000, 29000], "width": 400, "height": 100 }
- },
- "0b186991-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186991-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 29000], "end": [39000, 35000], "width": 400, "height": 100 }
- },
- "0b186992-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186992-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 28000], "end": [39000, 34000], "width": 400, "height": 100 }
- },
- "0b186993-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186993-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 34000], "end": [38000, 34000], "width": 400, "height": 100 }
- },
- "0b186994-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186994-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 34000], "end": [38000, 33000], "width": 400, "height": 100 }
- },
- "0b186995-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186995-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 33000], "end": [39000, 33000], "width": 400, "height": 100 }
- },
- "0b186996-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186996-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 33000], "end": [43000, 29000], "width": 400, "height": 100 }
- },
- "0b186997-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186997-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 29000], "end": [43000, 28000], "width": 400, "height": 100 }
- },
- "0b186998-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186998-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 28000], "end": [42000, 28000], "width": 400, "height": 100 }
- },
- "0b186999-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b186999-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 28000], "end": [42000, 29000], "width": 400, "height": 100 }
- },
- "0b18699a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 29000], "end": [39000, 32000], "width": 400, "height": 100 }
- },
- "0b18699b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 32000], "end": [38000, 32000], "width": 400, "height": 100 }
- },
- "0b18699c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 32000], "end": [38000, 31000], "width": 400, "height": 100 }
- },
- "0b18699d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 31000], "end": [39000, 31000], "width": 400, "height": 100 }
- },
- "0b18699e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 31000], "end": [41000, 29000], "width": 400, "height": 100 }
- },
- "0b18699f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18699f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 29000], "end": [41000, 28000], "width": 400, "height": 100 }
- },
- "0b1869a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 28000], "end": [40000, 28000], "width": 400, "height": 100 }
- },
- "0b1869a1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 28000], "end": [40000, 29000], "width": 400, "height": 100 }
- },
- "0b1869a2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 29000], "end": [39000, 30000], "width": 400, "height": 100 }
- },
- "0b1869a3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 30000], "end": [38000, 30000], "width": 400, "height": 100 }
- },
- "0b1869a4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 30000], "end": [33000, 35000], "width": 400, "height": 100 }
- },
- "0b1869a5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 35000], "end": [20000, 35000], "width": 400, "height": 100 }
- },
- "0b1869a6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 35000], "end": [20000, 34000], "width": 400, "height": 100 }
- },
- "0b1869a7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 34000], "end": [25000, 34000], "width": 400, "height": 100 }
- },
- "0b1869a8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 34000], "end": [30000, 34000], "width": 400, "height": 100 }
- },
- "0b1869a9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869a9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 34000], "end": [30000, 33000], "width": 400, "height": 100 }
- },
- "0b1869aa-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869aa-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 33000], "end": [20000, 33000], "width": 400, "height": 100 }
- },
- "0b1869ab-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869ab-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 33000], "end": [20000, 32000], "width": 400, "height": 100 }
- },
- "0b1869ac-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869ac-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 32000], "end": [22000, 32000], "width": 400, "height": 100 }
- },
- "0b1869ad-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869ad-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 32000], "end": [22000, 30000], "width": 400, "height": 100 }
- },
- "0b1869ae-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869ae-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [22000, 30000], "end": [23000, 30000], "width": 400, "height": 100 }
- },
- "0b1869af-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869af-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [23000, 30000], "end": [23000, 32000], "width": 400, "height": 100 }
- },
- "0b1869b0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869b0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [23000, 32000], "end": [35000, 32000], "width": 400, "height": 100 }
- },
- "0b1869b1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869b1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 32000], "end": [37000, 30000], "width": 400, "height": 100 }
- },
- "0b1869b2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869b2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 30000], "end": [37000, 29000], "width": 400, "height": 100 }
- },
- "0b1869b3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1869b3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 29000], "end": [31000, 29000], "width": 400, "height": 100 }
- },
- "0b189090-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189090-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [65000, 30000], "end": [52000, 30000], "width": 400, "height": 100 }
- },
- "0b189091-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189091-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52000, 30000], "end": [51000, 31000], "width": 400, "height": 100 }
- },
- "0b189092-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189092-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [51000, 31000], "end": [50000, 31000], "width": 400, "height": 100 }
- },
- "0b189093-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189093-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52000, 30000], "end": [49000, 30000], "width": 400, "height": 100 }
- },
- "0b189094-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189094-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 30000], "end": [49000, 42000], "width": 400, "height": 100 }
- },
- "0b189095-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189095-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 42000], "end": [48000, 42000], "width": 400, "height": 100 }
- },
- "0b189096-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189096-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 31000], "end": [50000, 45000], "width": 400, "height": 100 }
- },
- "0b189097-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189097-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [50000, 45000], "end": [48000, 47000], "width": 400, "height": 100 }
- },
- "0b189098-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189098-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 47000], "end": [6000, 47000], "width": 400, "height": 100 }
- },
- "0b189099-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b189099-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [6000, 47000], "end": [4000, 45000], "width": 400, "height": 100 }
- },
- "0b18909a-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909a-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [4000, 45000], "end": [11000, 38000], "width": 400, "height": 100 }
- },
- "0b18909b-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909b-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 42000], "end": [48000, 32000], "width": 400, "height": 100 }
- },
- "0b18909c-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909c-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [48000, 32000], "end": [47000, 32000], "width": 400, "height": 100 }
- },
- "0b18909d-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909d-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [47000, 32000], "end": [47000, 43000], "width": 400, "height": 100 }
- },
- "0b18909e-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909e-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [47000, 43000], "end": [46000, 43000], "width": 400, "height": 100 }
- },
- "0b18909f-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18909f-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 43000], "end": [46000, 33000], "width": 400, "height": 100 }
- },
- "0b1890a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 33000], "end": [45000, 33000], "width": 400, "height": 100 }
- },
- "0b1890a1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 33000], "end": [45000, 43000], "width": 400, "height": 100 }
- },
- "0b1890a2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 43000], "end": [44000, 43000], "width": 400, "height": 100 }
- },
- "0b1890a3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 43000], "end": [44000, 34000], "width": 400, "height": 100 }
- },
- "0b1890a4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 34000], "end": [43000, 34000], "width": 400, "height": 100 }
- },
- "0b1890a5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 34000], "end": [43000, 43000], "width": 400, "height": 100 }
- },
- "0b1890a6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 43000], "end": [42000, 43000], "width": 400, "height": 100 }
- },
- "0b1890a7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [43000, 43000], "end": [42000, 43000], "width": 400, "height": 100 }
- },
- "0b1890a8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 43000], "end": [42000, 38000], "width": 400, "height": 100 }
- },
- "0b1890a9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890a9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 38000], "end": [41000, 38000], "width": 400, "height": 100 }
- },
- "0b1890aa-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890aa-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 38000], "end": [41000, 45000], "width": 400, "height": 100 }
- },
- "0b1890ab-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ab-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 45000], "end": [35000, 45000], "width": 400, "height": 100 }
- },
- "0b1890ac-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ac-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 45000], "end": [30000, 40000], "width": 400, "height": 100 }
- },
- "0b1890ad-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ad-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 41000], "end": [10000, 40000], "width": 400, "height": 100 }
- },
- "0b1890ae-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ae-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 40000], "end": [12000, 37000], "width": 400, "height": 100 }
- },
- "0b1890af-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890af-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 37000], "end": [24000, 37000], "width": 400, "height": 100 }
- },
- "0b1890b0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 37000], "end": [24000, 36000], "width": 400, "height": 100 }
- },
- "0b1890b1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 36000], "end": [12000, 36000], "width": 400, "height": 100 }
- },
- "0b1890b2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 36000], "end": [21000, 27000], "width": 400, "height": 100 }
- },
- "0b1890b3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21000, 27000], "end": [30000, 27000], "width": 400, "height": 100 }
- },
- "0b1890b4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 26000], "end": [9000, 37000], "width": 400, "height": 100 }
- },
- "0b1890b5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 37000], "end": [3000, 37000], "width": 400, "height": 100 }
- },
- "0b1890b6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 37000], "end": [3000, 36000], "width": 400, "height": 100 }
- },
- "0b1890b7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 36000], "end": [8000, 36000], "width": 400, "height": 100 }
- },
- "0b1890b8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 36000], "end": [9000, 36000], "width": 400, "height": 100 }
- },
- "0b1890b9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890b9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 36000], "end": [9000, 35000], "width": 400, "height": 100 }
- },
- "0b1890ba-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ba-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 35000], "end": [3000, 35000], "width": 400, "height": 100 }
- },
- "0b1890bb-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890bb-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 35000], "end": [3000, 34000], "width": 400, "height": 100 }
- },
- "0b1890bc-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890bc-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 34000], "end": [9000, 34000], "width": 400, "height": 100 }
- },
- "0b1890bd-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890bd-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 34000], "end": [9000, 33000], "width": 400, "height": 100 }
- },
- "0b1890be-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890be-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 33000], "end": [3000, 33000], "width": 400, "height": 100 }
- },
- "0b1890bf-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890bf-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 33000], "end": [3000, 32000], "width": 400, "height": 100 }
- },
- "0b1890c0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [3000, 32000], "end": [12000, 32000], "width": 400, "height": 100 }
- },
- "0b1890c1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 32000], "end": [16000, 28000], "width": 400, "height": 100 }
- },
- "0b1890c2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 28000], "end": [16000, 26000], "width": 400, "height": 100 }
- },
- "0b1890c3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 26000], "end": [5000, 26000], "width": 400, "height": 100 }
- },
- "0b1890c4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [5000, 26000], "end": [4000, 27000], "width": 400, "height": 100 }
- },
- "0b1890c5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [4000, 27000], "end": [9000, 30000], "width": 400, "height": 100 }
- },
- "0b1890c6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 35000], "end": [39000, 43000], "width": 400, "height": 100 }
- },
- "0b1890c7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 43000], "end": [38000, 43000], "width": 400, "height": 100 }
- },
- "0b1890c8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 43000], "end": [38000, 36000], "width": 400, "height": 100 }
- },
- "0b1890c9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890c9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 36000], "end": [28000, 36000], "width": 400, "height": 100 }
- },
- "0b1890ca-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ca-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 36000], "end": [24000, 40000], "width": 400, "height": 100 }
- },
- "0b1890cb-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890cb-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 40000], "end": [24000, 45000], "width": 400, "height": 100 }
- },
- "0b1890cc-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890cc-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 45000], "end": [15000, 45000], "width": 400, "height": 100 }
- },
- "0b1890cd-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890cd-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [15000, 45000], "end": [10000, 40000], "width": 400, "height": 100 }
- },
- "0b1890ce-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890ce-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [57000, 8000], "end": [56000, 9000], "width": 400, "height": 100 }
- },
- "0b1890cf-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890cf-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [56000, 9000], "end": [56000, 10000], "width": 400, "height": 100 }
- },
- "0b1890d0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890d0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [56000, 10000], "end": [62000, 16000], "width": 400, "height": 100 }
- },
- "0b1890d1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890d1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 16000], "end": [62000, 17000], "width": 400, "height": 100 }
- },
- "0b1890d2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890d2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 17000], "end": [63000, 15000], "width": 400, "height": 100 }
- },
- "0b1890d3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890d3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 15000], "end": [63000, 15000], "width": 400, "height": 100 }
- },
- "0b1890d4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b1890d4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 15000], "end": [59000, 11000], "width": 400, "height": 100 }
- },
- "0b18b7a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 11000], "end": [58000, 10000], "width": 400, "height": 100 }
- },
- "0b18b7a1-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a1-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58000, 10000], "end": [58000, 9000], "width": 400, "height": 100 }
- },
- "0b18b7a2-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a2-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 3000], "end": [66000, 10000], "width": 400, "height": 100 }
- },
- "0b18b7a3-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a3-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 7000], "end": [60000, 7000], "width": 400, "height": 100 }
- },
- "0b18b7a4-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a4-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 9000], "end": [61000, 9000], "width": 400, "height": 100 }
- },
- "0b18b7a5-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a5-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58000, 9000], "end": [59000, 9000], "width": 400, "height": 100 }
- },
- "0b18b7a6-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a6-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 9000], "end": [61000, 7000], "width": 400, "height": 100 }
- },
- "0b18b7a7-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a7-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 7000], "end": [62000, 10000], "width": 400, "height": 100 }
- },
- "0b18b7a8-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a8-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 10000], "end": [64000, 12000], "width": 400, "height": 100 }
- },
- "0b18b7a9-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7a9-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [64000, 12000], "end": [64000, 17000], "width": 400, "height": 100 }
- },
- "0b18b7aa-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7aa-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [54000, 4000], "end": [62000, 6000], "width": 400, "height": 100 }
- },
- "0b18b7ab-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7ab-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 6000], "end": [54000, 7000], "width": 400, "height": 100 }
- },
- "0b18b7ac-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7ac-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [54000, 7000], "end": [54000, 10000], "width": 400, "height": 100 }
- },
- "0b18b7ad-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7ad-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 6000], "end": [60000, 6000], "width": 400, "height": 100 }
- },
- "0b18b7ae-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7ae-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [54000, 4000], "end": [53000, 5000], "width": 400, "height": 100 }
- },
- "0b18b7af-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7af-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [57000, 8000], "end": [59000, 8000], "width": 400, "height": 100 }
- },
- "0b18b7b0-3eff-11e5-93b5-5f17d678819e": {
- "id": "0b18b7b0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 8000], "end": [61000, 6000], "width": 400, "height": 100 }
- }
- }
- },
- {
- "name": "control",
- "color": "red",
- "params": { "z_offset": 1200, "flip": true },
- "features": {
- "387e92f0-3eff-11e5-93b5-5f17d678819e": {
- "id": "387e92f0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [52000, 19000], "end": [53000, 21000], "borderWidth": 400, "height": 100 }
- },
- "3be3b6f0-3eff-11e5-93b5-5f17d678819e": {
- "id": "3be3b6f0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [54000, 21000], "end": [55000, 23000], "borderWidth": 400, "height": 100 }
- },
- "3cf61150-3eff-11e5-93b5-5f17d678819e": {
- "id": "3cf61150-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [56000, 23000], "end": [57000, 25000], "borderWidth": 400, "height": 100 }
- },
- "3dc659a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "3dc659a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [58000, 25000], "end": [59000, 27000], "borderWidth": 400, "height": 100 }
- },
- "3ea45d90-3eff-11e5-93b5-5f17d678819e": {
- "id": "3ea45d90-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [60000, 27000], "end": [61000, 29000], "borderWidth": 400, "height": 100 }
- },
- "3f5cb110-3eff-11e5-93b5-5f17d678819e": {
- "id": "3f5cb110-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [62000, 29000], "end": [63000, 31000], "borderWidth": 400, "height": 100 }
- },
- "47eb6560-3eff-11e5-93b5-5f17d678819e": {
- "id": "47eb6560-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52500, 16000], "end": [52500, 20000], "width": 400, "height": 100 }
- },
- "4b52d350-3eff-11e5-93b5-5f17d678819e": {
- "id": "4b52d350-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [54500, 22000], "end": [54500, 17000], "width": 400, "height": 100 }
- },
- "4f8f4480-3eff-11e5-93b5-5f17d678819e": {
- "id": "4f8f4480-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [56500, 23600], "end": [56500, 18000], "width": 400, "height": 100 }
- },
- "55756e10-3eff-11e5-93b5-5f17d678819e": {
- "id": "55756e10-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58500, 26000], "end": [58500, 22200], "width": 400, "height": 100 }
- },
- "571402e0-3eff-11e5-93b5-5f17d678819e": {
- "id": "571402e0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58500, 22100], "end": [58500, 19200], "width": 400, "height": 100 }
- },
- "592a11a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "592a11a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58500, 19200], "end": [58500, 19000], "width": 400, "height": 100 }
- },
- "5c7df790-3eff-11e5-93b5-5f17d678819e": {
- "id": "5c7df790-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60500, 20000], "end": [60500, 20400], "width": 400, "height": 100 }
- },
- "5e7d7110-3eff-11e5-93b5-5f17d678819e": {
- "id": "5e7d7110-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60500, 20500], "end": [60500, 24900], "width": 400, "height": 100 }
- },
- "60abe9d0-3eff-11e5-93b5-5f17d678819e": {
- "id": "60abe9d0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60500, 25000], "end": [60500, 27800], "width": 400, "height": 100 }
- },
- "64abc730-3eff-11e5-93b5-5f17d678819e": {
- "id": "64abc730-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62500, 29000], "end": [62500, 23600], "width": 400, "height": 100 }
- },
- "670aece0-3eff-11e5-93b5-5f17d678819e": {
- "id": "670aece0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62500, 23600], "end": [62500, 21000], "width": 400, "height": 100 }
- },
- "6b44ed10-3eff-11e5-93b5-5f17d678819e": {
- "id": "6b44ed10-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52500, 16000], "end": [53000, 16000], "width": 400, "height": 100 }
- },
- "6cfe35d0-3eff-11e5-93b5-5f17d678819e": {
- "id": "6cfe35d0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [54500, 17000], "end": [55000, 17000], "width": 400, "height": 100 }
- },
- "6e748220-3eff-11e5-93b5-5f17d678819e": {
- "id": "6e748220-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [56500, 18000], "end": [57000, 18000], "width": 400, "height": 100 }
- },
- "6f704740-3eff-11e5-93b5-5f17d678819e": {
- "id": "6f704740-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58500, 19000], "end": [59000, 19000], "width": 400, "height": 100 }
- },
- "723a8ad0-3eff-11e5-93b5-5f17d678819e": {
- "id": "723a8ad0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62500, 21000], "end": [63000, 21000], "width": 400, "height": 100 }
- },
- "9a3fc040-3eff-11e5-93b5-5f17d678819e": {
- "id": "9a3fc040-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [53000, 16000], "end": [66000, 16000], "width": 400, "height": 100 }
- },
- "9b18e230-3eff-11e5-93b5-5f17d678819e": {
- "id": "9b18e230-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 17000], "end": [66000, 17000], "width": 400, "height": 100 }
- },
- "9bbaee90-3eff-11e5-93b5-5f17d678819e": {
- "id": "9bbaee90-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [57000, 18000], "end": [66000, 18000], "width": 400, "height": 100 }
- },
- "9c5c5eb0-3eff-11e5-93b5-5f17d678819e": {
- "id": "9c5c5eb0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [59000, 19000], "end": [66000, 19000], "width": 400, "height": 100 }
- },
- "a0b90210-3eff-11e5-93b5-5f17d678819e": {
- "id": "a0b90210-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 20000], "end": [66000, 20000], "width": 400, "height": 100 }
- },
- "a1663200-3eff-11e5-93b5-5f17d678819e": {
- "id": "a1663200-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 21000], "end": [66000, 21000], "width": 400, "height": 100 }
- },
- "a2535120-3eff-11e5-93b5-5f17d678819e": {
- "id": "a2535120-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 21000], "end": [67000, 22000], "width": 400, "height": 100 }
- },
- "a3910140-3eff-11e5-93b5-5f17d678819e": {
- "id": "a3910140-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 20000], "end": [67000, 20000], "width": 400, "height": 100 }
- },
- "a47064c0-3eff-11e5-93b5-5f17d678819e": {
- "id": "a47064c0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [67000, 20000], "end": [69000, 22000], "width": 400, "height": 100 }
- },
- "a5548330-3eff-11e5-93b5-5f17d678819e": {
- "id": "a5548330-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 19000], "end": [67000, 19000], "width": 400, "height": 100 }
- },
- "a6fc3fc0-3eff-11e5-93b5-5f17d678819e": {
- "id": "a6fc3fc0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [67000, 19000], "end": [68000, 19000], "width": 400, "height": 100 }
- },
- "a75e35e0-3eff-11e5-93b5-5f17d678819e": {
- "id": "a75e35e0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [68000, 19000], "end": [71000, 22000], "width": 400, "height": 100 }
- },
- "a8d98b40-3eff-11e5-93b5-5f17d678819e": {
- "id": "a8d98b40-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 18000], "end": [69000, 18000], "width": 400, "height": 100 }
- },
- "a96158e0-3eff-11e5-93b5-5f17d678819e": {
- "id": "a96158e0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [69000, 18000], "end": [71000, 20000], "width": 400, "height": 100 }
- },
- "ac244970-3eff-11e5-93b5-5f17d678819e": {
- "id": "ac244970-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 17000], "end": [70000, 17000], "width": 400, "height": 100 }
- },
- "ac990440-3eff-11e5-93b5-5f17d678819e": {
- "id": "ac990440-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [70000, 17000], "end": [71000, 18000], "width": 400, "height": 100 }
- },
- "ae167c80-3eff-11e5-93b5-5f17d678819e": {
- "id": "ae167c80-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [66000, 16000], "end": [71000, 16000], "width": 400, "height": 100 }
- },
- "b0b6c9e0-3eff-11e5-93b5-5f17d678819e": {
- "id": "b0b6c9e0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [67000, 22000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "b11c9090-3eff-11e5-93b5-5f17d678819e": {
- "id": "b11c9090-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [69000, 22000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "b1767060-3eff-11e5-93b5-5f17d678819e": {
- "id": "b1767060-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [71000, 22000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "b1bfd570-3eff-11e5-93b5-5f17d678819e": {
- "id": "b1bfd570-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [71000, 20000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "b21632d0-3eff-11e5-93b5-5f17d678819e": {
- "id": "b21632d0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [71000, 18000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "b25e3850-3eff-11e5-93b5-5f17d678819e": {
- "id": "b25e3850-3eff-11e5-93b5-5f17d678819e",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [71000, 16000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "c04f1920-3eff-11e5-93b5-5f17d678819e": {
- "id": "c04f1920-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [9000, 9000], "end": [10000, 10000], "borderWidth": 400, "height": 100 }
- },
- "c10a2bc0-3eff-11e5-93b5-5f17d678819e": {
- "id": "c10a2bc0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [9000, 19000], "end": [10000, 20000], "borderWidth": 400, "height": 100 }
- },
- "c1a58160-3eff-11e5-93b5-5f17d678819e": {
- "id": "c1a58160-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [9000, 29000], "end": [10000, 30000], "borderWidth": 400, "height": 100 }
- },
- "c243bd30-3eff-11e5-93b5-5f17d678819e": {
- "id": "c243bd30-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [9000, 39000], "end": [10000, 40000], "borderWidth": 400, "height": 100 }
- },
- "c31c9100-3eff-11e5-93b5-5f17d678819e": {
- "id": "c31c9100-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 9000], "end": [30000, 10000], "borderWidth": 400, "height": 100 }
- },
- "c3bcefb0-3eff-11e5-93b5-5f17d678819e": {
- "id": "c3bcefb0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 19000], "end": [30000, 20000], "borderWidth": 400, "height": 100 }
- },
- "c4780250-3eff-11e5-93b5-5f17d678819e": {
- "id": "c4780250-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 29000], "end": [30000, 30000], "borderWidth": 400, "height": 100 }
- },
- "c532c6d0-3eff-11e5-93b5-5f17d678819e": {
- "id": "c532c6d0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 39000], "end": [30000, 40000], "borderWidth": 400, "height": 100 }
- },
- "c65267a0-3eff-11e5-93b5-5f17d678819e": {
- "id": "c65267a0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [61000, 39000], "end": [62000, 40000], "borderWidth": 400, "height": 100 }
- },
- "c725e440-3eff-11e5-93b5-5f17d678819e": {
- "id": "c725e440-3eff-11e5-93b5-5f17d678819e",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [61000, 5000], "end": [62000, 6000], "borderWidth": 400, "height": 100 }
- },
- "fb551d30-3eff-11e5-93b5-5f17d678819e": {
- "id": "fb551d30-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9600, 9500], "end": [25000, 9500], "width": 400, "height": 100 }
- },
- "ff6db2b0-3eff-11e5-93b5-5f17d678819e": {
- "id": "ff6db2b0-3eff-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 9500], "end": [27300, 9500], "width": 400, "height": 100 }
- },
- "007314c0-3f00-11e5-93b5-5f17d678819e": {
- "id": "007314c0-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [27300, 9500], "end": [29200, 9500], "width": 400, "height": 100 }
- },
- "02b2a480-3f00-11e5-93b5-5f17d678819e": {
- "id": "02b2a480-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9500, 19500], "end": [21600, 19600], "width": 400, "height": 100 }
- },
- "056c4640-3f00-11e5-93b5-5f17d678819e": {
- "id": "056c4640-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [21600, 19600], "end": [29600, 19600], "width": 400, "height": 100 }
- },
- "09610010-3f00-11e5-93b5-5f17d678819e": {
- "id": "09610010-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9500, 29500], "end": [24100, 29500], "width": 400, "height": 100 }
- },
- "0da25340-3f00-11e5-93b5-5f17d678819e": {
- "id": "0da25340-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24200, 29500], "end": [29500, 29500], "width": 400, "height": 100 }
- },
- "10cba6c0-3f00-11e5-93b5-5f17d678819e": {
- "id": "10cba6c0-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9500, 39500], "end": [19500, 39500], "width": 400, "height": 100 }
- },
- "137039e0-3f00-11e5-93b5-5f17d678819e": {
- "id": "137039e0-3f00-11e5-93b5-5f17d678819e",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [19500, 39500], "end": [29600, 39500], "width": 400, "height": 100 }
- }
- }
- }
- ],
- "groups": [],
- "defaults": {}
-}
diff --git a/examples/VoigtCassieMockup.json b/examples/VoigtCassieMockup.json
deleted file mode 100644
index 10bf75e6..00000000
--- a/examples/VoigtCassieMockup.json
+++ /dev/null
@@ -1,1900 +0,0 @@
-{
- "name": "My Device",
- "params": { "width": 75800, "height": 51000 },
- "layers": [
- {
- "name": "flow",
- "color": "indigo",
- "params": { "z_offset": 0, "flip": false },
- "features": {
- "3238de90-404f-11e5-877d-e53327a933d0": {
- "id": "3238de90-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 40000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a0-404f-11e5-877d-e53327a933d0": {
- "id": "323905a0-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 35000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a1-404f-11e5-877d-e53327a933d0": {
- "id": "323905a1-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 30000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a2-404f-11e5-877d-e53327a933d0": {
- "id": "323905a2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 25000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a3-404f-11e5-877d-e53327a933d0": {
- "id": "323905a3-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 20000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a4-404f-11e5-877d-e53327a933d0": {
- "id": "323905a4-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 15000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a5-404f-11e5-877d-e53327a933d0": {
- "id": "323905a5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323905a6-404f-11e5-877d-e53327a933d0": {
- "id": "323905a6-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [2000, 5000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "32392cb0-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 5000], "end": [10000, 5000], "width": 410, "height": 100 }
- },
- "32392cb1-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 5000], "end": [10000, 10000], "width": 410, "height": 100 }
- },
- "32392cb2-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 10000], "end": [10000, 10000], "width": 410, "height": 100 }
- },
- "32392cb3-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 7500], "end": [13000, 7500], "width": 410, "height": 100 }
- },
- "32392cb4-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 7500], "end": [13000, 11700], "width": 410, "height": 100 }
- },
- "32392cb5-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 11000], "end": [13000, 17000], "width": 410, "height": 100 }
- },
- "32392cb6-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 17000], "end": [13000, 17500], "width": 410, "height": 100 }
- },
- "32392cb7-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 15000], "end": [10000, 15000], "width": 410, "height": 100 }
- },
- "32392cb8-404f-11e5-877d-e53327a933d0": {
- "id": "32392cb8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 15000], "end": [10000, 20000], "width": 410, "height": 100 }
- },
- "323953c0-404f-11e5-877d-e53327a933d0": {
- "id": "323953c0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 20000], "end": [2000, 20000], "width": 410, "height": 100 }
- },
- "323953c1-404f-11e5-877d-e53327a933d0": {
- "id": "323953c1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 17500], "end": [10000, 17500], "width": 410, "height": 100 }
- },
- "323953c2-404f-11e5-877d-e53327a933d0": {
- "id": "323953c2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 25000], "end": [10000, 25000], "width": 410, "height": 100 }
- },
- "323953c3-404f-11e5-877d-e53327a933d0": {
- "id": "323953c3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 25000], "end": [10000, 25000], "width": 410, "height": 100 }
- },
- "323953c4-404f-11e5-877d-e53327a933d0": {
- "id": "323953c4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 30000], "end": [10000, 30000], "width": 410, "height": 100 }
- },
- "323953c5-404f-11e5-877d-e53327a933d0": {
- "id": "323953c5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 35000], "end": [10000, 35000], "width": 410, "height": 100 }
- },
- "323953c6-404f-11e5-877d-e53327a933d0": {
- "id": "323953c6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [2000, 40000], "end": [10000, 40000], "width": 410, "height": 100 }
- },
- "323953c7-404f-11e5-877d-e53327a933d0": {
- "id": "323953c7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 25000], "end": [10000, 30000], "width": 410, "height": 100 }
- },
- "323953c8-404f-11e5-877d-e53327a933d0": {
- "id": "323953c8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 35000], "end": [10000, 40000], "width": 410, "height": 100 }
- },
- "32397ad0-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 12500], "end": [16000, 12500], "width": 410, "height": 100 }
- },
- "32397ad1-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 12500], "end": [16000, 13000], "width": 410, "height": 100 }
- },
- "32397ad2-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 22500], "end": [18000, 22500], "width": 410, "height": 100 }
- },
- "32397ad3-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [18000, 22500], "end": [20000, 22500], "width": 410, "height": 100 }
- },
- "32397ad4-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 22500], "end": [20000, 22000], "width": 410, "height": 100 }
- },
- "32397ad5-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 22500], "end": [20000, 23000], "width": 410, "height": 100 }
- },
- "32397ad6-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 22000], "end": [20000, 11000], "width": 410, "height": 100 }
- },
- "32397ad7-404f-11e5-877d-e53327a933d0": {
- "id": "32397ad7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 11000], "end": [25000, 11000], "width": 410, "height": 100 }
- },
- "3239a1e0-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 23000], "end": [20000, 34000], "width": 410, "height": 100 }
- },
- "3239a1e1-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 34000], "end": [25000, 34000], "width": 410, "height": 100 }
- },
- "3239a1e2-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 11000], "end": [25000, 11000], "width": 410, "height": 100 }
- },
- "3239a1e3-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 11000], "end": [25000, 5000], "width": 410, "height": 100 }
- },
- "3239a1e4-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 11000], "end": [25000, 17000], "width": 410, "height": 100 }
- },
- "3239a1e5-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 5000], "end": [45000, 5000], "width": 410, "height": 100 }
- },
- "3239a1e6-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 5000], "end": [45000, 17000], "width": 410, "height": 100 }
- },
- "3239a1e7-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 17000], "end": [25000, 17000], "width": 410, "height": 100 }
- },
- "3239a1e8-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 34000], "end": [25000, 40000], "width": 410, "height": 100 }
- },
- "3239a1e9-404f-11e5-877d-e53327a933d0": {
- "id": "3239a1e9-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 34000], "end": [25000, 28000], "width": 410, "height": 100 }
- },
- "3239c8f0-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [25000, 28000], "end": [45000, 28000], "width": 410, "height": 100 }
- },
- "3239c8f1-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 28000], "end": [45000, 40000], "width": 410, "height": 100 }
- },
- "3239c8f2-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [45000, 40000], "end": [25000, 40000], "width": 410, "height": 100 }
- },
- "3239c8f3-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 17000], "end": [30000, 10000], "width": 410, "height": 100 }
- },
- "3239c8f4-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 17000], "end": [40000, 10000], "width": 410, "height": 100 }
- },
- "3239c8f5-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [30000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "3239c8f6-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f6-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [40000, 10000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "3239c8f7-404f-11e5-877d-e53327a933d0": {
- "id": "3239c8f7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 28000], "end": [30000, 35000], "width": 410, "height": 100 }
- },
- "3239f000-404f-11e5-877d-e53327a933d0": {
- "id": "3239f000-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 28000], "end": [40000, 35000], "width": 410, "height": 100 }
- },
- "3239f001-404f-11e5-877d-e53327a933d0": {
- "id": "3239f001-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [30000, 35000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "3239f002-404f-11e5-877d-e53327a933d0": {
- "id": "3239f002-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [40000, 35000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "3239f003-404f-11e5-877d-e53327a933d0": {
- "id": "3239f003-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 27500], "end": [13000, 27500], "width": 410, "height": 100 }
- },
- "3239f004-404f-11e5-877d-e53327a933d0": {
- "id": "3239f004-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [10000, 37500], "end": [13000, 37500], "width": 410, "height": 100 }
- },
- "3239f005-404f-11e5-877d-e53327a933d0": {
- "id": "3239f005-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 37500], "end": [13000, 37000], "width": 410, "height": 100 }
- },
- "3239f006-404f-11e5-877d-e53327a933d0": {
- "id": "3239f006-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 27500], "end": [13000, 28000], "width": 410, "height": 100 }
- },
- "3239f007-404f-11e5-877d-e53327a933d0": {
- "id": "3239f007-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 28000], "end": [13000, 37000], "width": 410, "height": 100 }
- },
- "3239f008-404f-11e5-877d-e53327a933d0": {
- "id": "3239f008-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 32500], "end": [16000, 32500], "width": 410, "height": 100 }
- },
- "323a1710-404f-11e5-877d-e53327a933d0": {
- "id": "323a1710-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 32500], "end": [16000, 31000], "width": 410, "height": 100 }
- },
- "323a1711-404f-11e5-877d-e53327a933d0": {
- "id": "323a1711-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 31000], "end": [16000, 22000], "width": 410, "height": 100 }
- },
- "323a1712-404f-11e5-877d-e53327a933d0": {
- "id": "323a1712-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 22000], "end": [16000, 13000], "width": 410, "height": 100 }
- },
- "323a1713-404f-11e5-877d-e53327a933d0": {
- "id": "323a1713-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [20000, 22500], "end": [29000, 22500], "width": 410, "height": 100 }
- },
- "323a1714-404f-11e5-877d-e53327a933d0": {
- "id": "323a1714-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 22600], "end": [30000, 23000], "width": 410, "height": 100 }
- },
- "323a1715-404f-11e5-877d-e53327a933d0": {
- "id": "323a1715-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [40000, 17000], "end": [40000, 28000], "width": 410, "height": 100 }
- },
- "323a1716-404f-11e5-877d-e53327a933d0": {
- "id": "323a1716-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 22500], "end": [40000, 22500], "width": 410, "height": 100 }
- },
- "323a1717-404f-11e5-877d-e53327a933d0": {
- "id": "323a1717-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [30000, 17000], "end": [30000, 28000], "width": 410, "height": 100 }
- },
- "323a1718-404f-11e5-877d-e53327a933d0": {
- "id": "323a1718-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 22500], "end": [30000, 22500], "width": 410, "height": 100 }
- },
- "323a3e20-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e20-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [35000, 17000], "end": [35000, 28000], "width": 410, "height": 100 }
- }
- }
- },
- {
- "name": "control",
- "color": "red",
- "params": { "z_offset": 500, "flip": true },
- "features": {
- "323a3e21-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e21-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 9000], "end": [9000, 11000], "width": 50, "height": 100 }
- },
- "323a3e22-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e22-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 19000], "end": [9000, 21000], "width": 50, "height": 100 }
- },
- "323a3e23-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e23-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 29000], "end": [9000, 31000], "width": 50, "height": 100 }
- },
- "323a3e24-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e24-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 26600], "end": [11000, 28500], "width": 50, "height": 100 }
- },
- "323a3e25-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e25-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 18500], "end": [12000, 16500], "width": 50, "height": 100 }
- },
- "323a3e26-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e26-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 10000], "end": [24000, 12000], "width": 50, "height": 100 }
- },
- "323a3e27-404f-11e5-877d-e53327a933d0": {
- "id": "323a3e27-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 14000], "end": [41000, 14000], "width": 50, "height": 100 }
- },
- "323a6530-404f-11e5-877d-e53327a933d0": {
- "id": "323a6530-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 12000], "end": [31000, 12000], "width": 50, "height": 100 }
- },
- "323a6531-404f-11e5-877d-e53327a933d0": {
- "id": "323a6531-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 12000], "end": [41000, 12000], "width": 50, "height": 100 }
- },
- "323a6532-404f-11e5-877d-e53327a933d0": {
- "id": "323a6532-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 13000], "end": [41000, 13000], "width": 50, "height": 100 }
- },
- "323a6533-404f-11e5-877d-e53327a933d0": {
- "id": "323a6533-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 15000], "end": [41000, 15000], "width": 50, "height": 100 }
- },
- "323a6534-404f-11e5-877d-e53327a933d0": {
- "id": "323a6534-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 19000], "end": [41000, 19000], "width": 50, "height": 100 }
- },
- "323a6535-404f-11e5-877d-e53327a933d0": {
- "id": "323a6535-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 20000], "end": [41000, 20000], "width": 50, "height": 100 }
- },
- "323a6536-404f-11e5-877d-e53327a933d0": {
- "id": "323a6536-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 19000], "end": [36000, 19000], "width": 50, "height": 100 }
- },
- "323a6537-404f-11e5-877d-e53327a933d0": {
- "id": "323a6537-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 21000], "end": [36000, 21000], "width": 50, "height": 100 }
- },
- "323a6538-404f-11e5-877d-e53327a933d0": {
- "id": "323a6538-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 12000], "end": [46000, 12000], "width": 50, "height": 100 }
- },
- "323a8c40-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c40-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 13000], "end": [46000, 13000], "width": 50, "height": 100 }
- },
- "323a8c41-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c41-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 14000], "end": [46000, 14000], "width": 50, "height": 100 }
- },
- "323a8c42-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c42-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 15000], "end": [46000, 15000], "width": 50, "height": 100 }
- },
- "323a8c43-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c43-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 16000], "end": [46000, 16000], "width": 50, "height": 100 }
- },
- "323a8c44-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c44-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 22000], "end": [41000, 22000], "width": 50, "height": 100 }
- },
- "323a8c45-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c45-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 33000], "end": [39000, 33000], "width": 50, "height": 100 }
- },
- "323a8c46-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c46-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 32000], "end": [39000, 32000], "width": 50, "height": 100 }
- },
- "323a8c47-404f-11e5-877d-e53327a933d0": {
- "id": "323a8c47-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 31000], "end": [39000, 31000], "width": 50, "height": 100 }
- },
- "323ab350-404f-11e5-877d-e53327a933d0": {
- "id": "323ab350-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 30000], "end": [39000, 30000], "width": 50, "height": 100 }
- },
- "323ab351-404f-11e5-877d-e53327a933d0": {
- "id": "323ab351-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 33000], "end": [31000, 33000], "width": 50, "height": 100 }
- },
- "323ab352-404f-11e5-877d-e53327a933d0": {
- "id": "323ab352-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 30000], "end": [46000, 30000], "width": 50, "height": 100 }
- },
- "323ab353-404f-11e5-877d-e53327a933d0": {
- "id": "323ab353-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 31000], "end": [46000, 31000], "width": 50, "height": 100 }
- },
- "323ab354-404f-11e5-877d-e53327a933d0": {
- "id": "323ab354-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 32000], "end": [46000, 32000], "width": 50, "height": 100 }
- },
- "323ab355-404f-11e5-877d-e53327a933d0": {
- "id": "323ab355-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 33000], "end": [46000, 33000], "width": 50, "height": 100 }
- },
- "323ab356-404f-11e5-877d-e53327a933d0": {
- "id": "323ab356-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 23000], "end": [41000, 23000], "width": 50, "height": 100 }
- },
- "323ab357-404f-11e5-877d-e53327a933d0": {
- "id": "323ab357-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 25000], "end": [41000, 25000], "width": 50, "height": 100 }
- },
- "323ab358-404f-11e5-877d-e53327a933d0": {
- "id": "323ab358-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 26000], "end": [41000, 26000], "width": 50, "height": 100 }
- },
- "323ada60-404f-11e5-877d-e53327a933d0": {
- "id": "323ada60-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 26000], "end": [36000, 26000], "width": 50, "height": 100 }
- },
- "323ada61-404f-11e5-877d-e53327a933d0": {
- "id": "323ada61-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 14000], "end": [8000, 16000], "width": 50, "height": 100 }
- },
- "323ada62-404f-11e5-877d-e53327a933d0": {
- "id": "323ada62-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 24000], "end": [8000, 26000], "width": 50, "height": 100 }
- },
- "323ada63-404f-11e5-877d-e53327a933d0": {
- "id": "323ada63-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 34000], "end": [8000, 36000], "width": 50, "height": 100 }
- },
- "323ada64-404f-11e5-877d-e53327a933d0": {
- "id": "323ada64-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 9000], "end": [8000, 14000], "width": 250, "height": 100 }
- },
- "323ada65-404f-11e5-877d-e53327a933d0": {
- "id": "323ada65-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 16000], "end": [8000, 24000], "width": 250, "height": 100 }
- },
- "323ada66-404f-11e5-877d-e53327a933d0": {
- "id": "323ada66-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 26000], "end": [8000, 34000], "width": 250, "height": 100 }
- },
- "323ada67-404f-11e5-877d-e53327a933d0": {
- "id": "323ada67-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 36000], "end": [8000, 43000], "width": 250, "height": 100 }
- },
- "323b0170-404f-11e5-877d-e53327a933d0": {
- "id": "323b0170-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 28500], "end": [11000, 29100], "width": 250, "height": 100 }
- },
- "323b0171-404f-11e5-877d-e53327a933d0": {
- "id": "323b0171-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 29000], "end": [11000, 37000], "width": 250, "height": 100 }
- },
- "323b0172-404f-11e5-877d-e53327a933d0": {
- "id": "323b0172-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 26600], "end": [11000, 25900], "width": 250, "height": 100 }
- },
- "323b0173-404f-11e5-877d-e53327a933d0": {
- "id": "323b0173-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 26000], "end": [11000, 17000], "width": 250, "height": 100 }
- },
- "323b0174-404f-11e5-877d-e53327a933d0": {
- "id": "323b0174-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 9000], "end": [9000, 2000], "width": 250, "height": 100 }
- },
- "323b0175-404f-11e5-877d-e53327a933d0": {
- "id": "323b0175-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 11000], "end": [9000, 19000], "width": 250, "height": 100 }
- },
- "323b2880-404f-11e5-877d-e53327a933d0": {
- "id": "323b2880-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 21000], "end": [9000, 29000], "width": 250, "height": 100 }
- },
- "323b2881-404f-11e5-877d-e53327a933d0": {
- "id": "323b2881-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [9000, 31000], "end": [9000, 36000], "width": 250, "height": 100 }
- },
- "323b2882-404f-11e5-877d-e53327a933d0": {
- "id": "323b2882-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 17000], "end": [11000, 16500], "width": 250, "height": 100 }
- },
- "323b2883-404f-11e5-877d-e53327a933d0": {
- "id": "323b2883-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 16500], "end": [12000, 16000], "width": 250, "height": 100 }
- },
- "323b2884-404f-11e5-877d-e53327a933d0": {
- "id": "323b2884-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 16000], "end": [12000, 10000], "width": 250, "height": 100 }
- },
- "323b4f90-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f90-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 18500], "end": [12000, 20000], "width": 250, "height": 100 }
- },
- "323b4f91-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f91-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 20000], "end": [12000, 28000], "width": 250, "height": 100 }
- },
- "323b4f92-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f92-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 28000], "end": [12000, 28500], "width": 250, "height": 100 }
- },
- "323b4f93-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f93-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 31500], "end": [14000, 33500], "width": 250, "height": 100 }
- },
- "323b4f94-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f94-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 13500], "end": [14000, 11500], "width": 250, "height": 100 }
- },
- "323b4f95-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f95-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 11500], "end": [14000, 11000], "width": 250, "height": 100 }
- },
- "323b4f96-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f96-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [9000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323b4f97-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f97-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [23000, 12000], "end": [23000, 4000], "width": 250, "height": 100 }
- },
- "323b4f98-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f98-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [23000, 4000], "end": [23000, 2000], "width": 250, "height": 100 }
- },
- "323b4f99-404f-11e5-877d-e53327a933d0": {
- "id": "323b4f99-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 23500], "end": [24000, 21000], "width": 250, "height": 100 }
- },
- "323b76a0-404f-11e5-877d-e53327a933d0": {
- "id": "323b76a0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 12000], "end": [24000, 21000], "width": 250, "height": 100 }
- },
- "323b76a1-404f-11e5-877d-e53327a933d0": {
- "id": "323b76a1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 10000], "end": [12000, 3000], "width": 250, "height": 100 }
- },
- "323b76a2-404f-11e5-877d-e53327a933d0": {
- "id": "323b76a2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [12000, 3000], "end": [14000, 3000], "width": 250, "height": 100 }
- },
- "323b76a3-404f-11e5-877d-e53327a933d0": {
- "id": "323b76a3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 3000], "end": [14000, 2000], "width": 250, "height": 100 }
- },
- "323b76a4-404f-11e5-877d-e53327a933d0": {
- "id": "323b76a4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 11000], "end": [14000, 5000], "width": 250, "height": 100 }
- },
- "323b9db0-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 5000], "end": [17000, 5000], "width": 250, "height": 100 }
- },
- "323b9db1-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [17000, 5000], "end": [17000, 2000], "width": 250, "height": 100 }
- },
- "323b9db2-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 37000], "end": [11000, 43000], "width": 250, "height": 100 }
- },
- "323b9db3-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [11000, 43000], "end": [13000, 43000], "width": 250, "height": 100 }
- },
- "323b9db4-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [8000, 43000], "end": [8000, 44000], "width": 250, "height": 100 }
- },
- "323b9db5-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [13000, 43000], "end": [13000, 44000], "width": 250, "height": 100 }
- },
- "323b9db6-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 33500], "end": [14000, 34000], "width": 250, "height": 100 }
- },
- "323b9db7-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 34000], "end": [14000, 41000], "width": 250, "height": 100 }
- },
- "323b9db8-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [14000, 41000], "end": [16000, 41000], "width": 250, "height": 100 }
- },
- "323b9db9-404f-11e5-877d-e53327a933d0": {
- "id": "323b9db9-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [16000, 41000], "end": [16000, 44000], "width": 250, "height": 100 }
- },
- "323bc4c0-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c0-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [14000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c1-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c1-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [17000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c2-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [16000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c3-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c3-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [13000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c4-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c4-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [8000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c5-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [23000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bc4c6-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 10000], "end": [24000, 4000], "width": 250, "height": 100 }
- },
- "323bc4c7-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [24000, 4000], "end": [26000, 4000], "width": 250, "height": 100 }
- },
- "323bc4c8-404f-11e5-877d-e53327a933d0": {
- "id": "323bc4c8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [26000, 4000], "end": [26000, 2000], "width": 250, "height": 100 }
- },
- "323bebd0-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [23000, 33000], "end": [23000, 44000], "width": 250, "height": 100 }
- },
- "323bebd1-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd1-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [23000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bebd2-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [26000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323bebd3-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 18000], "end": [28000, 12000], "width": 250, "height": 100 }
- },
- "323bebd4-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 12000], "end": [29000, 12000], "width": 250, "height": 100 }
- },
- "323bebd5-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [31000, 12000], "end": [39000, 12000], "width": 250, "height": 100 }
- },
- "323bebd6-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 13000], "end": [39000, 13000], "width": 250, "height": 100 }
- },
- "323bebd7-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 18000], "end": [33000, 16000], "width": 250, "height": 100 }
- },
- "323bebd8-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 18000], "end": [37000, 15000], "width": 250, "height": 100 }
- },
- "323bebd9-404f-11e5-877d-e53327a933d0": {
- "id": "323bebd9-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 16000], "end": [33000, 14000], "width": 250, "height": 100 }
- },
- "323c12e0-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 14000], "end": [39000, 14000], "width": 250, "height": 100 }
- },
- "323c12e1-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [37000, 15000], "end": [39000, 15000], "width": 250, "height": 100 }
- },
- "323c12e2-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 16000], "end": [41000, 16000], "width": 250, "height": 100 }
- },
- "323c12e3-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 19000], "end": [34000, 19000], "width": 250, "height": 100 }
- },
- "323c12e4-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 19000], "end": [39000, 19000], "width": 250, "height": 100 }
- },
- "323c12e5-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 20000], "end": [39000, 20000], "width": 250, "height": 100 }
- },
- "323c12e6-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 19000], "end": [46000, 19000], "width": 250, "height": 100 }
- },
- "323c12e7-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 20000], "end": [46000, 20000], "width": 250, "height": 100 }
- },
- "323c12e8-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 22000], "end": [46000, 22000], "width": 250, "height": 100 }
- },
- "323c12e9-404f-11e5-877d-e53327a933d0": {
- "id": "323c12e9-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 23000], "end": [46000, 23000], "width": 250, "height": 100 }
- },
- "323c39f0-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 25000], "end": [46000, 25000], "width": 250, "height": 100 }
- },
- "323c39f1-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 26000], "end": [46000, 26000], "width": 250, "height": 100 }
- },
- "323c39f2-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f2-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 30000], "end": [44000, 30000], "width": 250, "height": 100 }
- },
- "323c39f3-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f3-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 31000], "end": [44000, 31000], "width": 250, "height": 100 }
- },
- "323c39f4-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f4-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 32000], "end": [44000, 32000], "width": 250, "height": 100 }
- },
- "323c39f5-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f5-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 33000], "end": [44000, 33000], "width": 250, "height": 100 }
- },
- "323c39f6-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f6-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [31000, 33000], "end": [39000, 33000], "width": 250, "height": 100 }
- },
- "323c39f7-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f7-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 32000], "end": [39000, 32000], "width": 250, "height": 100 }
- },
- "323c39f8-404f-11e5-877d-e53327a933d0": {
- "id": "323c39f8-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 27000], "end": [33000, 31000], "width": 250, "height": 100 }
- },
- "323c6100-404f-11e5-877d-e53327a933d0": {
- "id": "323c6100-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 31000], "end": [39000, 31000], "width": 250, "height": 100 }
- },
- "323c6101-404f-11e5-877d-e53327a933d0": {
- "id": "323c6101-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 27000], "end": [36000, 30000], "width": 250, "height": 100 }
- },
- "323c6102-404f-11e5-877d-e53327a933d0": {
- "id": "323c6102-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 30000], "end": [36000, 30000], "width": 250, "height": 100 }
- },
- "323c6103-404f-11e5-877d-e53327a933d0": {
- "id": "323c6103-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 30000], "end": [39000, 30000], "width": 250, "height": 100 }
- },
- "323c6104-404f-11e5-877d-e53327a933d0": {
- "id": "323c6104-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 26000], "end": [39000, 26000], "width": 250, "height": 100 }
- },
- "323c6105-404f-11e5-877d-e53327a933d0": {
- "id": "323c6105-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 25000], "end": [34000, 25000], "width": 250, "height": 100 }
- },
- "323c6106-404f-11e5-877d-e53327a933d0": {
- "id": "323c6106-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 22000], "end": [38000, 22000], "width": 250, "height": 100 }
- },
- "323c6107-404f-11e5-877d-e53327a933d0": {
- "id": "323c6107-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [34000, 21000], "end": [33000, 21000], "width": 250, "height": 100 }
- },
- "323c6108-404f-11e5-877d-e53327a933d0": {
- "id": "323c6108-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 21000], "end": [33000, 23000], "width": 250, "height": 100 }
- },
- "323c6109-404f-11e5-877d-e53327a933d0": {
- "id": "323c6109-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [33000, 23100], "end": [33000, 23500], "width": 250, "height": 100 }
- },
- "323c8810-404f-11e5-877d-e53327a933d0": {
- "id": "323c8810-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 22000], "end": [38000, 21000], "width": 250, "height": 100 }
- },
- "323c8811-404f-11e5-877d-e53327a933d0": {
- "id": "323c8811-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 21000], "end": [36000, 21000], "width": 250, "height": 100 }
- },
- "323c8812-404f-11e5-877d-e53327a933d0": {
- "id": "323c8812-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 22000], "end": [36000, 24000], "width": 250, "height": 100 }
- },
- "323c8813-404f-11e5-877d-e53327a933d0": {
- "id": "323c8813-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [36000, 24000], "end": [38000, 24000], "width": 250, "height": 100 }
- },
- "323c8814-404f-11e5-877d-e53327a933d0": {
- "id": "323c8814-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 24000], "end": [38000, 23000], "width": 250, "height": 100 }
- },
- "323c8815-404f-11e5-877d-e53327a933d0": {
- "id": "323c8815-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [38000, 23000], "end": [39000, 23000], "width": 250, "height": 100 }
- },
- "323c8816-404f-11e5-877d-e53327a933d0": {
- "id": "323c8816-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 26000], "end": [34000, 26000], "width": 250, "height": 100 }
- },
- "323c8817-404f-11e5-877d-e53327a933d0": {
- "id": "323c8817-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [29000, 33000], "end": [28000, 33000], "width": 250, "height": 100 }
- },
- "323c8818-404f-11e5-877d-e53327a933d0": {
- "id": "323c8818-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [28000, 33000], "end": [28000, 27000], "width": 250, "height": 100 }
- },
- "323caf20-404f-11e5-877d-e53327a933d0": {
- "id": "323caf20-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 12000], "end": [46000, 2000], "width": 250, "height": 100 }
- },
- "323caf21-404f-11e5-877d-e53327a933d0": {
- "id": "323caf21-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 13000], "end": [49000, 13000], "width": 250, "height": 100 }
- },
- "323caf22-404f-11e5-877d-e53327a933d0": {
- "id": "323caf22-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 13000], "end": [49000, 2000], "width": 250, "height": 100 }
- },
- "323caf23-404f-11e5-877d-e53327a933d0": {
- "id": "323caf23-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 14000], "end": [52000, 14000], "width": 250, "height": 100 }
- },
- "323caf24-404f-11e5-877d-e53327a933d0": {
- "id": "323caf24-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52000, 14000], "end": [52000, 2000], "width": 250, "height": 100 }
- },
- "323cd630-404f-11e5-877d-e53327a933d0": {
- "id": "323cd630-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 15000], "end": [55000, 15000], "width": 250, "height": 100 }
- },
- "323cfd40-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd40-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 15000], "end": [55000, 2000], "width": 250, "height": 100 }
- },
- "323cfd41-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd41-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 16000], "end": [58000, 16000], "width": 250, "height": 100 }
- },
- "323cfd42-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd42-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58000, 16000], "end": [58000, 2000], "width": 250, "height": 100 }
- },
- "323cfd43-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd43-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 33000], "end": [46000, 44000], "width": 250, "height": 100 }
- },
- "323cfd44-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd44-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 32000], "end": [49000, 32000], "width": 250, "height": 100 }
- },
- "323cfd45-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd45-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [49000, 32000], "end": [49000, 44000], "width": 250, "height": 100 }
- },
- "323cfd46-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd46-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 31000], "end": [52000, 31000], "width": 250, "height": 100 }
- },
- "323cfd47-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd47-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [52000, 31000], "end": [52000, 44000], "width": 250, "height": 100 }
- },
- "323cfd48-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd48-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 30000], "end": [55000, 30000], "width": 250, "height": 100 }
- },
- "323cfd49-404f-11e5-877d-e53327a933d0": {
- "id": "323cfd49-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [55000, 30000], "end": [55000, 44000], "width": 250, "height": 100 }
- },
- "323d2450-404f-11e5-877d-e53327a933d0": {
- "id": "323d2450-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 19000], "end": [61000, 19000], "width": 250, "height": 100 }
- },
- "323d2451-404f-11e5-877d-e53327a933d0": {
- "id": "323d2451-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 20000], "end": [62000, 20000], "width": 250, "height": 100 }
- },
- "323d2452-404f-11e5-877d-e53327a933d0": {
- "id": "323d2452-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 12000], "end": [41000, 12000], "width": 250, "height": 100 }
- },
- "323d2453-404f-11e5-877d-e53327a933d0": {
- "id": "323d2453-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 13000], "end": [41000, 13000], "width": 250, "height": 100 }
- },
- "323d2454-404f-11e5-877d-e53327a933d0": {
- "id": "323d2454-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [44000, 14000], "end": [41000, 14000], "width": 250, "height": 100 }
- },
- "323d2455-404f-11e5-877d-e53327a933d0": {
- "id": "323d2455-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 15000], "end": [44000, 15000], "width": 250, "height": 100 }
- },
- "323d2456-404f-11e5-877d-e53327a933d0": {
- "id": "323d2456-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 16000], "end": [44000, 16000], "width": 250, "height": 100 }
- },
- "323d2457-404f-11e5-877d-e53327a933d0": {
- "id": "323d2457-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 16500], "end": [42000, 17600], "width": 250, "height": 100 }
- },
- "323d4b60-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b60-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 17600], "end": [42000, 18000], "width": 250, "height": 100 }
- },
- "323d4b61-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b61-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 18000], "end": [60000, 18000], "width": 250, "height": 100 }
- },
- "323d4b62-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b62-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 18000], "end": [60000, 5000], "width": 250, "height": 100 }
- },
- "323d4b63-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b63-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 5000], "end": [70000, 5000], "width": 250, "height": 100 }
- },
- "323d4b64-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b64-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 19000], "end": [61000, 8000], "width": 250, "height": 100 }
- },
- "323d4b65-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b65-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 8000], "end": [70000, 8000], "width": 250, "height": 100 }
- },
- "323d4b66-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b66-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 20000], "end": [62000, 11000], "width": 250, "height": 100 }
- },
- "323d4b67-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b67-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 11000], "end": [70000, 11000], "width": 250, "height": 100 }
- },
- "323d4b68-404f-11e5-877d-e53327a933d0": {
- "id": "323d4b68-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 22000], "end": [63000, 22000], "width": 250, "height": 100 }
- },
- "323d7270-404f-11e5-877d-e53327a933d0": {
- "id": "323d7270-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 22000], "end": [63000, 14000], "width": 250, "height": 100 }
- },
- "323d7271-404f-11e5-877d-e53327a933d0": {
- "id": "323d7271-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 14000], "end": [70000, 14000], "width": 250, "height": 100 }
- },
- "323d7272-404f-11e5-877d-e53327a933d0": {
- "id": "323d7272-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 23000], "end": [63000, 23000], "width": 250, "height": 100 }
- },
- "323d7273-404f-11e5-877d-e53327a933d0": {
- "id": "323d7273-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 27500], "end": [42000, 27100], "width": 250, "height": 100 }
- },
- "323d7274-404f-11e5-877d-e53327a933d0": {
- "id": "323d7274-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 27100], "end": [42000, 27000], "width": 250, "height": 100 }
- },
- "323d7275-404f-11e5-877d-e53327a933d0": {
- "id": "323d7275-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 25000], "end": [60000, 25000], "width": 250, "height": 100 }
- },
- "323d7276-404f-11e5-877d-e53327a933d0": {
- "id": "323d7276-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 27000], "end": [60000, 27000], "width": 250, "height": 100 }
- },
- "323d9980-404f-11e5-877d-e53327a933d0": {
- "id": "323d9980-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [39000, 29000], "end": [41000, 29000], "width": 250, "height": 100 }
- },
- "323d9981-404f-11e5-877d-e53327a933d0": {
- "id": "323d9981-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [41000, 29000], "end": [46000, 29000], "width": 250, "height": 100 }
- },
- "323d9982-404f-11e5-877d-e53327a933d0": {
- "id": "323d9982-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [42000, 27500], "end": [42000, 28500], "width": 250, "height": 100 }
- },
- "323d9983-404f-11e5-877d-e53327a933d0": {
- "id": "323d9983-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 26000], "end": [60000, 26000], "width": 250, "height": 100 }
- },
- "323d9984-404f-11e5-877d-e53327a933d0": {
- "id": "323d9984-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [46000, 29000], "end": [58000, 29000], "width": 250, "height": 100 }
- },
- "323d9985-404f-11e5-877d-e53327a933d0": {
- "id": "323d9985-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [58000, 29000], "end": [58000, 44000], "width": 250, "height": 100 }
- },
- "323d9986-404f-11e5-877d-e53327a933d0": {
- "id": "323d9986-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 27000], "end": [60000, 41000], "width": 250, "height": 100 }
- },
- "323d9987-404f-11e5-877d-e53327a933d0": {
- "id": "323d9987-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 41000], "end": [70000, 41000], "width": 250, "height": 100 }
- },
- "323dc090-404f-11e5-877d-e53327a933d0": {
- "id": "323dc090-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 26000], "end": [61000, 26000], "width": 250, "height": 100 }
- },
- "323dc091-404f-11e5-877d-e53327a933d0": {
- "id": "323dc091-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 26000], "end": [61000, 38000], "width": 250, "height": 100 }
- },
- "323dc092-404f-11e5-877d-e53327a933d0": {
- "id": "323dc092-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [61000, 38000], "end": [70000, 38000], "width": 250, "height": 100 }
- },
- "323dc093-404f-11e5-877d-e53327a933d0": {
- "id": "323dc093-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [60000, 25000], "end": [62000, 25000], "width": 250, "height": 100 }
- },
- "323dc094-404f-11e5-877d-e53327a933d0": {
- "id": "323dc094-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 25000], "end": [62000, 35000], "width": 250, "height": 100 }
- },
- "323dc095-404f-11e5-877d-e53327a933d0": {
- "id": "323dc095-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [62000, 35000], "end": [70000, 35000], "width": 250, "height": 100 }
- },
- "323de7a0-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a0-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 23000], "end": [63000, 32000], "width": 250, "height": 100 }
- },
- "323de7a1-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a1-404f-11e5-877d-e53327a933d0",
- "name": "New Channel",
- "type": "Channel",
- "params": { "start": [63000, 32000], "end": [70000, 32000], "width": 250, "height": 100 }
- },
- "323de7a2-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [46000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323de7a3-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a3-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [49000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323de7a4-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a4-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [52000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323de7a5-404f-11e5-877d-e53327a933d0": {
- "id": "323de7a5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [55000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb0-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb0-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [58000, 2000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb1-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb1-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 5000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb2-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 8000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb3-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb3-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 11000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb4-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb4-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 14000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb5-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 32000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb6-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb6-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 35000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e0eb7-404f-11e5-877d-e53327a933d0": {
- "id": "323e0eb7-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 38000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c0-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c0-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [70000, 41000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c1-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c1-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [58000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c2-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c2-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [55000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c3-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c3-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [52000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c4-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c4-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [49000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c5-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c5-404f-11e5-877d-e53327a933d0",
- "name": "New Port",
- "type": "Port",
- "params": { "position": [46000, 44000], "radius1": 700, "radius2": 700, "height": 100 }
- },
- "323e35c6-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c6-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [8900, 4000], "end": [9100, 6000], "borderWidth": 410, "height": 100 }
- },
- "323e35c7-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c7-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [7900, 9000], "end": [8100, 11000], "borderWidth": 410, "height": 100 }
- },
- "323e35c8-404f-11e5-877d-e53327a933d0": {
- "id": "323e35c8-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [8900, 14000], "end": [9100, 16000], "borderWidth": 410, "height": 100 }
- },
- "323e5cd0-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd0-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [7900, 19000], "end": [8100, 21000], "borderWidth": 410, "height": 100 }
- },
- "323e5cd1-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd1-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [8900, 24000], "end": [9100, 26000], "borderWidth": 410, "height": 100 }
- },
- "323e5cd2-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd2-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [7900, 29000], "end": [8100, 31000], "borderWidth": 410, "height": 100 }
- },
- "323e5cd3-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd3-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [8900, 34000], "end": [9100, 36000], "borderWidth": 410, "height": 100 }
- },
- "323e5cd4-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd4-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [7900, 39000], "end": [8100, 40900], "borderWidth": 410, "height": 100 }
- },
- "323e5cd5-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd5-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [10900, 36500], "end": [11100, 38500], "borderWidth": 410, "height": 100 }
- },
- "323e5cd6-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd6-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [13900, 31500], "end": [14100, 33400], "borderWidth": 410, "height": 100 }
- },
- "323e5cd7-404f-11e5-877d-e53327a933d0": {
- "id": "323e5cd7-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [22900, 33000], "end": [23100, 35000], "borderWidth": 410, "height": 100 }
- },
- "323e83e0-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e0-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11900, 26500], "end": [12100, 28500], "borderWidth": 410, "height": 100 }
- },
- "323e83e1-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e1-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [10900, 16500], "end": [11100, 18400], "borderWidth": 410, "height": 100 }
- },
- "323e83e2-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e2-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [13900, 11600], "end": [14100, 13600], "borderWidth": 410, "height": 100 }
- },
- "323e83e3-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e3-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [11900, 6500], "end": [12100, 8500], "borderWidth": 410, "height": 100 }
- },
- "323e83e4-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e4-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [23900, 21500], "end": [24100, 23600], "borderWidth": 410, "height": 100 }
- },
- "323e83e5-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e5-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [27900, 27000], "end": [28100, 29000], "borderWidth": 410, "height": 100 }
- },
- "323e83e6-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e6-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 32100], "end": [31000, 31900], "borderWidth": 410, "height": 100 }
- },
- "323e83e7-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e7-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [39000, 29100], "end": [41000, 28900], "borderWidth": 410, "height": 100 }
- },
- "323e83e8-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e8-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [42100, 26900], "end": [41900, 28500], "borderWidth": 410, "height": 100 }
- },
- "323e83e9-404f-11e5-877d-e53327a933d0": {
- "id": "323e83e9-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [33900, 24900], "end": [36000, 25100], "borderWidth": 410, "height": 100 }
- },
- "323eaaf0-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf0-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 25900], "end": [31000, 26100], "borderWidth": 410, "height": 100 }
- },
- "323eaaf1-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf1-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [33100, 23500], "end": [32900, 21600], "borderWidth": 410, "height": 100 }
- },
- "323eaaf2-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf2-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [35900, 21600], "end": [36100, 23500], "borderWidth": 410, "height": 100 }
- },
- "323eaaf3-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf3-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [22900, 12000], "end": [23100, 10000], "borderWidth": 410, "height": 100 }
- },
- "323eaaf4-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf4-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [28100, 18000], "end": [27900, 16000], "borderWidth": 410, "height": 100 }
- },
- "323eaaf5-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf5-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 19100], "end": [31000, 18900], "borderWidth": 410, "height": 100 }
- },
- "323eaaf6-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf6-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [32900, 18000], "end": [33100, 16000], "borderWidth": 410, "height": 100 }
- },
- "323eaaf7-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf7-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [29000, 13100], "end": [31000, 12900], "borderWidth": 410, "height": 100 }
- },
- "323eaaf8-404f-11e5-877d-e53327a933d0": {
- "id": "323eaaf8-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [36900, 16000], "end": [37100, 18000], "borderWidth": 410, "height": 100 }
- },
- "323ed200-404f-11e5-877d-e53327a933d0": {
- "id": "323ed200-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [39000, 16100], "end": [41000, 15900], "borderWidth": 410, "height": 100 }
- },
- "323ed201-404f-11e5-877d-e53327a933d0": {
- "id": "323ed201-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [41900, 16500], "end": [42000, 18000], "borderWidth": 410, "height": 100 }
- },
- "38159240-404f-11e5-877d-e53327a933d0": {
- "id": "38159240-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [32900, 27000], "end": [33100, 29000], "borderWidth": 410, "height": 100 }
- },
- "39f06cc0-404f-11e5-877d-e53327a933d0": {
- "id": "39f06cc0-404f-11e5-877d-e53327a933d0",
- "name": "New Chamber",
- "type": "Chamber",
- "params": { "start": [35900, 27000], "end": [36100, 29000], "borderWidth": 410, "height": 100 }
- }
- }
- }
- ],
- "groups": [],
- "defaults": {}
-}
diff --git a/dist/favicon.ico b/favicon.ico
similarity index 100%
rename from dist/favicon.ico
rename to favicon.ico
diff --git a/dist/fonts/Roboto-Black.313a6563.woff b/fonts/Roboto-Black.313a6563.woff
similarity index 100%
rename from dist/fonts/Roboto-Black.313a6563.woff
rename to fonts/Roboto-Black.313a6563.woff
diff --git a/dist/fonts/Roboto-Black.59eb3601.woff2 b/fonts/Roboto-Black.59eb3601.woff2
similarity index 100%
rename from dist/fonts/Roboto-Black.59eb3601.woff2
rename to fonts/Roboto-Black.59eb3601.woff2
diff --git a/dist/fonts/Roboto-BlackItalic.cc2fadc3.woff b/fonts/Roboto-BlackItalic.cc2fadc3.woff
similarity index 100%
rename from dist/fonts/Roboto-BlackItalic.cc2fadc3.woff
rename to fonts/Roboto-BlackItalic.cc2fadc3.woff
diff --git a/dist/fonts/Roboto-BlackItalic.f75569f8.woff2 b/fonts/Roboto-BlackItalic.f75569f8.woff2
similarity index 100%
rename from dist/fonts/Roboto-BlackItalic.f75569f8.woff2
rename to fonts/Roboto-BlackItalic.f75569f8.woff2
diff --git a/dist/fonts/Roboto-Bold.50d75e48.woff b/fonts/Roboto-Bold.50d75e48.woff
similarity index 100%
rename from dist/fonts/Roboto-Bold.50d75e48.woff
rename to fonts/Roboto-Bold.50d75e48.woff
diff --git a/dist/fonts/Roboto-Bold.b52fac2b.woff2 b/fonts/Roboto-Bold.b52fac2b.woff2
similarity index 100%
rename from dist/fonts/Roboto-Bold.b52fac2b.woff2
rename to fonts/Roboto-Bold.b52fac2b.woff2
diff --git a/dist/fonts/Roboto-BoldItalic.4fe0f73c.woff b/fonts/Roboto-BoldItalic.4fe0f73c.woff
similarity index 100%
rename from dist/fonts/Roboto-BoldItalic.4fe0f73c.woff
rename to fonts/Roboto-BoldItalic.4fe0f73c.woff
diff --git a/dist/fonts/Roboto-BoldItalic.94008e69.woff2 b/fonts/Roboto-BoldItalic.94008e69.woff2
similarity index 100%
rename from dist/fonts/Roboto-BoldItalic.94008e69.woff2
rename to fonts/Roboto-BoldItalic.94008e69.woff2
diff --git a/dist/fonts/Roboto-Light.c73eb1ce.woff b/fonts/Roboto-Light.c73eb1ce.woff
similarity index 100%
rename from dist/fonts/Roboto-Light.c73eb1ce.woff
rename to fonts/Roboto-Light.c73eb1ce.woff
diff --git a/dist/fonts/Roboto-Light.d26871e8.woff2 b/fonts/Roboto-Light.d26871e8.woff2
similarity index 100%
rename from dist/fonts/Roboto-Light.d26871e8.woff2
rename to fonts/Roboto-Light.d26871e8.woff2
diff --git a/dist/fonts/Roboto-LightItalic.13efe6cb.woff b/fonts/Roboto-LightItalic.13efe6cb.woff
similarity index 100%
rename from dist/fonts/Roboto-LightItalic.13efe6cb.woff
rename to fonts/Roboto-LightItalic.13efe6cb.woff
diff --git a/dist/fonts/Roboto-LightItalic.e8eaae90.woff2 b/fonts/Roboto-LightItalic.e8eaae90.woff2
similarity index 100%
rename from dist/fonts/Roboto-LightItalic.e8eaae90.woff2
rename to fonts/Roboto-LightItalic.e8eaae90.woff2
diff --git a/dist/fonts/Roboto-Medium.1d659482.woff b/fonts/Roboto-Medium.1d659482.woff
similarity index 100%
rename from dist/fonts/Roboto-Medium.1d659482.woff
rename to fonts/Roboto-Medium.1d659482.woff
diff --git a/dist/fonts/Roboto-Medium.90d16760.woff2 b/fonts/Roboto-Medium.90d16760.woff2
similarity index 100%
rename from dist/fonts/Roboto-Medium.90d16760.woff2
rename to fonts/Roboto-Medium.90d16760.woff2
diff --git a/dist/fonts/Roboto-MediumItalic.13ec0eb5.woff2 b/fonts/Roboto-MediumItalic.13ec0eb5.woff2
similarity index 100%
rename from dist/fonts/Roboto-MediumItalic.13ec0eb5.woff2
rename to fonts/Roboto-MediumItalic.13ec0eb5.woff2
diff --git a/dist/fonts/Roboto-MediumItalic.83e114c3.woff b/fonts/Roboto-MediumItalic.83e114c3.woff
similarity index 100%
rename from dist/fonts/Roboto-MediumItalic.83e114c3.woff
rename to fonts/Roboto-MediumItalic.83e114c3.woff
diff --git a/dist/fonts/Roboto-Regular.35b07eb2.woff b/fonts/Roboto-Regular.35b07eb2.woff
similarity index 100%
rename from dist/fonts/Roboto-Regular.35b07eb2.woff
rename to fonts/Roboto-Regular.35b07eb2.woff
diff --git a/dist/fonts/Roboto-Regular.73f0a88b.woff2 b/fonts/Roboto-Regular.73f0a88b.woff2
similarity index 100%
rename from dist/fonts/Roboto-Regular.73f0a88b.woff2
rename to fonts/Roboto-Regular.73f0a88b.woff2
diff --git a/dist/fonts/Roboto-RegularItalic.4357beb8.woff2 b/fonts/Roboto-RegularItalic.4357beb8.woff2
similarity index 100%
rename from dist/fonts/Roboto-RegularItalic.4357beb8.woff2
rename to fonts/Roboto-RegularItalic.4357beb8.woff2
diff --git a/dist/fonts/Roboto-RegularItalic.f5902d5e.woff b/fonts/Roboto-RegularItalic.f5902d5e.woff
similarity index 100%
rename from dist/fonts/Roboto-RegularItalic.f5902d5e.woff
rename to fonts/Roboto-RegularItalic.f5902d5e.woff
diff --git a/dist/fonts/Roboto-Thin.ad538a69.woff2 b/fonts/Roboto-Thin.ad538a69.woff2
similarity index 100%
rename from dist/fonts/Roboto-Thin.ad538a69.woff2
rename to fonts/Roboto-Thin.ad538a69.woff2
diff --git a/dist/fonts/Roboto-Thin.d3b47375.woff b/fonts/Roboto-Thin.d3b47375.woff
similarity index 100%
rename from dist/fonts/Roboto-Thin.d3b47375.woff
rename to fonts/Roboto-Thin.d3b47375.woff
diff --git a/dist/fonts/Roboto-ThinItalic.5b4a33e1.woff2 b/fonts/Roboto-ThinItalic.5b4a33e1.woff2
similarity index 100%
rename from dist/fonts/Roboto-ThinItalic.5b4a33e1.woff2
rename to fonts/Roboto-ThinItalic.5b4a33e1.woff2
diff --git a/dist/fonts/Roboto-ThinItalic.8a96edbb.woff b/fonts/Roboto-ThinItalic.8a96edbb.woff
similarity index 100%
rename from dist/fonts/Roboto-ThinItalic.8a96edbb.woff
rename to fonts/Roboto-ThinItalic.8a96edbb.woff
diff --git a/dist/fonts/materialdesignicons-webfont.147e3378.woff b/fonts/materialdesignicons-webfont.147e3378.woff
similarity index 100%
rename from dist/fonts/materialdesignicons-webfont.147e3378.woff
rename to fonts/materialdesignicons-webfont.147e3378.woff
diff --git a/dist/fonts/materialdesignicons-webfont.174c02fc.ttf b/fonts/materialdesignicons-webfont.174c02fc.ttf
similarity index 100%
rename from dist/fonts/materialdesignicons-webfont.174c02fc.ttf
rename to fonts/materialdesignicons-webfont.174c02fc.ttf
diff --git a/dist/fonts/materialdesignicons-webfont.64d4cf64.eot b/fonts/materialdesignicons-webfont.64d4cf64.eot
similarity index 100%
rename from dist/fonts/materialdesignicons-webfont.64d4cf64.eot
rename to fonts/materialdesignicons-webfont.64d4cf64.eot
diff --git a/dist/fonts/materialdesignicons-webfont.7a44ea19.woff2 b/fonts/materialdesignicons-webfont.7a44ea19.woff2
similarity index 100%
rename from dist/fonts/materialdesignicons-webfont.7a44ea19.woff2
rename to fonts/materialdesignicons-webfont.7a44ea19.woff2
diff --git a/dist/img/3DuF_favicon_large.svg b/img/3DuF_favicon_large.svg
similarity index 100%
rename from dist/img/3DuF_favicon_large.svg
rename to img/3DuF_favicon_large.svg
diff --git a/dist/img/3DuF_placeholder_logo.png b/img/3DuF_placeholder_logo.png
similarity index 100%
rename from dist/img/3DuF_placeholder_logo.png
rename to img/3DuF_placeholder_logo.png
diff --git a/dist/img/3DuF_placeholder_png.png b/img/3DuF_placeholder_png.png
similarity index 100%
rename from dist/img/3DuF_placeholder_png.png
rename to img/3DuF_placeholder_png.png
diff --git a/dist/img/3DuF_placeholder_svg.svg b/img/3DuF_placeholder_svg.svg
similarity index 100%
rename from dist/img/3DuF_placeholder_svg.svg
rename to img/3DuF_placeholder_svg.svg
diff --git a/dist/img/CHANNEL.6ac8d4e3.png b/img/CHANNEL.6ac8d4e3.png
similarity index 100%
rename from dist/img/CHANNEL.6ac8d4e3.png
rename to img/CHANNEL.6ac8d4e3.png
diff --git a/dist/img/cidar_logo.png b/img/cidar_logo.png
similarity index 100%
rename from dist/img/cidar_logo.png
rename to img/cidar_logo.png
diff --git a/dist/img/favicon_large.png b/img/favicon_large.png
similarity index 100%
rename from dist/img/favicon_large.png
rename to img/favicon_large.png
diff --git a/dist/img/logo.png b/img/logo.png
similarity index 100%
rename from dist/img/logo.png
rename to img/logo.png
diff --git a/dist/index.html b/index.html
similarity index 100%
rename from dist/index.html
rename to index.html
diff --git a/dist/index2.html b/index2.html
similarity index 100%
rename from dist/index2.html
rename to index2.html
diff --git a/dist/js/app.5e0ea8c0.js b/js/app.5e0ea8c0.js
similarity index 100%
rename from dist/js/app.5e0ea8c0.js
rename to js/app.5e0ea8c0.js
diff --git a/dist/js/app.5e0ea8c0.js.map b/js/app.5e0ea8c0.js.map
similarity index 100%
rename from dist/js/app.5e0ea8c0.js.map
rename to js/app.5e0ea8c0.js.map
diff --git a/dist/js/chunk-vendors.68475a27.js b/js/chunk-vendors.68475a27.js
similarity index 100%
rename from dist/js/chunk-vendors.68475a27.js
rename to js/chunk-vendors.68475a27.js
diff --git a/dist/js/chunk-vendors.68475a27.js.map b/js/chunk-vendors.68475a27.js.map
similarity index 100%
rename from dist/js/chunk-vendors.68475a27.js.map
rename to js/chunk-vendors.68475a27.js.map
diff --git a/lib/bootstrap/bootstrap-theme.min.css b/lib/bootstrap/bootstrap-theme.min.css
deleted file mode 100644
index 61358b13..00000000
--- a/lib/bootstrap/bootstrap-theme.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
\ No newline at end of file
diff --git a/lib/bootstrap/bootstrap.min.css b/lib/bootstrap/bootstrap.min.css
deleted file mode 100644
index d65c66b1..00000000
--- a/lib/bootstrap/bootstrap.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.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}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/lib/bootstrap/bootstrap.min.js b/lib/bootstrap/bootstrap.min.js
deleted file mode 100644
index 133aeecb..00000000
--- a/lib/bootstrap/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/lib/canvas_rendering/canvasrenderer.js b/lib/canvas_rendering/canvasrenderer.js
deleted file mode 100644
index 2beb2601..00000000
--- a/lib/canvas_rendering/canvasrenderer.js
+++ /dev/null
@@ -1,1098 +0,0 @@
-/**
- * @author mrdoob / http://mrdoob.com/
- */
-
-THREE.SpriteCanvasMaterial = function ( parameters ) {
-
- THREE.Material.call( this );
-
- this.type = 'SpriteCanvasMaterial';
-
- this.color = new THREE.Color( 0xffffff );
- this.program = function ( context, color ) {};
-
- this.setValues( parameters );
-
-};
-
-THREE.SpriteCanvasMaterial.prototype = Object.create( THREE.Material.prototype );
-THREE.SpriteCanvasMaterial.prototype.constructor = THREE.SpriteCanvasMaterial;
-
-THREE.SpriteCanvasMaterial.prototype.clone = function () {
-
- var material = new THREE.SpriteCanvasMaterial();
-
- THREE.Material.prototype.clone.call( this, material );
-
- material.color.copy( this.color );
- material.program = this.program;
-
- return material;
-
-};
-
-//
-
-THREE.CanvasRenderer = function ( parameters ) {
-
- console.log( 'THREE.CanvasRenderer', THREE.REVISION );
-
- var smoothstep = THREE.Math.smoothstep;
-
- parameters = parameters || {};
-
- var _this = this,
- _renderData, _elements, _lights,
- _projector = new THREE.Projector(),
-
- _canvas = parameters.canvas !== undefined
- ? parameters.canvas
- : document.createElement( 'canvas' ),
-
- _canvasWidth = _canvas.width,
- _canvasHeight = _canvas.height,
- _canvasWidthHalf = Math.floor( _canvasWidth / 2 ),
- _canvasHeightHalf = Math.floor( _canvasHeight / 2 ),
-
- _viewportX = 0,
- _viewportY = 0,
- _viewportWidth = _canvasWidth,
- _viewportHeight = _canvasHeight,
-
- pixelRatio = 1,
-
- _context = _canvas.getContext( '2d', {
- alpha: parameters.alpha === true
- } ),
-
- _clearColor = new THREE.Color( 0x000000 ),
- _clearAlpha = parameters.alpha === true ? 0 : 1,
-
- _contextGlobalAlpha = 1,
- _contextGlobalCompositeOperation = 0,
- _contextStrokeStyle = null,
- _contextFillStyle = null,
- _contextLineWidth = null,
- _contextLineCap = null,
- _contextLineJoin = null,
- _contextLineDash = [],
-
- _camera,
-
- _v1, _v2, _v3, _v4,
- _v5 = new THREE.RenderableVertex(),
- _v6 = new THREE.RenderableVertex(),
-
- _v1x, _v1y, _v2x, _v2y, _v3x, _v3y,
- _v4x, _v4y, _v5x, _v5y, _v6x, _v6y,
-
- _color = new THREE.Color(),
- _color1 = new THREE.Color(),
- _color2 = new THREE.Color(),
- _color3 = new THREE.Color(),
- _color4 = new THREE.Color(),
-
- _diffuseColor = new THREE.Color(),
- _emissiveColor = new THREE.Color(),
-
- _lightColor = new THREE.Color(),
-
- _patterns = {},
-
- _image, _uvs,
- _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y,
-
- _clipBox = new THREE.Box2(),
- _clearBox = new THREE.Box2(),
- _elemBox = new THREE.Box2(),
-
- _ambientLight = new THREE.Color(),
- _directionalLights = new THREE.Color(),
- _pointLights = new THREE.Color(),
-
- _vector3 = new THREE.Vector3(), // Needed for PointLight
- _centroid = new THREE.Vector3(),
- _normal = new THREE.Vector3(),
- _normalViewMatrix = new THREE.Matrix3();
-
- // dash+gap fallbacks for Firefox and everything else
-
- if ( _context.setLineDash === undefined ) {
-
- _context.setLineDash = function () {}
-
- }
-
- this.domElement = _canvas;
-
- this.autoClear = true;
- this.sortObjects = true;
- this.sortElements = true;
-
- this.info = {
-
- render: {
-
- vertices: 0,
- faces: 0
-
- }
-
- }
-
- // WebGLRenderer compatibility
-
- this.supportsVertexTextures = function () {};
- this.setFaceCulling = function () {};
-
- //
-
- this.getPixelRatio = function () {
-
- return pixelRatio;
-
- };
-
- this.setPixelRatio = function ( value ) {
-
- pixelRatio = value;
-
- };
-
- this.setSize = function ( width, height, updateStyle ) {
-
- _canvasWidth = width * pixelRatio;
- _canvasHeight = height * pixelRatio;
-
- _canvas.width = _canvasWidth;
- _canvas.height = _canvasHeight;
-
- _canvasWidthHalf = Math.floor( _canvasWidth / 2 );
- _canvasHeightHalf = Math.floor( _canvasHeight / 2 );
-
- if ( updateStyle !== false ) {
-
- _canvas.style.width = width + 'px';
- _canvas.style.height = height + 'px';
-
- }
-
- _clipBox.min.set( -_canvasWidthHalf, -_canvasHeightHalf ),
- _clipBox.max.set( _canvasWidthHalf, _canvasHeightHalf );
-
- _clearBox.min.set( - _canvasWidthHalf, - _canvasHeightHalf );
- _clearBox.max.set( _canvasWidthHalf, _canvasHeightHalf );
-
- _contextGlobalAlpha = 1;
- _contextGlobalCompositeOperation = 0;
- _contextStrokeStyle = null;
- _contextFillStyle = null;
- _contextLineWidth = null;
- _contextLineCap = null;
- _contextLineJoin = null;
-
- this.setViewport( 0, 0, width, height );
-
- };
-
- this.setViewport = function ( x, y, width, height ) {
-
- _viewportX = x * pixelRatio;
- _viewportY = y * pixelRatio;
-
- _viewportWidth = width * pixelRatio;
- _viewportHeight = height * pixelRatio;
-
- };
-
- this.setScissor = function () {};
- this.enableScissorTest = function () {};
-
- this.setClearColor = function ( color, alpha ) {
-
- _clearColor.set( color );
- _clearAlpha = alpha !== undefined ? alpha : 1;
-
- _clearBox.min.set( - _canvasWidthHalf, - _canvasHeightHalf );
- _clearBox.max.set( _canvasWidthHalf, _canvasHeightHalf );
-
- };
-
- this.setClearColorHex = function ( hex, alpha ) {
-
- console.warn( 'THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.' );
- this.setClearColor( hex, alpha );
-
- };
-
- this.getClearColor = function () {
-
- return _clearColor;
-
- };
-
- this.getClearAlpha = function () {
-
- return _clearAlpha;
-
- };
-
- this.getMaxAnisotropy = function () {
-
- return 0;
-
- };
-
- this.clear = function () {
-
- if ( _clearBox.empty() === false ) {
-
- _clearBox.intersect( _clipBox );
- _clearBox.expandByScalar( 2 );
-
- _clearBox.min.x = _clearBox.min.x + _canvasWidthHalf;
- _clearBox.min.y = - _clearBox.min.y + _canvasHeightHalf; // higher y value !
- _clearBox.max.x = _clearBox.max.x + _canvasWidthHalf;
- _clearBox.max.y = - _clearBox.max.y + _canvasHeightHalf; // lower y value !
-
- if ( _clearAlpha < 1 ) {
-
- _context.clearRect(
- _clearBox.min.x | 0,
- _clearBox.max.y | 0,
- ( _clearBox.max.x - _clearBox.min.x ) | 0,
- ( _clearBox.min.y - _clearBox.max.y ) | 0
- );
-
- }
-
- if ( _clearAlpha > 0 ) {
-
- setBlending( THREE.NormalBlending );
- setOpacity( 1 );
-
- setFillStyle( 'rgba(' + Math.floor( _clearColor.r * 255 ) + ',' + Math.floor( _clearColor.g * 255 ) + ',' + Math.floor( _clearColor.b * 255 ) + ',' + _clearAlpha + ')' );
-
- _context.fillRect(
- _clearBox.min.x | 0,
- _clearBox.max.y | 0,
- ( _clearBox.max.x - _clearBox.min.x ) | 0,
- ( _clearBox.min.y - _clearBox.max.y ) | 0
- );
-
- }
-
- _clearBox.makeEmpty();
-
- }
-
- };
-
- // compatibility
-
- this.clearColor = function () {};
- this.clearDepth = function () {};
- this.clearStencil = function () {};
-
- this.render = function ( scene, camera ) {
-
- if ( camera instanceof THREE.Camera === false ) {
-
- console.error( 'THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.' );
- return;
-
- }
-
- if ( this.autoClear === true ) this.clear();
-
- _this.info.render.vertices = 0;
- _this.info.render.faces = 0;
-
- _context.setTransform( _viewportWidth / _canvasWidth, 0, 0, - _viewportHeight / _canvasHeight, _viewportX, _canvasHeight - _viewportY );
- _context.translate( _canvasWidthHalf, _canvasHeightHalf );
-
- _renderData = _projector.projectScene( scene, camera, this.sortObjects, this.sortElements );
- _elements = _renderData.elements;
- _lights = _renderData.lights;
- _camera = camera;
-
- _normalViewMatrix.getNormalMatrix( camera.matrixWorldInverse );
-
- /* DEBUG
- setFillStyle( 'rgba( 0, 255, 255, 0.5 )' );
- _context.fillRect( _clipBox.min.x, _clipBox.min.y, _clipBox.max.x - _clipBox.min.x, _clipBox.max.y - _clipBox.min.y );
- */
-
- calculateLights();
-
- for ( var e = 0, el = _elements.length; e < el; e ++ ) {
-
- var element = _elements[ e ];
-
- var material = element.material;
-
- if ( material === undefined || material.opacity === 0 ) continue;
-
- _elemBox.makeEmpty();
-
- if ( element instanceof THREE.RenderableSprite ) {
-
- _v1 = element;
- _v1.x *= _canvasWidthHalf; _v1.y *= _canvasHeightHalf;
-
- renderSprite( _v1, element, material );
-
- } else if ( element instanceof THREE.RenderableLine ) {
-
- _v1 = element.v1; _v2 = element.v2;
-
- _v1.positionScreen.x *= _canvasWidthHalf; _v1.positionScreen.y *= _canvasHeightHalf;
- _v2.positionScreen.x *= _canvasWidthHalf; _v2.positionScreen.y *= _canvasHeightHalf;
-
- _elemBox.setFromPoints( [
- _v1.positionScreen,
- _v2.positionScreen
- ] );
-
- if ( _clipBox.isIntersectionBox( _elemBox ) === true ) {
-
- renderLine( _v1, _v2, element, material );
-
- }
-
- } else if ( element instanceof THREE.RenderableFace ) {
-
- _v1 = element.v1; _v2 = element.v2; _v3 = element.v3;
-
- if ( _v1.positionScreen.z < - 1 || _v1.positionScreen.z > 1 ) continue;
- if ( _v2.positionScreen.z < - 1 || _v2.positionScreen.z > 1 ) continue;
- if ( _v3.positionScreen.z < - 1 || _v3.positionScreen.z > 1 ) continue;
-
- _v1.positionScreen.x *= _canvasWidthHalf; _v1.positionScreen.y *= _canvasHeightHalf;
- _v2.positionScreen.x *= _canvasWidthHalf; _v2.positionScreen.y *= _canvasHeightHalf;
- _v3.positionScreen.x *= _canvasWidthHalf; _v3.positionScreen.y *= _canvasHeightHalf;
-
- if ( material.overdraw > 0 ) {
-
- expand( _v1.positionScreen, _v2.positionScreen, material.overdraw );
- expand( _v2.positionScreen, _v3.positionScreen, material.overdraw );
- expand( _v3.positionScreen, _v1.positionScreen, material.overdraw );
-
- }
-
- _elemBox.setFromPoints( [
- _v1.positionScreen,
- _v2.positionScreen,
- _v3.positionScreen
- ] );
-
- if ( _clipBox.isIntersectionBox( _elemBox ) === true ) {
-
- renderFace3( _v1, _v2, _v3, 0, 1, 2, element, material );
-
- }
-
- }
-
- /* DEBUG
- setLineWidth( 1 );
- setStrokeStyle( 'rgba( 0, 255, 0, 0.5 )' );
- _context.strokeRect( _elemBox.min.x, _elemBox.min.y, _elemBox.max.x - _elemBox.min.x, _elemBox.max.y - _elemBox.min.y );
- */
-
- _clearBox.union( _elemBox );
-
- }
-
- /* DEBUG
- setLineWidth( 1 );
- setStrokeStyle( 'rgba( 255, 0, 0, 0.5 )' );
- _context.strokeRect( _clearBox.min.x, _clearBox.min.y, _clearBox.max.x - _clearBox.min.x, _clearBox.max.y - _clearBox.min.y );
- */
-
- _context.setTransform( 1, 0, 0, 1, 0, 0 );
-
- };
-
- //
-
- function calculateLights() {
-
- _ambientLight.setRGB( 0, 0, 0 );
- _directionalLights.setRGB( 0, 0, 0 );
- _pointLights.setRGB( 0, 0, 0 );
-
- for ( var l = 0, ll = _lights.length; l < ll; l ++ ) {
-
- var light = _lights[ l ];
- var lightColor = light.color;
-
- if ( light instanceof THREE.AmbientLight ) {
-
- _ambientLight.add( lightColor );
-
- } else if ( light instanceof THREE.DirectionalLight ) {
-
- // for sprites
-
- _directionalLights.add( lightColor );
-
- } else if ( light instanceof THREE.PointLight ) {
-
- // for sprites
-
- _pointLights.add( lightColor );
-
- }
-
- }
-
- }
-
- function calculateLight( position, normal, color ) {
-
- for ( var l = 0, ll = _lights.length; l < ll; l ++ ) {
-
- var light = _lights[ l ];
-
- _lightColor.copy( light.color );
-
- if ( light instanceof THREE.DirectionalLight ) {
-
- var lightPosition = _vector3.setFromMatrixPosition( light.matrixWorld ).normalize();
-
- var amount = normal.dot( lightPosition );
-
- if ( amount <= 0 ) continue;
-
- amount *= light.intensity;
-
- color.add( _lightColor.multiplyScalar( amount ) );
-
- } else if ( light instanceof THREE.PointLight ) {
-
- var lightPosition = _vector3.setFromMatrixPosition( light.matrixWorld );
-
- var amount = normal.dot( _vector3.subVectors( lightPosition, position ).normalize() );
-
- if ( amount <= 0 ) continue;
-
- amount *= light.distance == 0 ? 1 : 1 - Math.min( position.distanceTo( lightPosition ) / light.distance, 1 );
-
- if ( amount == 0 ) continue;
-
- amount *= light.intensity;
-
- color.add( _lightColor.multiplyScalar( amount ) );
-
- }
-
- }
-
- }
-
- function renderSprite( v1, element, material ) {
-
- setOpacity( material.opacity );
- setBlending( material.blending );
-
- var scaleX = element.scale.x * _canvasWidthHalf;
- var scaleY = element.scale.y * _canvasHeightHalf;
-
- var dist = 0.5 * Math.sqrt( scaleX * scaleX + scaleY * scaleY ); // allow for rotated sprite
- _elemBox.min.set( v1.x - dist, v1.y - dist );
- _elemBox.max.set( v1.x + dist, v1.y + dist );
-
- if ( material instanceof THREE.SpriteMaterial ) {
-
- var texture = material.map;
-
- if ( texture !== null && texture.image !== undefined ) {
-
- if ( texture.hasEventListener( 'update', onTextureUpdate ) === false ) {
-
- if ( texture.image.width > 0 ) {
-
- textureToPattern( texture );
-
- }
-
- texture.addEventListener( 'update', onTextureUpdate );
-
- }
-
- var pattern = _patterns[ texture.id ];
-
- if ( pattern !== undefined ) {
-
- setFillStyle( pattern );
-
- } else {
-
- setFillStyle( 'rgba( 0, 0, 0, 1 )' );
-
- }
-
- //
-
- var bitmap = texture.image;
-
- var ox = bitmap.width * texture.offset.x;
- var oy = bitmap.height * texture.offset.y;
-
- var sx = bitmap.width * texture.repeat.x;
- var sy = bitmap.height * texture.repeat.y;
-
- var cx = scaleX / sx;
- var cy = scaleY / sy;
-
- _context.save();
- _context.translate( v1.x, v1.y );
- if ( material.rotation !== 0 ) _context.rotate( material.rotation );
- _context.translate( - scaleX / 2, - scaleY / 2 );
- _context.scale( cx, cy );
- _context.translate( - ox, - oy );
- _context.fillRect( ox, oy, sx, sy );
- _context.restore();
-
- } else {
-
- // no texture
-
- setFillStyle( material.color.getStyle() );
-
- _context.save();
- _context.translate( v1.x, v1.y );
- if ( material.rotation !== 0 ) _context.rotate( material.rotation );
- _context.scale( scaleX, - scaleY );
- _context.fillRect( - 0.5, - 0.5, 1, 1 );
- _context.restore();
-
- }
-
- } else if ( material instanceof THREE.SpriteCanvasMaterial ) {
-
- setStrokeStyle( material.color.getStyle() );
- setFillStyle( material.color.getStyle() );
-
- _context.save();
- _context.translate( v1.x, v1.y );
- if ( material.rotation !== 0 ) _context.rotate( material.rotation );
- _context.scale( scaleX, scaleY );
-
- material.program( _context );
-
- _context.restore();
-
- }
-
- /* DEBUG
- setStrokeStyle( 'rgb(255,255,0)' );
- _context.beginPath();
- _context.moveTo( v1.x - 10, v1.y );
- _context.lineTo( v1.x + 10, v1.y );
- _context.moveTo( v1.x, v1.y - 10 );
- _context.lineTo( v1.x, v1.y + 10 );
- _context.stroke();
- */
-
- }
-
- function renderLine( v1, v2, element, material ) {
-
- setOpacity( material.opacity );
- setBlending( material.blending );
-
- _context.beginPath();
- _context.moveTo( v1.positionScreen.x, v1.positionScreen.y );
- _context.lineTo( v2.positionScreen.x, v2.positionScreen.y );
-
- if ( material instanceof THREE.LineBasicMaterial ) {
-
- setLineWidth( material.linewidth );
- setLineCap( material.linecap );
- setLineJoin( material.linejoin );
-
- if ( material.vertexColors !== THREE.VertexColors ) {
-
- setStrokeStyle( material.color.getStyle() );
-
- } else {
-
- var colorStyle1 = element.vertexColors[ 0 ].getStyle();
- var colorStyle2 = element.vertexColors[ 1 ].getStyle();
-
- if ( colorStyle1 === colorStyle2 ) {
-
- setStrokeStyle( colorStyle1 );
-
- } else {
-
- try {
-
- var grad = _context.createLinearGradient(
- v1.positionScreen.x,
- v1.positionScreen.y,
- v2.positionScreen.x,
- v2.positionScreen.y
- );
- grad.addColorStop( 0, colorStyle1 );
- grad.addColorStop( 1, colorStyle2 );
-
- } catch ( exception ) {
-
- grad = colorStyle1;
-
- }
-
- setStrokeStyle( grad );
-
- }
-
- }
-
- _context.stroke();
- _elemBox.expandByScalar( material.linewidth * 2 );
-
- } else if ( material instanceof THREE.LineDashedMaterial ) {
-
- setLineWidth( material.linewidth );
- setLineCap( material.linecap );
- setLineJoin( material.linejoin );
- setStrokeStyle( material.color.getStyle() );
- setLineDash( [ material.dashSize, material.gapSize ] );
-
- _context.stroke();
-
- _elemBox.expandByScalar( material.linewidth * 2 );
-
- setLineDash( [] );
-
- }
-
- }
-
- function renderFace3( v1, v2, v3, uv1, uv2, uv3, element, material ) {
-
- _this.info.render.vertices += 3;
- _this.info.render.faces ++;
-
- setOpacity( material.opacity );
- setBlending( material.blending );
-
- _v1x = v1.positionScreen.x; _v1y = v1.positionScreen.y;
- _v2x = v2.positionScreen.x; _v2y = v2.positionScreen.y;
- _v3x = v3.positionScreen.x; _v3y = v3.positionScreen.y;
-
- drawTriangle( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y );
-
- if ( ( material instanceof THREE.MeshLambertMaterial || material instanceof THREE.MeshPhongMaterial ) && material.map === null ) {
-
- _diffuseColor.copy( material.color );
- _emissiveColor.copy( material.emissive );
-
- if ( material.vertexColors === THREE.FaceColors ) {
-
- _diffuseColor.multiply( element.color );
-
- }
-
- _color.copy( _ambientLight );
-
- _centroid.copy( v1.positionWorld ).add( v2.positionWorld ).add( v3.positionWorld ).divideScalar( 3 );
-
- calculateLight( _centroid, element.normalModel, _color );
-
- _color.multiply( _diffuseColor ).add( _emissiveColor );
-
- material.wireframe === true
- ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
- : fillPath( _color );
-
- } else if ( material instanceof THREE.MeshBasicMaterial ||
- material instanceof THREE.MeshLambertMaterial ||
- material instanceof THREE.MeshPhongMaterial ) {
-
- if ( material.map !== null ) {
-
- var mapping = material.map.mapping;
-
- if ( mapping === THREE.UVMapping ) {
-
- _uvs = element.uvs;
- patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uvs[ uv1 ].x, _uvs[ uv1 ].y, _uvs[ uv2 ].x, _uvs[ uv2 ].y, _uvs[ uv3 ].x, _uvs[ uv3 ].y, material.map );
-
- }
-
- } else if ( material.envMap !== null ) {
-
- if ( material.envMap.mapping === THREE.SphericalReflectionMapping ) {
-
- _normal.copy( element.vertexNormalsModel[ uv1 ] ).applyMatrix3( _normalViewMatrix );
- _uv1x = 0.5 * _normal.x + 0.5;
- _uv1y = 0.5 * _normal.y + 0.5;
-
- _normal.copy( element.vertexNormalsModel[ uv2 ] ).applyMatrix3( _normalViewMatrix );
- _uv2x = 0.5 * _normal.x + 0.5;
- _uv2y = 0.5 * _normal.y + 0.5;
-
- _normal.copy( element.vertexNormalsModel[ uv3 ] ).applyMatrix3( _normalViewMatrix );
- _uv3x = 0.5 * _normal.x + 0.5;
- _uv3y = 0.5 * _normal.y + 0.5;
-
- patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y, material.envMap );
-
- }
-
- } else {
-
- _color.copy( material.color );
-
- if ( material.vertexColors === THREE.FaceColors ) {
-
- _color.multiply( element.color );
-
- }
-
- material.wireframe === true
- ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
- : fillPath( _color );
-
- }
-
- } else if ( material instanceof THREE.MeshDepthMaterial ) {
-
- _color.r = _color.g = _color.b = 1 - smoothstep( v1.positionScreen.z * v1.positionScreen.w, _camera.near, _camera.far );
-
- material.wireframe === true
- ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
- : fillPath( _color );
-
- } else if ( material instanceof THREE.MeshNormalMaterial ) {
-
- _normal.copy( element.normalModel ).applyMatrix3( _normalViewMatrix );
-
- _color.setRGB( _normal.x, _normal.y, _normal.z ).multiplyScalar( 0.5 ).addScalar( 0.5 );
-
- material.wireframe === true
- ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
- : fillPath( _color );
-
- } else {
-
- _color.setRGB( 1, 1, 1 );
-
- material.wireframe === true
- ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin )
- : fillPath( _color );
-
- }
-
- }
-
- //
-
- function drawTriangle( x0, y0, x1, y1, x2, y2 ) {
-
- _context.beginPath();
- _context.moveTo( x0, y0 );
- _context.lineTo( x1, y1 );
- _context.lineTo( x2, y2 );
- _context.closePath();
-
- }
-
- function strokePath( color, linewidth, linecap, linejoin ) {
-
- setLineWidth( linewidth );
- setLineCap( linecap );
- setLineJoin( linejoin );
- setStrokeStyle( color.getStyle() );
-
- _context.stroke();
-
- _elemBox.expandByScalar( linewidth * 2 );
-
- }
-
- function fillPath( color ) {
-
- setFillStyle( color.getStyle() );
- _context.fill();
-
- }
-
- function onTextureUpdate ( event ) {
-
- textureToPattern( event.target );
-
- }
-
- function textureToPattern( texture ) {
-
- if ( texture instanceof THREE.CompressedTexture ) return;
-
- var repeatX = texture.wrapS === THREE.RepeatWrapping;
- var repeatY = texture.wrapT === THREE.RepeatWrapping;
-
- var image = texture.image;
-
- var canvas = document.createElement( 'canvas' );
- canvas.width = image.width;
- canvas.height = image.height;
-
- var context = canvas.getContext( '2d' );
- context.setTransform( 1, 0, 0, - 1, 0, image.height );
- context.drawImage( image, 0, 0 );
-
- _patterns[ texture.id ] = _context.createPattern(
- canvas, repeatX === true && repeatY === true
- ? 'repeat'
- : repeatX === true && repeatY === false
- ? 'repeat-x'
- : repeatX === false && repeatY === true
- ? 'repeat-y'
- : 'no-repeat'
- );
-
- }
-
- function patternPath( x0, y0, x1, y1, x2, y2, u0, v0, u1, v1, u2, v2, texture ) {
-
- if ( texture instanceof THREE.DataTexture ) return;
-
- if ( texture.hasEventListener( 'update', onTextureUpdate ) === false ) {
-
- if ( texture.image !== undefined && texture.image.width > 0 ) {
-
- textureToPattern( texture );
-
- }
-
- texture.addEventListener( 'update', onTextureUpdate );
-
- }
-
- var pattern = _patterns[ texture.id ];
-
- if ( pattern !== undefined ) {
-
- setFillStyle( pattern );
-
- } else {
-
- setFillStyle( 'rgba(0,0,0,1)' );
- _context.fill();
-
- return;
-
- }
-
- // http://extremelysatisfactorytotalitarianism.com/blog/?p=2120
-
- var a, b, c, d, e, f, det, idet,
- offsetX = texture.offset.x / texture.repeat.x,
- offsetY = texture.offset.y / texture.repeat.y,
- width = texture.image.width * texture.repeat.x,
- height = texture.image.height * texture.repeat.y;
-
- u0 = ( u0 + offsetX ) * width;
- v0 = ( v0 + offsetY ) * height;
-
- u1 = ( u1 + offsetX ) * width;
- v1 = ( v1 + offsetY ) * height;
-
- u2 = ( u2 + offsetX ) * width;
- v2 = ( v2 + offsetY ) * height;
-
- x1 -= x0; y1 -= y0;
- x2 -= x0; y2 -= y0;
-
- u1 -= u0; v1 -= v0;
- u2 -= u0; v2 -= v0;
-
- det = u1 * v2 - u2 * v1;
-
- if ( det === 0 ) return;
-
- idet = 1 / det;
-
- a = ( v2 * x1 - v1 * x2 ) * idet;
- b = ( v2 * y1 - v1 * y2 ) * idet;
- c = ( u1 * x2 - u2 * x1 ) * idet;
- d = ( u1 * y2 - u2 * y1 ) * idet;
-
- e = x0 - a * u0 - c * v0;
- f = y0 - b * u0 - d * v0;
-
- _context.save();
- _context.transform( a, b, c, d, e, f );
- _context.fill();
- _context.restore();
-
- }
-
- function clipImage( x0, y0, x1, y1, x2, y2, u0, v0, u1, v1, u2, v2, image ) {
-
- // http://extremelysatisfactorytotalitarianism.com/blog/?p=2120
-
- var a, b, c, d, e, f, det, idet,
- width = image.width - 1,
- height = image.height - 1;
-
- u0 *= width; v0 *= height;
- u1 *= width; v1 *= height;
- u2 *= width; v2 *= height;
-
- x1 -= x0; y1 -= y0;
- x2 -= x0; y2 -= y0;
-
- u1 -= u0; v1 -= v0;
- u2 -= u0; v2 -= v0;
-
- det = u1 * v2 - u2 * v1;
-
- idet = 1 / det;
-
- a = ( v2 * x1 - v1 * x2 ) * idet;
- b = ( v2 * y1 - v1 * y2 ) * idet;
- c = ( u1 * x2 - u2 * x1 ) * idet;
- d = ( u1 * y2 - u2 * y1 ) * idet;
-
- e = x0 - a * u0 - c * v0;
- f = y0 - b * u0 - d * v0;
-
- _context.save();
- _context.transform( a, b, c, d, e, f );
- _context.clip();
- _context.drawImage( image, 0, 0 );
- _context.restore();
-
- }
-
- // Hide anti-alias gaps
-
- function expand( v1, v2, pixels ) {
-
- var x = v2.x - v1.x, y = v2.y - v1.y,
- det = x * x + y * y, idet;
-
- if ( det === 0 ) return;
-
- idet = pixels / Math.sqrt( det );
-
- x *= idet; y *= idet;
-
- v2.x += x; v2.y += y;
- v1.x -= x; v1.y -= y;
-
- }
-
- // Context cached methods.
-
- function setOpacity( value ) {
-
- if ( _contextGlobalAlpha !== value ) {
-
- _context.globalAlpha = value;
- _contextGlobalAlpha = value;
-
- }
-
- }
-
- function setBlending( value ) {
-
- if ( _contextGlobalCompositeOperation !== value ) {
-
- if ( value === THREE.NormalBlending ) {
-
- _context.globalCompositeOperation = 'source-over';
-
- } else if ( value === THREE.AdditiveBlending ) {
-
- _context.globalCompositeOperation = 'lighter';
-
- } else if ( value === THREE.SubtractiveBlending ) {
-
- _context.globalCompositeOperation = 'darker';
-
- }
-
- _contextGlobalCompositeOperation = value;
-
- }
-
- }
-
- function setLineWidth( value ) {
-
- if ( _contextLineWidth !== value ) {
-
- _context.lineWidth = value;
- _contextLineWidth = value;
-
- }
-
- }
-
- function setLineCap( value ) {
-
- // "butt", "round", "square"
-
- if ( _contextLineCap !== value ) {
-
- _context.lineCap = value;
- _contextLineCap = value;
-
- }
-
- }
-
- function setLineJoin( value ) {
-
- // "round", "bevel", "miter"
-
- if ( _contextLineJoin !== value ) {
-
- _context.lineJoin = value;
- _contextLineJoin = value;
-
- }
-
- }
-
- function setStrokeStyle( value ) {
-
- if ( _contextStrokeStyle !== value ) {
-
- _context.strokeStyle = value;
- _contextStrokeStyle = value;
-
- }
-
- }
-
- function setFillStyle( value ) {
-
- if ( _contextFillStyle !== value ) {
-
- _context.fillStyle = value;
- _contextFillStyle = value;
-
- }
-
- }
-
- function setLineDash( value ) {
-
- if ( _contextLineDash.length !== value.length ) {
-
- _context.setLineDash( value );
- _contextLineDash = value;
-
- }
-
- }
-
-};
diff --git a/lib/canvas_rendering/jquery-2.1.3.min.js b/lib/canvas_rendering/jquery-2.1.3.min.js
deleted file mode 100644
index 25714ed2..00000000
--- a/lib/canvas_rendering/jquery-2.1.3.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML=" ",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML=" ","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML=" ",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)
-},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
-},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec=/#.*$/,fc=/([?&])_=[^&]*/,gc=/^(.*?):[ \t]*([^\r\n]*)$/gm,hc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ic=/^(?:GET|HEAD)$/,jc=/^\/\//,kc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lc={},mc={},nc="*/".concat("*"),oc=a.location.href,pc=kc.exec(oc.toLowerCase())||[];function qc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rc(a,b,c,d){var e={},f=a===mc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function uc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:oc,type:"GET",isLocal:hc.test(pc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sc(sc(a,n.ajaxSettings),b):sc(n.ajaxSettings,a)},ajaxPrefilter:qc(lc),ajaxTransport:qc(mc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gc.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||oc)+"").replace(ec,"").replace(jc,pc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pc[1]&&h[2]===pc[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pc[3]||("http:"===pc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rc(lc,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ic.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fc.test(d)?d.replace(fc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rc(mc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tc(k,v,f)),u=uc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vc=/%20/g,wc=/\[\]$/,xc=/\r?\n/g,yc=/^(?:submit|button|image|reset|file)$/i,zc=/^(?:input|select|textarea|keygen)/i;function Ac(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wc.test(a)?d(a,e):Ac(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ac(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ac(c,a[c],b,e);return d.join("&").replace(vc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zc.test(this.nodeName)&&!yc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xc,"\r\n")}}):{name:b.name,value:c.replace(xc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bc=0,Cc={},Dc={0:200,1223:204},Ec=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cc)Cc[a]()}),k.cors=!!Ec&&"withCredentials"in Ec,k.ajax=Ec=!!Ec,n.ajaxTransport(function(a){var b;return k.cors||Ec&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Dc[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("
-
-
-
-
-
-
-
- 3DuF
-
-
-
-
-
-
- We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
- Please enable it to continue.
-
-
-
-
-
-
-
-
-
-
-