From b61697055af0fea40eddce62a7e2eb9cd6f687df Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Fri, 30 Jan 2015 13:21:51 -0500 Subject: [PATCH] Removing gulp dependency, making file hierarchy easier to understand. --- browser/main.js | 13 +- deps | 10 + .../clearsans-bold-webfont.ttf | Bin .../clearsans-bolditalic-webfont.ttf | Bin .../clearsans-italic-webfont.ttf | Bin .../clearsans-light-webfont.ttf | Bin .../clearsans-medium-webfont.ttf | Bin .../clearsans-mediumitalic-webfont.ttf | Bin .../clearsans-regular-webfont.ttf | Bin .../clearsans-thin-webfont.ttf | Bin {app/fonts => fonts}/streamline-24px.eot | Bin {app/fonts => fonts}/streamline-24px.svg | 0 {app/fonts => fonts}/streamline-24px.ttf | Bin {app/fonts => fonts}/streamline-24px.woff | Bin gulpfile.js | 204 - {app/images => images}/close.png | Bin {app/images => images}/close@2x.png | Bin .../downloading-arrow-white.png | Bin .../downloading-arrow-white@2x.png | Bin {app/images => images}/downloading-arrow.png | Bin .../downloading-arrow@2x.png | Bin {app/images => images}/downloading-white.png | Bin .../downloading-white@2x.png | Bin {app/images => images}/downloading.png | Bin {app/images => images}/downloading@2x.png | Bin {app/images => images}/error.png | Bin {app/images => images}/error@2x.png | Bin {app/images => images}/fullscreen.png | Bin {app/images => images}/fullscreen@2x.png | Bin {app/images => images}/fullscreenclose.png | Bin {app/images => images}/loading.png | Bin {app/images => images}/loading@2x.png | Bin {app/images => images}/minimize.png | Bin {app/images => images}/minimize@2x.png | Bin {app/images => images}/official.png | Bin {app/images => images}/official@2x.png | Bin {app/images => images}/paused.png | Bin {app/images => images}/paused@2x.png | Bin {app/images => images}/restarting.png | Bin {app/images => images}/restarting@2x.png | Bin {app/images => images}/roundedcontainer.png | Bin .../images => images}/roundedcontainer@2x.png | Bin {app/images => images}/running-white.png | Bin {app/images => images}/running-white@2x.png | Bin {app/images => images}/running.png | Bin {app/images => images}/running@2x.png | Bin {app/images => images}/runningwave-white.png | Bin .../runningwave-white@2x.png | Bin {app/images => images}/runningwave.png | Bin {app/images => images}/runningwave@2x.png | Bin {app/images => images}/still-white.png | Bin {app/images => images}/still-white@2x.png | Bin {app/images => images}/stopped-white.png | Bin {app/images => images}/stopped-white@2x.png | Bin {app/images => images}/stopped.png | Bin {app/images => images}/stopped@2x.png | Bin {app/images => images}/wavy-white.png | Bin {app/images => images}/wavy-white@2x.png | Bin app/index.html => index.html | 1 + package.json | 44 +- release | 35 + specs/App-spec.js | 11 - specs/specs.html | 9 - {app => src}/ContainerDetails.react.js | 3 +- .../ContainerDetailsSettings.react.js | 0 {app => src}/ContainerList.react.js | 0 {app => src}/ContainerModal.react.js | 0 {app => src}/ContainerStore.js | 14 +- {app => src}/ContainerUtil.js | 0 {app => src}/Containers.react.js | 0 {app => src}/Header.react.js | 0 {app => src}/Menu.js | 0 {app => src}/NoContainers.react.js | 0 {app => src}/Preferences.react.js | 0 {app => src}/Radial.react.js | 0 {app => src}/Setup.react.js | 0 {app => src}/boot2docker.js | 0 {app => src}/docker.js | 0 {app => src}/main.js | 8 - {app => src}/registry.js | 0 {app => src}/router.js | 0 {app => src}/routes.js | 0 {app => src}/util.js | 0 {app => src}/virtualbox.js | 6 +- {app/styles => styles}/bootstrap/alerts.less | 0 {app/styles => styles}/bootstrap/badges.less | 0 .../bootstrap/bootstrap.less | 0 .../bootstrap/breadcrumbs.less | 0 .../bootstrap/button-groups.less | 0 {app/styles => styles}/bootstrap/buttons.less | 0 .../styles => styles}/bootstrap/carousel.less | 0 {app/styles => styles}/bootstrap/close.less | 0 {app/styles => styles}/bootstrap/code.less | 0 .../bootstrap/component-animations.less | 0 .../bootstrap/dropdowns.less | 0 {app/styles => styles}/bootstrap/forms.less | 0 .../bootstrap/glyphicons.less | 0 {app/styles => styles}/bootstrap/grid.less | 0 .../bootstrap/input-groups.less | 0 .../bootstrap/jumbotron.less | 0 {app/styles => styles}/bootstrap/labels.less | 0 .../bootstrap/list-group.less | 0 {app/styles => styles}/bootstrap/media.less | 0 {app/styles => styles}/bootstrap/mixins.less | 0 .../bootstrap/mixins/alerts.less | 0 .../bootstrap/mixins/background-variant.less | 0 .../bootstrap/mixins/border-radius.less | 0 .../bootstrap/mixins/buttons.less | 0 .../bootstrap/mixins/center-block.less | 0 .../bootstrap/mixins/clearfix.less | 0 .../bootstrap/mixins/forms.less | 0 .../bootstrap/mixins/gradients.less | 0 .../bootstrap/mixins/grid-framework.less | 0 .../bootstrap/mixins/grid.less | 0 .../bootstrap/mixins/hide-text.less | 0 .../bootstrap/mixins/image.less | 0 .../bootstrap/mixins/labels.less | 0 .../bootstrap/mixins/list-group.less | 0 .../bootstrap/mixins/nav-divider.less | 0 .../bootstrap/mixins/nav-vertical-align.less | 0 .../bootstrap/mixins/opacity.less | 0 .../bootstrap/mixins/pagination.less | 0 .../bootstrap/mixins/panels.less | 0 .../bootstrap/mixins/progress-bar.less | 0 .../bootstrap/mixins/reset-filter.less | 0 .../bootstrap/mixins/resize.less | 0 .../mixins/responsive-visibility.less | 0 .../bootstrap/mixins/size.less | 0 .../bootstrap/mixins/tab-focus.less | 0 .../bootstrap/mixins/table-row.less | 0 .../bootstrap/mixins/text-emphasis.less | 0 .../bootstrap/mixins/text-overflow.less | 0 .../bootstrap/mixins/vendor-prefixes.less | 0 {app/styles => styles}/bootstrap/modals.less | 0 {app/styles => styles}/bootstrap/navbar.less | 0 {app/styles => styles}/bootstrap/navs.less | 0 .../bootstrap/normalize.less | 0 {app/styles => styles}/bootstrap/pager.less | 0 .../bootstrap/pagination.less | 0 {app/styles => styles}/bootstrap/panels.less | 0 .../styles => styles}/bootstrap/popovers.less | 0 {app/styles => styles}/bootstrap/print.less | 0 .../bootstrap/progress-bars.less | 0 .../bootstrap/responsive-embed.less | 0 .../bootstrap/responsive-utilities.less | 0 .../bootstrap/scaffolding.less | 0 {app/styles => styles}/bootstrap/tables.less | 0 {app/styles => styles}/bootstrap/theme.less | 0 .../bootstrap/thumbnails.less | 0 {app/styles => styles}/bootstrap/tooltip.less | 0 {app/styles => styles}/bootstrap/type.less | 0 .../bootstrap/utilities.less | 0 .../bootstrap/variables.less | 0 {app/styles => styles}/bootstrap/wells.less | 0 {app/styles => styles}/clearsans.less | 0 {app/styles => styles}/container-modal.less | 0 {app/styles => styles}/containers.less | 0 {app/styles => styles}/header.less | 0 {app/styles => styles}/icons.less | 0 {app/styles => styles}/main.less | 1 + {app/styles => styles}/preferences.less | 0 {app/styles => styles}/radial.less | 0 {app/styles => styles}/retina.less | 0 {app/styles => styles}/setup.less | 0 {app/styles => styles}/theme.less | 0 {app/styles => styles}/variables.less | 0 test.css | 14019 ++++++++++++++++ vendor/jasmine-2.1.3/boot.js | 120 - vendor/jasmine-2.1.3/console.js | 190 - vendor/jasmine-2.1.3/jasmine-html.js | 404 - vendor/jasmine-2.1.3/jasmine.css | 62 - vendor/jasmine-2.1.3/jasmine.js | 2908 ---- vendor/jasmine-2.1.3/jasmine_favicon.png | Bin 1486 -> 0 bytes 173 files changed, 14093 insertions(+), 3969 deletions(-) rename {app/fonts => fonts}/clearsans-bold-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-bolditalic-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-italic-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-light-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-medium-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-mediumitalic-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-regular-webfont.ttf (100%) rename {app/fonts => fonts}/clearsans-thin-webfont.ttf (100%) rename {app/fonts => fonts}/streamline-24px.eot (100%) rename {app/fonts => fonts}/streamline-24px.svg (100%) rename {app/fonts => fonts}/streamline-24px.ttf (100%) rename {app/fonts => fonts}/streamline-24px.woff (100%) delete mode 100644 gulpfile.js rename {app/images => images}/close.png (100%) rename {app/images => images}/close@2x.png (100%) rename {app/images => images}/downloading-arrow-white.png (100%) rename {app/images => images}/downloading-arrow-white@2x.png (100%) rename {app/images => images}/downloading-arrow.png (100%) rename {app/images => images}/downloading-arrow@2x.png (100%) rename {app/images => images}/downloading-white.png (100%) rename {app/images => images}/downloading-white@2x.png (100%) rename {app/images => images}/downloading.png (100%) rename {app/images => images}/downloading@2x.png (100%) rename {app/images => images}/error.png (100%) rename {app/images => images}/error@2x.png (100%) rename {app/images => images}/fullscreen.png (100%) rename {app/images => images}/fullscreen@2x.png (100%) rename {app/images => images}/fullscreenclose.png (100%) rename {app/images => images}/loading.png (100%) rename {app/images => images}/loading@2x.png (100%) rename {app/images => images}/minimize.png (100%) rename {app/images => images}/minimize@2x.png (100%) rename {app/images => images}/official.png (100%) rename {app/images => images}/official@2x.png (100%) rename {app/images => images}/paused.png (100%) rename {app/images => images}/paused@2x.png (100%) rename {app/images => images}/restarting.png (100%) rename {app/images => images}/restarting@2x.png (100%) rename {app/images => images}/roundedcontainer.png (100%) rename {app/images => images}/roundedcontainer@2x.png (100%) rename {app/images => images}/running-white.png (100%) rename {app/images => images}/running-white@2x.png (100%) rename {app/images => images}/running.png (100%) rename {app/images => images}/running@2x.png (100%) rename {app/images => images}/runningwave-white.png (100%) rename {app/images => images}/runningwave-white@2x.png (100%) rename {app/images => images}/runningwave.png (100%) rename {app/images => images}/runningwave@2x.png (100%) rename {app/images => images}/still-white.png (100%) rename {app/images => images}/still-white@2x.png (100%) rename {app/images => images}/stopped-white.png (100%) rename {app/images => images}/stopped-white@2x.png (100%) rename {app/images => images}/stopped.png (100%) rename {app/images => images}/stopped@2x.png (100%) rename {app/images => images}/wavy-white.png (100%) rename {app/images => images}/wavy-white@2x.png (100%) rename app/index.html => index.html (83%) create mode 100755 release delete mode 100644 specs/App-spec.js delete mode 100644 specs/specs.html rename {app => src}/ContainerDetails.react.js (99%) rename {app => src}/ContainerDetailsSettings.react.js (100%) rename {app => src}/ContainerList.react.js (100%) rename {app => src}/ContainerModal.react.js (100%) rename {app => src}/ContainerStore.js (98%) rename {app => src}/ContainerUtil.js (100%) rename {app => src}/Containers.react.js (100%) rename {app => src}/Header.react.js (100%) rename {app => src}/Menu.js (100%) rename {app => src}/NoContainers.react.js (100%) rename {app => src}/Preferences.react.js (100%) rename {app => src}/Radial.react.js (100%) rename {app => src}/Setup.react.js (100%) rename {app => src}/boot2docker.js (100%) rename {app => src}/docker.js (100%) rename {app => src}/main.js (83%) rename {app => src}/registry.js (100%) rename {app => src}/router.js (100%) rename {app => src}/routes.js (100%) rename {app => src}/util.js (100%) rename {app => src}/virtualbox.js (88%) rename {app/styles => styles}/bootstrap/alerts.less (100%) rename {app/styles => styles}/bootstrap/badges.less (100%) rename {app/styles => styles}/bootstrap/bootstrap.less (100%) rename {app/styles => styles}/bootstrap/breadcrumbs.less (100%) rename {app/styles => styles}/bootstrap/button-groups.less (100%) rename {app/styles => styles}/bootstrap/buttons.less (100%) rename {app/styles => styles}/bootstrap/carousel.less (100%) rename {app/styles => styles}/bootstrap/close.less (100%) rename {app/styles => styles}/bootstrap/code.less (100%) rename {app/styles => styles}/bootstrap/component-animations.less (100%) rename {app/styles => styles}/bootstrap/dropdowns.less (100%) rename {app/styles => styles}/bootstrap/forms.less (100%) rename {app/styles => styles}/bootstrap/glyphicons.less (100%) rename {app/styles => styles}/bootstrap/grid.less (100%) rename {app/styles => styles}/bootstrap/input-groups.less (100%) rename {app/styles => styles}/bootstrap/jumbotron.less (100%) rename {app/styles => styles}/bootstrap/labels.less (100%) rename {app/styles => styles}/bootstrap/list-group.less (100%) rename {app/styles => styles}/bootstrap/media.less (100%) rename {app/styles => styles}/bootstrap/mixins.less (100%) rename {app/styles => styles}/bootstrap/mixins/alerts.less (100%) rename {app/styles => styles}/bootstrap/mixins/background-variant.less (100%) rename {app/styles => styles}/bootstrap/mixins/border-radius.less (100%) rename {app/styles => styles}/bootstrap/mixins/buttons.less (100%) rename {app/styles => styles}/bootstrap/mixins/center-block.less (100%) rename {app/styles => styles}/bootstrap/mixins/clearfix.less (100%) rename {app/styles => styles}/bootstrap/mixins/forms.less (100%) rename {app/styles => styles}/bootstrap/mixins/gradients.less (100%) rename {app/styles => styles}/bootstrap/mixins/grid-framework.less (100%) rename {app/styles => styles}/bootstrap/mixins/grid.less (100%) rename {app/styles => styles}/bootstrap/mixins/hide-text.less (100%) rename {app/styles => styles}/bootstrap/mixins/image.less (100%) rename {app/styles => styles}/bootstrap/mixins/labels.less (100%) rename {app/styles => styles}/bootstrap/mixins/list-group.less (100%) rename {app/styles => styles}/bootstrap/mixins/nav-divider.less (100%) rename {app/styles => styles}/bootstrap/mixins/nav-vertical-align.less (100%) rename {app/styles => styles}/bootstrap/mixins/opacity.less (100%) rename {app/styles => styles}/bootstrap/mixins/pagination.less (100%) rename {app/styles => styles}/bootstrap/mixins/panels.less (100%) rename {app/styles => styles}/bootstrap/mixins/progress-bar.less (100%) rename {app/styles => styles}/bootstrap/mixins/reset-filter.less (100%) rename {app/styles => styles}/bootstrap/mixins/resize.less (100%) rename {app/styles => styles}/bootstrap/mixins/responsive-visibility.less (100%) rename {app/styles => styles}/bootstrap/mixins/size.less (100%) rename {app/styles => styles}/bootstrap/mixins/tab-focus.less (100%) rename {app/styles => styles}/bootstrap/mixins/table-row.less (100%) rename {app/styles => styles}/bootstrap/mixins/text-emphasis.less (100%) rename {app/styles => styles}/bootstrap/mixins/text-overflow.less (100%) rename {app/styles => styles}/bootstrap/mixins/vendor-prefixes.less (100%) rename {app/styles => styles}/bootstrap/modals.less (100%) rename {app/styles => styles}/bootstrap/navbar.less (100%) rename {app/styles => styles}/bootstrap/navs.less (100%) rename {app/styles => styles}/bootstrap/normalize.less (100%) rename {app/styles => styles}/bootstrap/pager.less (100%) rename {app/styles => styles}/bootstrap/pagination.less (100%) rename {app/styles => styles}/bootstrap/panels.less (100%) rename {app/styles => styles}/bootstrap/popovers.less (100%) rename {app/styles => styles}/bootstrap/print.less (100%) rename {app/styles => styles}/bootstrap/progress-bars.less (100%) rename {app/styles => styles}/bootstrap/responsive-embed.less (100%) rename {app/styles => styles}/bootstrap/responsive-utilities.less (100%) rename {app/styles => styles}/bootstrap/scaffolding.less (100%) rename {app/styles => styles}/bootstrap/tables.less (100%) rename {app/styles => styles}/bootstrap/theme.less (100%) rename {app/styles => styles}/bootstrap/thumbnails.less (100%) rename {app/styles => styles}/bootstrap/tooltip.less (100%) rename {app/styles => styles}/bootstrap/type.less (100%) rename {app/styles => styles}/bootstrap/utilities.less (100%) rename {app/styles => styles}/bootstrap/variables.less (100%) rename {app/styles => styles}/bootstrap/wells.less (100%) rename {app/styles => styles}/clearsans.less (100%) rename {app/styles => styles}/container-modal.less (100%) rename {app/styles => styles}/containers.less (100%) rename {app/styles => styles}/header.less (100%) rename {app/styles => styles}/icons.less (100%) rename {app/styles => styles}/main.less (99%) rename {app/styles => styles}/preferences.less (100%) rename {app/styles => styles}/radial.less (100%) rename {app/styles => styles}/retina.less (100%) rename {app/styles => styles}/setup.less (100%) rename {app/styles => styles}/theme.less (100%) rename {app/styles => styles}/variables.less (100%) create mode 100644 test.css delete mode 100755 vendor/jasmine-2.1.3/boot.js delete mode 100755 vendor/jasmine-2.1.3/console.js delete mode 100755 vendor/jasmine-2.1.3/jasmine-html.js delete mode 100755 vendor/jasmine-2.1.3/jasmine.css delete mode 100755 vendor/jasmine-2.1.3/jasmine.js delete mode 100755 vendor/jasmine-2.1.3/jasmine_favicon.png diff --git a/browser/main.js b/browser/main.js index 21bec8ecd9..5e86638a0b 100644 --- a/browser/main.js +++ b/browser/main.js @@ -10,12 +10,6 @@ var app = require('app'); var BrowserWindow = require('browser-window'); var ipc = require('ipc'); -var argv = require('minimist')(process.argv); - -if (argv.test) { - console.log('Running tests'); -} - process.env.NODE_PATH = __dirname + '/../node_modules'; process.chdir(path.join(__dirname, '..')); @@ -38,12 +32,7 @@ app.on('ready', function() { mainWindow = new BrowserWindow(windowOptions); mainWindow.hide(); - - if (argv.test) { - mainWindow.loadUrl('file://' + __dirname + '/../build/specs.html'); - } else { - mainWindow.loadUrl('file://' + __dirname + '/../build/index.html'); - } + mainWindow.loadUrl('file://' + __dirname + '/../build/index.html'); process.on('uncaughtException', app.quit); diff --git a/deps b/deps index 059abaf35c..31d4569aa9 100755 --- a/deps +++ b/deps @@ -3,8 +3,18 @@ BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export BOOT2DOCKER_CLI_VERSION=$(node -pe "JSON.parse(process.argv[1])['boot2docker-version']" "$(cat $BASE/package.json)") export BOOT2DOCKER_CLI_VERSION_FILE=boot2docker-$BOOT2DOCKER_CLI_VERSION +export ATOM_SHELL_VERSION=$(node -pe "JSON.parse(process.argv[1])['atom-shell-version']" "$(cat $BASE/package.json)") +export ATOM_SHELL_VERSION_FILE=atom-shell-v$ATOM_SHELL_VERSION-darwin-x64.zip mkdir -p $BASE/cache +pushd $BASE/cache > /dev/null +if [ ! -f $ATOM_SHELL_VERSION_FILE ]; then + echo "-----> Downloading atom-shell..." + rm -rf atom-shell-* + curl -L -o $ATOM_SHELL_VERSION_FILE https://github.com/atom/atom-shell/releases/download/v$ATOM_SHELL_VERSION/atom-shell-v$ATOM_SHELL_VERSION-darwin-x64.zip + unzip $ATOM_SHELL_VERSION_FILE +fi +popd > /dev/null pushd $BASE/resources > /dev/null diff --git a/app/fonts/clearsans-bold-webfont.ttf b/fonts/clearsans-bold-webfont.ttf similarity index 100% rename from app/fonts/clearsans-bold-webfont.ttf rename to fonts/clearsans-bold-webfont.ttf diff --git a/app/fonts/clearsans-bolditalic-webfont.ttf b/fonts/clearsans-bolditalic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-bolditalic-webfont.ttf rename to fonts/clearsans-bolditalic-webfont.ttf diff --git a/app/fonts/clearsans-italic-webfont.ttf b/fonts/clearsans-italic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-italic-webfont.ttf rename to fonts/clearsans-italic-webfont.ttf diff --git a/app/fonts/clearsans-light-webfont.ttf b/fonts/clearsans-light-webfont.ttf similarity index 100% rename from app/fonts/clearsans-light-webfont.ttf rename to fonts/clearsans-light-webfont.ttf diff --git a/app/fonts/clearsans-medium-webfont.ttf b/fonts/clearsans-medium-webfont.ttf similarity index 100% rename from app/fonts/clearsans-medium-webfont.ttf rename to fonts/clearsans-medium-webfont.ttf diff --git a/app/fonts/clearsans-mediumitalic-webfont.ttf b/fonts/clearsans-mediumitalic-webfont.ttf similarity index 100% rename from app/fonts/clearsans-mediumitalic-webfont.ttf rename to fonts/clearsans-mediumitalic-webfont.ttf diff --git a/app/fonts/clearsans-regular-webfont.ttf b/fonts/clearsans-regular-webfont.ttf similarity index 100% rename from app/fonts/clearsans-regular-webfont.ttf rename to fonts/clearsans-regular-webfont.ttf diff --git a/app/fonts/clearsans-thin-webfont.ttf b/fonts/clearsans-thin-webfont.ttf similarity index 100% rename from app/fonts/clearsans-thin-webfont.ttf rename to fonts/clearsans-thin-webfont.ttf diff --git a/app/fonts/streamline-24px.eot b/fonts/streamline-24px.eot similarity index 100% rename from app/fonts/streamline-24px.eot rename to fonts/streamline-24px.eot diff --git a/app/fonts/streamline-24px.svg b/fonts/streamline-24px.svg similarity index 100% rename from app/fonts/streamline-24px.svg rename to fonts/streamline-24px.svg diff --git a/app/fonts/streamline-24px.ttf b/fonts/streamline-24px.ttf similarity index 100% rename from app/fonts/streamline-24px.ttf rename to fonts/streamline-24px.ttf diff --git a/app/fonts/streamline-24px.woff b/fonts/streamline-24px.woff similarity index 100% rename from app/fonts/streamline-24px.woff rename to fonts/streamline-24px.woff diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 7468cada7b..0000000000 --- a/gulpfile.js +++ /dev/null @@ -1,204 +0,0 @@ -var gulp = require('gulp'); -var source = require('vinyl-source-stream'); // Used to stream bundle for further handling -var browserify = require('browserify'); -var watchify = require('watchify'); -var reactify = require('reactify'); -var gulpif = require('gulp-if'); -var uglify = require('gulp-uglifyjs'); -var notify = require('gulp-notify'); -var concat = require('gulp-concat'); -var less = require('gulp-less'); -var livereload = require('gulp-livereload'); -var cssmin = require('gulp-cssmin'); -var imagemin = require('gulp-imagemin'); -var gutil = require('gulp-util'); -var shell = require('gulp-shell'); -var plumber = require('gulp-plumber'); -var sourcemaps = require('gulp-sourcemaps'); -var glob = require('glob'); -var runSequence = require('run-sequence'); -var ecstatic = require('ecstatic'); -var downloadatomshell = require('gulp-download-atom-shell'); -var packagejson = require('./package.json'); -var http = require('http'); -var react = require('gulp-react'); -var fs = require('fs'); - -var dependencies = Object.keys(packagejson.dependencies); -var devDependencies = Object.keys(packagejson.devDependencies); -var options = { - dev: process.argv.indexOf('release') === -1 && process.argv.indexOf('test') === -1, - test: process.argv.indexOf('test') !== -1, - filename: 'Kitematic.app', - name: 'Kitematic' -}; - -gulp.task('js', function () { - gulp.src('./app/**/*.js') - .pipe(plumber(function(error) { - gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - // emit the end event, to properly end the task - this.emit('end'); - })) - .pipe(react()) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('specs', function () { - var bundler = browserify({ - entries: glob.sync('./specs/**/*-spec.js'), - debug: true, // Gives us sourcemapping - transform: [reactify], - cache: {}, packageCache: {}, fullPaths: true // Requirement of watchify - }); - - dependencies.forEach(function (dep) { - bundler.external(dep); - }); - - devDependencies.forEach(function (dep) { - bundler.external(dep); - }); - - bundler.external('./app'); - - bundler.bundle() - .on('error', gutil.log) - .pipe(source('specs.js')) - .pipe(gulp.dest('./build')); - - gulp.src('./specs/specs.html') - .pipe(gulp.dest('./build')); -}); - -gulp.task('images', function() { - return gulp.src('./app/images/*') - .pipe(imagemin({ - progressive: true, - interlaced: true, - svgoPlugins: [{removeViewBox: false}] - })) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('styles', function () { - return gulp.src('app/styles/main.less') - .pipe(plumber(function(error) { - gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message)); - // emit the end event, to properly end the task - this.emit('end'); - })) - .pipe(gulpif(options.dev, sourcemaps.init())) - .pipe(less()) - .pipe(gulpif(options.dev, sourcemaps.write())) - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(!options.dev, cssmin())) - .pipe(concat('main.css')) - .pipe(gulpif(options.dev && !options.test, livereload())); -}); - -gulp.task('download', function (cb) { - downloadatomshell({ - version: packagejson['atom-shell-version'], - outputDir: 'cache' - }, cb); -}); - -gulp.task('copy', function () { - gulp.src('./app/index.html') - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); - - gulp.src('./app/fonts/**') - .pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build')) - .pipe(gulpif(options.dev, livereload())); -}); - -gulp.task('dist', function (cb) { - var stream = gulp.src('').pipe(shell([ - 'rm -Rf ./dist', - 'mkdir -p ./dist/osx', - 'cp -R ./cache/Atom.app ./dist/osx/<%= filename %>', - 'mv ./dist/osx/<%= filename %>/Contents/MacOS/Atom ./dist/osx/<%= filename %>/Contents/MacOS/<%= name %>', - 'mkdir -p ./dist/osx/<%= filename %>/Contents/Resources/app', - 'cp -R browser dist/osx/<%= filename %>/Contents/Resources/app', - 'cp package.json dist/osx/<%= filename %>/Contents/Resources/app/', - 'mkdir -p dist/osx/<%= filename %>/Contents/Resources/app/resources', - 'cp -v resources/* dist/osx/<%= filename %>/Contents/Resources/app/resources/ || :', - 'cp kitematic.icns dist/osx/<%= filename %>/Contents/Resources/atom.icns', - '/usr/libexec/PlistBuddy -c "Set :CFBundleVersion <%= version %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleName <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier <%= bundle %>" dist/osx/<%= filename %>/Contents/Info.plist', - '/usr/libexec/PlistBuddy -c "Set :CFBundleExecutable <%= name %>" dist/osx/<%= filename %>/Contents/Info.plist' - ], { - templateData: { - filename: options.filename, - name: options.name, - version: packagejson.version, - bundle: 'com.kitematic.app' - } - })); - - dependencies.forEach(function (d) { - stream = stream.pipe(shell([ - 'cp -R node_modules/' + d + ' dist/osx/<%= filename %>/Contents/Resources/app/node_modules/' - ], { - templateData: { - filename: options.filename - } - })); - }); - - return stream; -}); - -gulp.task('sign', function () { - try { - var signing_identity = fs.readFileSync('./identity', 'utf8').trim(); - return gulp.src('').pipe(shell([ - 'codesign --deep --force --verbose --sign "' + signing_identity + '" ' + options.filename - ], { - cwd: './dist/osx/' - })); - } catch (error) { - gutil.log(gutil.colors.red('Error: ' + error.message)); - } -}); - -gulp.task('zip', function () { - return gulp.src('').pipe(shell([ - 'ditto -c -k --sequesterRsrc --keepParent ' + options.filename + ' ' + options.name + '-' + packagejson.version + '.zip' - ], { - cwd: './dist/osx/' - })); -}); - -gulp.task('release', function () { - runSequence('download', 'dist', ['copy', 'images', 'js', 'styles'], 'sign', 'zip'); -}); - -gulp.task('test', ['download', 'copy', 'js', 'images', 'styles', 'specs'], function () { - var env = process.env; - env.NODE_ENV = 'development'; - gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom . --test'], { - env: env - })); -}); - -gulp.task('default', ['download', 'copy', 'js', 'images', 'styles'], function () { - gulp.watch('./app/**/*.js', ['js']); - gulp.watch('./app/**/*.html', ['copy']); - gulp.watch('./app/styles/**/*.less', ['styles']); - gulp.watch('./app/images/**', ['images']); - - livereload.listen(); - - var env = process.env; - env.NODE_ENV = 'development'; - gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom .'], { - env: env - })); -}); diff --git a/app/images/close.png b/images/close.png similarity index 100% rename from app/images/close.png rename to images/close.png diff --git a/app/images/close@2x.png b/images/close@2x.png similarity index 100% rename from app/images/close@2x.png rename to images/close@2x.png diff --git a/app/images/downloading-arrow-white.png b/images/downloading-arrow-white.png similarity index 100% rename from app/images/downloading-arrow-white.png rename to images/downloading-arrow-white.png diff --git a/app/images/downloading-arrow-white@2x.png b/images/downloading-arrow-white@2x.png similarity index 100% rename from app/images/downloading-arrow-white@2x.png rename to images/downloading-arrow-white@2x.png diff --git a/app/images/downloading-arrow.png b/images/downloading-arrow.png similarity index 100% rename from app/images/downloading-arrow.png rename to images/downloading-arrow.png diff --git a/app/images/downloading-arrow@2x.png b/images/downloading-arrow@2x.png similarity index 100% rename from app/images/downloading-arrow@2x.png rename to images/downloading-arrow@2x.png diff --git a/app/images/downloading-white.png b/images/downloading-white.png similarity index 100% rename from app/images/downloading-white.png rename to images/downloading-white.png diff --git a/app/images/downloading-white@2x.png b/images/downloading-white@2x.png similarity index 100% rename from app/images/downloading-white@2x.png rename to images/downloading-white@2x.png diff --git a/app/images/downloading.png b/images/downloading.png similarity index 100% rename from app/images/downloading.png rename to images/downloading.png diff --git a/app/images/downloading@2x.png b/images/downloading@2x.png similarity index 100% rename from app/images/downloading@2x.png rename to images/downloading@2x.png diff --git a/app/images/error.png b/images/error.png similarity index 100% rename from app/images/error.png rename to images/error.png diff --git a/app/images/error@2x.png b/images/error@2x.png similarity index 100% rename from app/images/error@2x.png rename to images/error@2x.png diff --git a/app/images/fullscreen.png b/images/fullscreen.png similarity index 100% rename from app/images/fullscreen.png rename to images/fullscreen.png diff --git a/app/images/fullscreen@2x.png b/images/fullscreen@2x.png similarity index 100% rename from app/images/fullscreen@2x.png rename to images/fullscreen@2x.png diff --git a/app/images/fullscreenclose.png b/images/fullscreenclose.png similarity index 100% rename from app/images/fullscreenclose.png rename to images/fullscreenclose.png diff --git a/app/images/loading.png b/images/loading.png similarity index 100% rename from app/images/loading.png rename to images/loading.png diff --git a/app/images/loading@2x.png b/images/loading@2x.png similarity index 100% rename from app/images/loading@2x.png rename to images/loading@2x.png diff --git a/app/images/minimize.png b/images/minimize.png similarity index 100% rename from app/images/minimize.png rename to images/minimize.png diff --git a/app/images/minimize@2x.png b/images/minimize@2x.png similarity index 100% rename from app/images/minimize@2x.png rename to images/minimize@2x.png diff --git a/app/images/official.png b/images/official.png similarity index 100% rename from app/images/official.png rename to images/official.png diff --git a/app/images/official@2x.png b/images/official@2x.png similarity index 100% rename from app/images/official@2x.png rename to images/official@2x.png diff --git a/app/images/paused.png b/images/paused.png similarity index 100% rename from app/images/paused.png rename to images/paused.png diff --git a/app/images/paused@2x.png b/images/paused@2x.png similarity index 100% rename from app/images/paused@2x.png rename to images/paused@2x.png diff --git a/app/images/restarting.png b/images/restarting.png similarity index 100% rename from app/images/restarting.png rename to images/restarting.png diff --git a/app/images/restarting@2x.png b/images/restarting@2x.png similarity index 100% rename from app/images/restarting@2x.png rename to images/restarting@2x.png diff --git a/app/images/roundedcontainer.png b/images/roundedcontainer.png similarity index 100% rename from app/images/roundedcontainer.png rename to images/roundedcontainer.png diff --git a/app/images/roundedcontainer@2x.png b/images/roundedcontainer@2x.png similarity index 100% rename from app/images/roundedcontainer@2x.png rename to images/roundedcontainer@2x.png diff --git a/app/images/running-white.png b/images/running-white.png similarity index 100% rename from app/images/running-white.png rename to images/running-white.png diff --git a/app/images/running-white@2x.png b/images/running-white@2x.png similarity index 100% rename from app/images/running-white@2x.png rename to images/running-white@2x.png diff --git a/app/images/running.png b/images/running.png similarity index 100% rename from app/images/running.png rename to images/running.png diff --git a/app/images/running@2x.png b/images/running@2x.png similarity index 100% rename from app/images/running@2x.png rename to images/running@2x.png diff --git a/app/images/runningwave-white.png b/images/runningwave-white.png similarity index 100% rename from app/images/runningwave-white.png rename to images/runningwave-white.png diff --git a/app/images/runningwave-white@2x.png b/images/runningwave-white@2x.png similarity index 100% rename from app/images/runningwave-white@2x.png rename to images/runningwave-white@2x.png diff --git a/app/images/runningwave.png b/images/runningwave.png similarity index 100% rename from app/images/runningwave.png rename to images/runningwave.png diff --git a/app/images/runningwave@2x.png b/images/runningwave@2x.png similarity index 100% rename from app/images/runningwave@2x.png rename to images/runningwave@2x.png diff --git a/app/images/still-white.png b/images/still-white.png similarity index 100% rename from app/images/still-white.png rename to images/still-white.png diff --git a/app/images/still-white@2x.png b/images/still-white@2x.png similarity index 100% rename from app/images/still-white@2x.png rename to images/still-white@2x.png diff --git a/app/images/stopped-white.png b/images/stopped-white.png similarity index 100% rename from app/images/stopped-white.png rename to images/stopped-white.png diff --git a/app/images/stopped-white@2x.png b/images/stopped-white@2x.png similarity index 100% rename from app/images/stopped-white@2x.png rename to images/stopped-white@2x.png diff --git a/app/images/stopped.png b/images/stopped.png similarity index 100% rename from app/images/stopped.png rename to images/stopped.png diff --git a/app/images/stopped@2x.png b/images/stopped@2x.png similarity index 100% rename from app/images/stopped@2x.png rename to images/stopped@2x.png diff --git a/app/images/wavy-white.png b/images/wavy-white.png similarity index 100% rename from app/images/wavy-white.png rename to images/wavy-white.png diff --git a/app/images/wavy-white@2x.png b/images/wavy-white@2x.png similarity index 100% rename from app/images/wavy-white@2x.png rename to images/wavy-white@2x.png diff --git a/app/index.html b/index.html similarity index 83% rename from app/index.html rename to index.html index 699c7186f0..a97ba8b788 100644 --- a/app/index.html +++ b/index.html @@ -7,5 +7,6 @@ + diff --git a/package.json b/package.json index e11677079d..6451447e46 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,10 @@ }, "bugs": "https://github.com/kitematic/kitematic/issues", "scripts": { - "start": "gulp", + "start": "rsync ./index.html ./build/ && rsync ./fonts/* ./build/ && rsync ./images/* ./build && jsx --watch src/ build/ & wess -w -m -i ./styles/main.less -o ./build/main.css & wiper -w ./build/**/*.* & ./cache/Atom.app/Contents/MacOS/Atom .", "preinstall": "./deps", - "test": "gulp test", - "release": "gulp release" + "test": "jest", + "release": "./release" }, "licenses": [ { @@ -22,8 +22,14 @@ "url": "https://raw.githubusercontent.com/kitematic/kitematic/master/LICENSE" } ], + "jest": { + "scriptPreprocessor": "spec/support/preprocessor.js", + "unmockedModulePathPatterns": [ + "node_modules/react" + ] + }, "boot2docker-version": "1.3.2", - "atom-shell-version": "0.20.6", + "atom-shell-version": "0.21.0", "dependencies": { "ansi-to-html": "0.2.0", "async": "^0.9.0", @@ -33,7 +39,6 @@ "gulp-react": "^2.0.0", "jquery": "^2.1.3", "minimist": "^1.1.0", - "moment": "2.8.1", "node-uuid": "1.4.1", "object-assign": "^2.0.0", "open": "0.0.5", @@ -41,37 +46,18 @@ "react-bootstrap": "^0.13.2", "react-retina-image": "^1.1.2", "react-router": "^0.11.6", - "request": "2.42.0", + "request": "^2.51.0", "request-progress": "0.3.1", "retina.js": "^1.1.0", "underscore": "^1.7.0" }, "devDependencies": { - "browserify": "^6.2.0", "ecstatic": "^0.5.8", "glob": "^4.0.6", - "gulp": "^3.8.10", - "gulp-atom": "0.0.5", - "gulp-concat": "^2.3.4", - "gulp-cssmin": "^0.1.6", - "gulp-download-atom-shell": "0.0.4", - "gulp-if": "^1.2.4", - "gulp-imagemin": "^2.0.0", - "gulp-less": "^2.0.1", - "gulp-livereload": "^2.1.1", - "gulp-notify": "^1.4.2", - "gulp-plumber": "^0.6.6", - "gulp-shell": "^0.2.11", - "gulp-sourcemaps": "^1.2.8", - "gulp-streamify": "0.0.5", - "gulp-uglify": "^0.3.1", - "gulp-uglifyjs": "^0.5.0", - "gulp-util": "^3.0.0", + "jasmine-reporters": "^1.0.1", "jasmine-tagged": "^1.1.2", - "livereload-js": "^2.2.1", - "reactify": "^0.15.2", - "run-sequence": "^1.0.2", - "vinyl-source-stream": "^0.1.1", - "watchify": "^2.1.1" + "react-tools": "^0.12.2", + "wess": "^0.2.2", + "wiper": "^1.0.2" } } diff --git a/release b/release new file mode 100755 index 0000000000..7aa58dac37 --- /dev/null +++ b/release @@ -0,0 +1,35 @@ +#!/bin/bash +BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +export NAME=$(node -pe "JSON.parse(process.argv[1])['name']" "$(cat $BASE/package.json)") +export VERSION=$(node -pe "JSON.parse(process.argv[1])['version']" "$(cat $BASE/package.json)") +export FILENAME=$NAME.app +export BUNDLE=com.kitematic.app + +rm -Rf ./dist +mkdir -p ./dist/osx +cp -R ./cache/Atom.app ./dist/osx/$FILENAME +mv ./dist/osx/$FILENAME/Contents/MacOS/Atom ./dist/osx/$FILENAME/Contents/MacOS/$NAME +mkdir -p ./dist/osx/$FILENAME/Contents/Resources/app +cp -R browser dist/osx/$FILENAME/Contents/Resources/app +cp package.json dist/osx/$FILENAME/Contents/Resources/app/ +mkdir -p dist/osx/$FILENAME/Contents/Resources/app/resources +mkdir -p dist/osx/$FILENAME/Contents/Resources/app/node_modules +cp -v resources/* dist/osx/$FILENAME/Contents/Resources/app/resources/ || : +cp kitematic.icns dist/osx/$FILENAME/Contents/Resources/atom.icns +/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $VERSION" dist/osx/$FILENAME/Contents/Info.plist +/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $NAME" dist/osx/$FILENAME/Contents/Info.plist +/usr/libexec/PlistBuddy -c "Set :CFBundleName $NAME" dist/osx/$FILENAME/Contents/Info.plist +/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $BUNDLE" dist/osx/$FILENAME/Contents/Info.plist +/usr/libexec/PlistBuddy -c "Set :CFBundleExecutable $NAME" dist/osx/$FILENAME/Contents/Info.plist + +rsync ./index.html ./dist/osx/$FILENAME/Contents/Resources/app/build/ +rsync ./fonts/* ./dist/osx/$FILENAME/Contents/Resources/app/build/ +rsync ./images/* ./dist/osx/$FILENAME/Contents/Resources/app/build/ +jsx src/ ./dist/osx/$FILENAME/Contents/Resources/app/build/ +wess -m -i ./styles/main.less -o ./dist/osx/$FILENAME/Contents/Resources/app/build/main.css + +if [ -f $BASE/identity ]; then + codesign --deep --force --verbose --sign "$(cat $BASE/identity)" ./dist/osx/$FILENAME +fi + +ditto -c -k --sequesterRsrc --keepParent ./dist/osx/$FILENAME ./dist/osx/$NAME-$VERSION.zip diff --git a/specs/App-spec.js b/specs/App-spec.js deleted file mode 100644 index cc2a1f9d26..0000000000 --- a/specs/App-spec.js +++ /dev/null @@ -1,11 +0,0 @@ -var Containers = require('./../app/Containers.react.js'); -var TestUtils = require('react/addons').TestUtils; -var jasmine = require('jasmine-node'); - -describe('Containers', function() { - it('should be wrapped with a div', function() { - // var app = TestUtils.renderIntoDocument(App()); - expect(true).toEqual(true); - }); - -}); diff --git a/specs/specs.html b/specs/specs.html deleted file mode 100644 index ffec40e8ea..0000000000 --- a/specs/specs.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/app/ContainerDetails.react.js b/src/ContainerDetails.react.js similarity index 99% rename from app/ContainerDetails.react.js rename to src/ContainerDetails.react.js index c1d48058ab..7f0fbc7941 100644 --- a/app/ContainerDetails.react.js +++ b/src/ContainerDetails.react.js @@ -12,6 +12,7 @@ var ContainerUtil = require('./ContainerUtil'); var docker = require('./docker'); var boot2docker = require('./boot2docker'); var ProgressBar = require('react-bootstrap/ProgressBar'); +var Popover = require('react-bootstrap/Popover'); var ContainerDetails = React.createClass({ mixins: [Router.State, Router.Navigation], @@ -34,8 +35,6 @@ var ContainerDetails = React.createClass({ componentWillReceiveProps: function () { this.init(); }, - componentWillMount: function () { - }, componentDidMount: function () { this.init(); ContainerStore.on(ContainerStore.SERVER_PROGRESS_EVENT, this.updateProgress); diff --git a/app/ContainerDetailsSettings.react.js b/src/ContainerDetailsSettings.react.js similarity index 100% rename from app/ContainerDetailsSettings.react.js rename to src/ContainerDetailsSettings.react.js diff --git a/app/ContainerList.react.js b/src/ContainerList.react.js similarity index 100% rename from app/ContainerList.react.js rename to src/ContainerList.react.js diff --git a/app/ContainerModal.react.js b/src/ContainerModal.react.js similarity index 100% rename from app/ContainerModal.react.js rename to src/ContainerModal.react.js diff --git a/app/ContainerStore.js b/src/ContainerStore.js similarity index 98% rename from app/ContainerStore.js rename to src/ContainerStore.js index ff975c4241..3e79c24728 100644 --- a/app/ContainerStore.js +++ b/src/ContainerStore.js @@ -226,14 +226,14 @@ var ContainerStore = assign(EventEmitter.prototype, { // If the event is delete, remove the container if (data.status === 'destroy') { var container = _.findWhere(_.values(_containers), {Id: data.id}); - if (!container) { - return; + if (container) { + delete _containers[container.Name]; + if (!_muted[container.Name]) { + this.emit(this.SERVER_CONTAINER_EVENT, container.Name, data.status); + } + } else { + this.emit(this.SERVER_CONTAINER_EVENT, data.status); } - delete _containers[container.Name]; - if (_muted[container.Name]) { - return; - } - this.emit(this.SERVER_CONTAINER_EVENT, container.Name, data.status); } else { this.fetchContainer(data.id, function (err) { if (err) { diff --git a/app/ContainerUtil.js b/src/ContainerUtil.js similarity index 100% rename from app/ContainerUtil.js rename to src/ContainerUtil.js diff --git a/app/Containers.react.js b/src/Containers.react.js similarity index 100% rename from app/Containers.react.js rename to src/Containers.react.js diff --git a/app/Header.react.js b/src/Header.react.js similarity index 100% rename from app/Header.react.js rename to src/Header.react.js diff --git a/app/Menu.js b/src/Menu.js similarity index 100% rename from app/Menu.js rename to src/Menu.js diff --git a/app/NoContainers.react.js b/src/NoContainers.react.js similarity index 100% rename from app/NoContainers.react.js rename to src/NoContainers.react.js diff --git a/app/Preferences.react.js b/src/Preferences.react.js similarity index 100% rename from app/Preferences.react.js rename to src/Preferences.react.js diff --git a/app/Radial.react.js b/src/Radial.react.js similarity index 100% rename from app/Radial.react.js rename to src/Radial.react.js diff --git a/app/Setup.react.js b/src/Setup.react.js similarity index 100% rename from app/Setup.react.js rename to src/Setup.react.js diff --git a/app/boot2docker.js b/src/boot2docker.js similarity index 100% rename from app/boot2docker.js rename to src/boot2docker.js diff --git a/app/docker.js b/src/docker.js similarity index 100% rename from app/docker.js rename to src/docker.js diff --git a/app/main.js b/src/main.js similarity index 83% rename from app/main.js rename to src/main.js index 5970a0a0b1..4c485a892b 100644 --- a/app/main.js +++ b/src/main.js @@ -28,14 +28,6 @@ Bugsnag.releaseStage = process.env.NODE_ENV === 'development' ? 'development' : Bugsnag.notifyReleaseStages = []; Bugsnag.appVersion = app.getVersion(); -if (process.env.NODE_ENV === 'development') { - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = 'http://localhost:35729/livereload.js'; - var head = document.getElementsByTagName('head')[0]; - head.appendChild(script); -} - if (!window.location.hash.length || window.location.hash === '#/') { router.run(function (Handler) { React.render(, document.body); diff --git a/app/registry.js b/src/registry.js similarity index 100% rename from app/registry.js rename to src/registry.js diff --git a/app/router.js b/src/router.js similarity index 100% rename from app/router.js rename to src/router.js diff --git a/app/routes.js b/src/routes.js similarity index 100% rename from app/routes.js rename to src/routes.js diff --git a/app/util.js b/src/util.js similarity index 100% rename from app/util.js rename to src/util.js diff --git a/app/virtualbox.js b/src/virtualbox.js similarity index 88% rename from app/virtualbox.js rename to src/virtualbox.js index a7192793de..a1071e8e8f 100644 --- a/app/virtualbox.js +++ b/src/virtualbox.js @@ -49,7 +49,7 @@ var VirtualBox = { callback('VirtualBox not installed.'); return; } - exec('list runningvms | sed -E \'s/.*\\{(.*)\\}/\\1/\' | xargs -L1 -I {} VBoxManage controlvm {} savestate', function (stderr, stdout, code) { + exec('/usr/bin/VBoxManage list runningvms | sed -E \'s/.*\\{(.*)\\}/\\1/\' | xargs -L1 -I {} /usr/bin/VBoxManage controlvm {} savestate', function (stderr, stdout, code) { if (code) { callback(stderr); } else { @@ -84,7 +84,7 @@ var VirtualBox = { VirtualBox.vmState(name, function (err, state) { // No VM found if (err) { callback(null, false); return; } - VirtualBox.exec('controlvm ' + name + ' acpipowerbutton', function (stderr, stdout, code) { + exec('/usr/bin/VBoxManage controlvm ' + name + ' acpipowerbutton', function (stderr, stdout, code) { if (code) { callback(stderr, false); return; } var state = null; @@ -97,7 +97,7 @@ var VirtualBox = { setTimeout(callback, 250); }); }, function (err) { - VirtualBox.exec('unregistervm ' + name + ' --delete', function (stderr, stdout, code) { + exec('/usr/bin/VBoxManage unregistervm ' + name + ' --delete', function (stderr, stdout, code) { if (code) { callback(err); return; } callback(); }); diff --git a/app/styles/bootstrap/alerts.less b/styles/bootstrap/alerts.less similarity index 100% rename from app/styles/bootstrap/alerts.less rename to styles/bootstrap/alerts.less diff --git a/app/styles/bootstrap/badges.less b/styles/bootstrap/badges.less similarity index 100% rename from app/styles/bootstrap/badges.less rename to styles/bootstrap/badges.less diff --git a/app/styles/bootstrap/bootstrap.less b/styles/bootstrap/bootstrap.less similarity index 100% rename from app/styles/bootstrap/bootstrap.less rename to styles/bootstrap/bootstrap.less diff --git a/app/styles/bootstrap/breadcrumbs.less b/styles/bootstrap/breadcrumbs.less similarity index 100% rename from app/styles/bootstrap/breadcrumbs.less rename to styles/bootstrap/breadcrumbs.less diff --git a/app/styles/bootstrap/button-groups.less b/styles/bootstrap/button-groups.less similarity index 100% rename from app/styles/bootstrap/button-groups.less rename to styles/bootstrap/button-groups.less diff --git a/app/styles/bootstrap/buttons.less b/styles/bootstrap/buttons.less similarity index 100% rename from app/styles/bootstrap/buttons.less rename to styles/bootstrap/buttons.less diff --git a/app/styles/bootstrap/carousel.less b/styles/bootstrap/carousel.less similarity index 100% rename from app/styles/bootstrap/carousel.less rename to styles/bootstrap/carousel.less diff --git a/app/styles/bootstrap/close.less b/styles/bootstrap/close.less similarity index 100% rename from app/styles/bootstrap/close.less rename to styles/bootstrap/close.less diff --git a/app/styles/bootstrap/code.less b/styles/bootstrap/code.less similarity index 100% rename from app/styles/bootstrap/code.less rename to styles/bootstrap/code.less diff --git a/app/styles/bootstrap/component-animations.less b/styles/bootstrap/component-animations.less similarity index 100% rename from app/styles/bootstrap/component-animations.less rename to styles/bootstrap/component-animations.less diff --git a/app/styles/bootstrap/dropdowns.less b/styles/bootstrap/dropdowns.less similarity index 100% rename from app/styles/bootstrap/dropdowns.less rename to styles/bootstrap/dropdowns.less diff --git a/app/styles/bootstrap/forms.less b/styles/bootstrap/forms.less similarity index 100% rename from app/styles/bootstrap/forms.less rename to styles/bootstrap/forms.less diff --git a/app/styles/bootstrap/glyphicons.less b/styles/bootstrap/glyphicons.less similarity index 100% rename from app/styles/bootstrap/glyphicons.less rename to styles/bootstrap/glyphicons.less diff --git a/app/styles/bootstrap/grid.less b/styles/bootstrap/grid.less similarity index 100% rename from app/styles/bootstrap/grid.less rename to styles/bootstrap/grid.less diff --git a/app/styles/bootstrap/input-groups.less b/styles/bootstrap/input-groups.less similarity index 100% rename from app/styles/bootstrap/input-groups.less rename to styles/bootstrap/input-groups.less diff --git a/app/styles/bootstrap/jumbotron.less b/styles/bootstrap/jumbotron.less similarity index 100% rename from app/styles/bootstrap/jumbotron.less rename to styles/bootstrap/jumbotron.less diff --git a/app/styles/bootstrap/labels.less b/styles/bootstrap/labels.less similarity index 100% rename from app/styles/bootstrap/labels.less rename to styles/bootstrap/labels.less diff --git a/app/styles/bootstrap/list-group.less b/styles/bootstrap/list-group.less similarity index 100% rename from app/styles/bootstrap/list-group.less rename to styles/bootstrap/list-group.less diff --git a/app/styles/bootstrap/media.less b/styles/bootstrap/media.less similarity index 100% rename from app/styles/bootstrap/media.less rename to styles/bootstrap/media.less diff --git a/app/styles/bootstrap/mixins.less b/styles/bootstrap/mixins.less similarity index 100% rename from app/styles/bootstrap/mixins.less rename to styles/bootstrap/mixins.less diff --git a/app/styles/bootstrap/mixins/alerts.less b/styles/bootstrap/mixins/alerts.less similarity index 100% rename from app/styles/bootstrap/mixins/alerts.less rename to styles/bootstrap/mixins/alerts.less diff --git a/app/styles/bootstrap/mixins/background-variant.less b/styles/bootstrap/mixins/background-variant.less similarity index 100% rename from app/styles/bootstrap/mixins/background-variant.less rename to styles/bootstrap/mixins/background-variant.less diff --git a/app/styles/bootstrap/mixins/border-radius.less b/styles/bootstrap/mixins/border-radius.less similarity index 100% rename from app/styles/bootstrap/mixins/border-radius.less rename to styles/bootstrap/mixins/border-radius.less diff --git a/app/styles/bootstrap/mixins/buttons.less b/styles/bootstrap/mixins/buttons.less similarity index 100% rename from app/styles/bootstrap/mixins/buttons.less rename to styles/bootstrap/mixins/buttons.less diff --git a/app/styles/bootstrap/mixins/center-block.less b/styles/bootstrap/mixins/center-block.less similarity index 100% rename from app/styles/bootstrap/mixins/center-block.less rename to styles/bootstrap/mixins/center-block.less diff --git a/app/styles/bootstrap/mixins/clearfix.less b/styles/bootstrap/mixins/clearfix.less similarity index 100% rename from app/styles/bootstrap/mixins/clearfix.less rename to styles/bootstrap/mixins/clearfix.less diff --git a/app/styles/bootstrap/mixins/forms.less b/styles/bootstrap/mixins/forms.less similarity index 100% rename from app/styles/bootstrap/mixins/forms.less rename to styles/bootstrap/mixins/forms.less diff --git a/app/styles/bootstrap/mixins/gradients.less b/styles/bootstrap/mixins/gradients.less similarity index 100% rename from app/styles/bootstrap/mixins/gradients.less rename to styles/bootstrap/mixins/gradients.less diff --git a/app/styles/bootstrap/mixins/grid-framework.less b/styles/bootstrap/mixins/grid-framework.less similarity index 100% rename from app/styles/bootstrap/mixins/grid-framework.less rename to styles/bootstrap/mixins/grid-framework.less diff --git a/app/styles/bootstrap/mixins/grid.less b/styles/bootstrap/mixins/grid.less similarity index 100% rename from app/styles/bootstrap/mixins/grid.less rename to styles/bootstrap/mixins/grid.less diff --git a/app/styles/bootstrap/mixins/hide-text.less b/styles/bootstrap/mixins/hide-text.less similarity index 100% rename from app/styles/bootstrap/mixins/hide-text.less rename to styles/bootstrap/mixins/hide-text.less diff --git a/app/styles/bootstrap/mixins/image.less b/styles/bootstrap/mixins/image.less similarity index 100% rename from app/styles/bootstrap/mixins/image.less rename to styles/bootstrap/mixins/image.less diff --git a/app/styles/bootstrap/mixins/labels.less b/styles/bootstrap/mixins/labels.less similarity index 100% rename from app/styles/bootstrap/mixins/labels.less rename to styles/bootstrap/mixins/labels.less diff --git a/app/styles/bootstrap/mixins/list-group.less b/styles/bootstrap/mixins/list-group.less similarity index 100% rename from app/styles/bootstrap/mixins/list-group.less rename to styles/bootstrap/mixins/list-group.less diff --git a/app/styles/bootstrap/mixins/nav-divider.less b/styles/bootstrap/mixins/nav-divider.less similarity index 100% rename from app/styles/bootstrap/mixins/nav-divider.less rename to styles/bootstrap/mixins/nav-divider.less diff --git a/app/styles/bootstrap/mixins/nav-vertical-align.less b/styles/bootstrap/mixins/nav-vertical-align.less similarity index 100% rename from app/styles/bootstrap/mixins/nav-vertical-align.less rename to styles/bootstrap/mixins/nav-vertical-align.less diff --git a/app/styles/bootstrap/mixins/opacity.less b/styles/bootstrap/mixins/opacity.less similarity index 100% rename from app/styles/bootstrap/mixins/opacity.less rename to styles/bootstrap/mixins/opacity.less diff --git a/app/styles/bootstrap/mixins/pagination.less b/styles/bootstrap/mixins/pagination.less similarity index 100% rename from app/styles/bootstrap/mixins/pagination.less rename to styles/bootstrap/mixins/pagination.less diff --git a/app/styles/bootstrap/mixins/panels.less b/styles/bootstrap/mixins/panels.less similarity index 100% rename from app/styles/bootstrap/mixins/panels.less rename to styles/bootstrap/mixins/panels.less diff --git a/app/styles/bootstrap/mixins/progress-bar.less b/styles/bootstrap/mixins/progress-bar.less similarity index 100% rename from app/styles/bootstrap/mixins/progress-bar.less rename to styles/bootstrap/mixins/progress-bar.less diff --git a/app/styles/bootstrap/mixins/reset-filter.less b/styles/bootstrap/mixins/reset-filter.less similarity index 100% rename from app/styles/bootstrap/mixins/reset-filter.less rename to styles/bootstrap/mixins/reset-filter.less diff --git a/app/styles/bootstrap/mixins/resize.less b/styles/bootstrap/mixins/resize.less similarity index 100% rename from app/styles/bootstrap/mixins/resize.less rename to styles/bootstrap/mixins/resize.less diff --git a/app/styles/bootstrap/mixins/responsive-visibility.less b/styles/bootstrap/mixins/responsive-visibility.less similarity index 100% rename from app/styles/bootstrap/mixins/responsive-visibility.less rename to styles/bootstrap/mixins/responsive-visibility.less diff --git a/app/styles/bootstrap/mixins/size.less b/styles/bootstrap/mixins/size.less similarity index 100% rename from app/styles/bootstrap/mixins/size.less rename to styles/bootstrap/mixins/size.less diff --git a/app/styles/bootstrap/mixins/tab-focus.less b/styles/bootstrap/mixins/tab-focus.less similarity index 100% rename from app/styles/bootstrap/mixins/tab-focus.less rename to styles/bootstrap/mixins/tab-focus.less diff --git a/app/styles/bootstrap/mixins/table-row.less b/styles/bootstrap/mixins/table-row.less similarity index 100% rename from app/styles/bootstrap/mixins/table-row.less rename to styles/bootstrap/mixins/table-row.less diff --git a/app/styles/bootstrap/mixins/text-emphasis.less b/styles/bootstrap/mixins/text-emphasis.less similarity index 100% rename from app/styles/bootstrap/mixins/text-emphasis.less rename to styles/bootstrap/mixins/text-emphasis.less diff --git a/app/styles/bootstrap/mixins/text-overflow.less b/styles/bootstrap/mixins/text-overflow.less similarity index 100% rename from app/styles/bootstrap/mixins/text-overflow.less rename to styles/bootstrap/mixins/text-overflow.less diff --git a/app/styles/bootstrap/mixins/vendor-prefixes.less b/styles/bootstrap/mixins/vendor-prefixes.less similarity index 100% rename from app/styles/bootstrap/mixins/vendor-prefixes.less rename to styles/bootstrap/mixins/vendor-prefixes.less diff --git a/app/styles/bootstrap/modals.less b/styles/bootstrap/modals.less similarity index 100% rename from app/styles/bootstrap/modals.less rename to styles/bootstrap/modals.less diff --git a/app/styles/bootstrap/navbar.less b/styles/bootstrap/navbar.less similarity index 100% rename from app/styles/bootstrap/navbar.less rename to styles/bootstrap/navbar.less diff --git a/app/styles/bootstrap/navs.less b/styles/bootstrap/navs.less similarity index 100% rename from app/styles/bootstrap/navs.less rename to styles/bootstrap/navs.less diff --git a/app/styles/bootstrap/normalize.less b/styles/bootstrap/normalize.less similarity index 100% rename from app/styles/bootstrap/normalize.less rename to styles/bootstrap/normalize.less diff --git a/app/styles/bootstrap/pager.less b/styles/bootstrap/pager.less similarity index 100% rename from app/styles/bootstrap/pager.less rename to styles/bootstrap/pager.less diff --git a/app/styles/bootstrap/pagination.less b/styles/bootstrap/pagination.less similarity index 100% rename from app/styles/bootstrap/pagination.less rename to styles/bootstrap/pagination.less diff --git a/app/styles/bootstrap/panels.less b/styles/bootstrap/panels.less similarity index 100% rename from app/styles/bootstrap/panels.less rename to styles/bootstrap/panels.less diff --git a/app/styles/bootstrap/popovers.less b/styles/bootstrap/popovers.less similarity index 100% rename from app/styles/bootstrap/popovers.less rename to styles/bootstrap/popovers.less diff --git a/app/styles/bootstrap/print.less b/styles/bootstrap/print.less similarity index 100% rename from app/styles/bootstrap/print.less rename to styles/bootstrap/print.less diff --git a/app/styles/bootstrap/progress-bars.less b/styles/bootstrap/progress-bars.less similarity index 100% rename from app/styles/bootstrap/progress-bars.less rename to styles/bootstrap/progress-bars.less diff --git a/app/styles/bootstrap/responsive-embed.less b/styles/bootstrap/responsive-embed.less similarity index 100% rename from app/styles/bootstrap/responsive-embed.less rename to styles/bootstrap/responsive-embed.less diff --git a/app/styles/bootstrap/responsive-utilities.less b/styles/bootstrap/responsive-utilities.less similarity index 100% rename from app/styles/bootstrap/responsive-utilities.less rename to styles/bootstrap/responsive-utilities.less diff --git a/app/styles/bootstrap/scaffolding.less b/styles/bootstrap/scaffolding.less similarity index 100% rename from app/styles/bootstrap/scaffolding.less rename to styles/bootstrap/scaffolding.less diff --git a/app/styles/bootstrap/tables.less b/styles/bootstrap/tables.less similarity index 100% rename from app/styles/bootstrap/tables.less rename to styles/bootstrap/tables.less diff --git a/app/styles/bootstrap/theme.less b/styles/bootstrap/theme.less similarity index 100% rename from app/styles/bootstrap/theme.less rename to styles/bootstrap/theme.less diff --git a/app/styles/bootstrap/thumbnails.less b/styles/bootstrap/thumbnails.less similarity index 100% rename from app/styles/bootstrap/thumbnails.less rename to styles/bootstrap/thumbnails.less diff --git a/app/styles/bootstrap/tooltip.less b/styles/bootstrap/tooltip.less similarity index 100% rename from app/styles/bootstrap/tooltip.less rename to styles/bootstrap/tooltip.less diff --git a/app/styles/bootstrap/type.less b/styles/bootstrap/type.less similarity index 100% rename from app/styles/bootstrap/type.less rename to styles/bootstrap/type.less diff --git a/app/styles/bootstrap/utilities.less b/styles/bootstrap/utilities.less similarity index 100% rename from app/styles/bootstrap/utilities.less rename to styles/bootstrap/utilities.less diff --git a/app/styles/bootstrap/variables.less b/styles/bootstrap/variables.less similarity index 100% rename from app/styles/bootstrap/variables.less rename to styles/bootstrap/variables.less diff --git a/app/styles/bootstrap/wells.less b/styles/bootstrap/wells.less similarity index 100% rename from app/styles/bootstrap/wells.less rename to styles/bootstrap/wells.less diff --git a/app/styles/clearsans.less b/styles/clearsans.less similarity index 100% rename from app/styles/clearsans.less rename to styles/clearsans.less diff --git a/app/styles/container-modal.less b/styles/container-modal.less similarity index 100% rename from app/styles/container-modal.less rename to styles/container-modal.less diff --git a/app/styles/containers.less b/styles/containers.less similarity index 100% rename from app/styles/containers.less rename to styles/containers.less diff --git a/app/styles/header.less b/styles/header.less similarity index 100% rename from app/styles/header.less rename to styles/header.less diff --git a/app/styles/icons.less b/styles/icons.less similarity index 100% rename from app/styles/icons.less rename to styles/icons.less diff --git a/app/styles/main.less b/styles/main.less similarity index 99% rename from app/styles/main.less rename to styles/main.less index 81fe584909..621115cd26 100644 --- a/app/styles/main.less +++ b/styles/main.less @@ -62,6 +62,7 @@ html, body { border: 1px solid #ddd; } + @-webkit-keyframes spin { from { -webkit-transform: rotate(0deg); diff --git a/app/styles/preferences.less b/styles/preferences.less similarity index 100% rename from app/styles/preferences.less rename to styles/preferences.less diff --git a/app/styles/radial.less b/styles/radial.less similarity index 100% rename from app/styles/radial.less rename to styles/radial.less diff --git a/app/styles/retina.less b/styles/retina.less similarity index 100% rename from app/styles/retina.less rename to styles/retina.less diff --git a/app/styles/setup.less b/styles/setup.less similarity index 100% rename from app/styles/setup.less rename to styles/setup.less diff --git a/app/styles/theme.less b/styles/theme.less similarity index 100% rename from app/styles/theme.less rename to styles/theme.less diff --git a/app/styles/variables.less b/styles/variables.less similarity index 100% rename from app/styles/variables.less rename to styles/variables.less diff --git a/test.css b/test.css new file mode 100644 index 0000000000..fcc0766b9d --- /dev/null +++ b/test.css @@ -0,0 +1,14019 @@ +@charset "UTF-8"; +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-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: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +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 { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + 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-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .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 th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fontsglyphicons-halflings-regular.eot'); + src: url('../fontsglyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fontsglyphicons-halflings-regular.woff') format('woff'), url('../fontsglyphicons-halflings-regular.ttf') format('truetype'), url('../fontsglyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before, +.glyphicon-eur: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"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -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: #333333; + background-color: #ffffff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #24b8eb; + text-decoration: none; +} +a:hover, +a:focus { + color: #1089b2; + 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; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #7a9999; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + 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; +} +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, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.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, +.h4, +h5, +.h5, +h6, +.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 { + background-color: #fcf8e3; + padding: .2em; +} +.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: #777777; +} +.text-primary { + color: #24b8eb; +} +a.text-primary:hover { + color: #129bca; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #24b8eb; +} +a.bg-primary:hover { + background-color: #129bca; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #7a9999; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #7a9999; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #7a9999; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small: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: #ffffff; + background-color: #333333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #cccccc; + 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 { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.row { + margin-left: -15px; + margin-right: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + 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-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + 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-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + 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-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + 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: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #dddddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #dddddd; +} +.table .table { + background-color: #ffffff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #dddddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@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 #dddddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + 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="radio"]:focus, +input[type="checkbox"]: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: #555555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; + background-color: #ffffff; + background-image: none; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, 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, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999999; +} +.form-control::-webkit-input-placeholder { + color: #999999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #7a9999; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + line-height: 34px; + } + 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[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; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm, +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm, +select.form-group-sm .form-control { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +textarea.form-group-sm .form-control, +select[multiple].input-sm, +select[multiple].form-group-sm .form-control { + height: auto; +} +.input-lg, +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg, +select.form-group-lg .form-control { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +textarea.form-group-lg .form-control, +select[multiple].input-lg, +select[multiple].form-group-lg .form-control { + height: auto; +} +.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; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.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 .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default.focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} +.btn-default .badge { + color: #ffffff; + background-color: #333333; +} +.btn-primary { + color: #ffffff; + background-color: #24b8eb; + border-color: #15ade1; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary.focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #129bca; + border-color: #0f82a9; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #24b8eb; + border-color: #15ade1; +} +.btn-primary .badge { + color: #24b8eb; + background-color: #ffffff; +} +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success.focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #ffffff; +} +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info.focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #ffffff; +} +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning.focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #ffffff; +} +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger.focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #ffffff; +} +.btn-link { + color: #24b8eb; + font-weight: normal; + 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:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #1089b2; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + 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="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; + visibility: hidden; +} +.collapse.in { + display: block; + visibility: visible; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + 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; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.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: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #24b8eb; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + 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-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-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-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 > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 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-bottom-left-radius: 4px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.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-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + 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="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + 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-left: 0; + padding-right: 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.33; + 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; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].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; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control: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: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #7a9999; + border: 1px solid #cccccc; + 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="radio"], +.input-group-addon input[type="checkbox"] { + 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:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-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:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-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:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + 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 { + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #7a9999; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #7a9999; + border-color: #24b8eb; +} +.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 #dddddd; +} +.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: #7a9999 #7a9999 #dddddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.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:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #dddddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.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:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #24b8eb; +} +.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 { + text-align: center; + margin-bottom: 5px; +} +.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:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #dddddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content > .tab-pane { + display: none; + visibility: hidden; +} +.tab-content > .active { + display: block; + visibility: visible; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-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 { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + visibility: visible !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + 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-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + 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; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; + height: 50px; +} +.navbar-brand:hover, +.navbar-brand:focus { + 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; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + 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; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + 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 { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; +} +@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 .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + 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; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-top-right-radius: 4px; + border-top-left-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-left: 15px; + margin-right: 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: #777777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #777777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #dddddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555555; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777777; +} +.navbar-default .navbar-link:hover { + color: #333333; +} +.navbar-default .btn-link { + color: #777777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #ffffff; +} +@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:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #ffffff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444444; +} +.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 { + content: "/\00a0"; + padding: 0 5px; + color: #cccccc; +} +.breadcrumb > .active { + color: #777777; +} +.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; + line-height: 1.42857143; + text-decoration: none; + color: #24b8eb; + background-color: #ffffff; + border: 1px solid #dddddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #1089b2; + background-color: #7a9999; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #24b8eb; + border-color: #24b8eb; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #ffffff; + border-color: #dddddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #7a9999; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #ffffff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #24b8eb; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #129bca; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #ffffff; + line-height: 1; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #24b8eb; + background-color: #ffffff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px 15px; + margin-bottom: 30px; + color: inherit; + background-color: #7a9999; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #617f7f; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding: 48px 0; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #24b8eb; +} +.thumbnail .caption { + padding: 9px; + color: #333333; +} +.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: bold; +} +.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 { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.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; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #ffffff; + text-align: center; + background-color: #24b8eb; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -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, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + 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 { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +a.list-group-item { + color: #555555; +} +a.list-group-item .list-group-item-heading { + color: #333333; +} +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #7a9999; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #24b8eb; + border-color: #24b8eb; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #dff5fc; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + 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: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + 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-right-radius: 3px; + border-top-left-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-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead: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-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .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 td:first-child, +.panel > .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 td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .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 td:last-child, +.panel > .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 td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} +.panel > .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 td:first-child, +.panel > .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 td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .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 td:last-child, +.panel > .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 td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .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 #dddddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 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 > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #dddddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} +.panel-default { + border-color: #dddddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #dddddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #dddddd; +} +.panel-primary { + border-color: #24b8eb; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #24b8eb; + border-color: #24b8eb; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #24b8eb; +} +.panel-primary > .panel-heading .badge { + color: #24b8eb; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #24b8eb; +} +.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 iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.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, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 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: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.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: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: absolute; + top: 0; + right: 0; + left: 0; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; +} +.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-left: 5px; + margin-bottom: 0; +} +.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, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + visibility: visible; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + font-weight: normal; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + 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: #000000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.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-weight: normal; + line-height: 1.42857143; + text-align: left; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + 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 { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #ffffff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #ffffff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #ffffff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #ffffff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + transition: transform 0.6s ease-in-out; + backface-visibility: hidden; + perspective: 1000; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + transform: translate3d(0, 0, 0); + left: 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; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; +} +.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%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #ffffff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #ffffff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 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-prev, + .carousel-control .icon-next { + 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 { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: 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; + visibility: hidden !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.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; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.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; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.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; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.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; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.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; + } +} +@font-face { + font-family: 'Clear'; + src: url('clearsans-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-medium-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-thin-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-mediumitalic-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: italic; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-italic-webfont.ttf') format('truetype'); + font-weight: normal; + font-style: italic; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-bolditalic-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} +@font-face { + font-family: 'Clear Sans'; + src: url('clearsans-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} +h3 { + font-size: 14px; + color: #253237; +} +h4 { + font-size: 13px; + color: #546c70; + font-weight: 400; +} +.popover-content { + color: #546c70; + font-size: 13px; +} +input[type="text"].line { + border: 0; + border-bottom: 1px solid #c7d7d7; + color: #546c70; + font-weight: 300; + padding: 5px; + transition: all 0.1s; +} +input[type="text"].line:focus { + outline: 0; + border-bottom: 1px solid #24b8eb; +} +input[type="text"].line::-webkit-input-placeholder { + color: #ddd; + font-weight: 300; +} +.btn-group.tabs .btn { + padding: 6px 14px 6px 14px; +} +.btn-group .btn .icon-dropdown.icon:before { + position: relative; + font-size: 10px; + top: -2px; + margin-left: 0px; + margin-right: 4px; +} +.btn { + font-size: 12px; + background-color: transparent; + color: #546c70; + border: 1px solid #546c70; + border-radius: 25px; + box-shadow: none; + font-weight: 400; + text-shadow: none; + padding: 6px 14px 6px 14px; + height: 32px; + cursor: default; +} +.btn.small { + height: 22px; +} +.btn.small .icon { + font-size: 10px; +} +.btn .content { + position: relative; + top: -4px; + margin-left: 5px; + margin-right: 5px; +} +.btn .icon-dropdown.icon:before { + font-size: 10px; + position: relative; + top: -2px; +} +.btn .icon { + position: relative; + font-size: 16px; +} +.btn:active, +.btn.active { + background-image: none; + box-shadow: none; +} +.btn:focus, +.btn.focus { + box-shadow: none; + outline: none !important; +} +.btn.only-icon { + padding: 6px 7px 6px 7px; +} +.btn.only-icon.small { + padding: 2px 5px 3px 5px; +} +.btn-action { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #24b8eb; + color: #24b8eb; +} +.btn-action:hover, +.btn-action:focus { + border-color: #129bca; + color: #129bca; + cursor: default; + box-shadow: none; + background: none; +} +.btn-action:active { + background-color: #f6fcfe; + border-color: #129bca; + color: #129bca; + box-shadow: none; +} +.btn-action.active { + background-color: #24b8eb; + color: white; + box-shadow: none; +} +.btn-action:disabled, +.btn-action[disabled] { + opacity: 0.5; +} +.btn-positive { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #65e100; + color: #65e100; +} +.btn-positive:hover, +.btn-positive:focus { + border-color: #4eae00; + color: #4eae00; + cursor: default; + box-shadow: none; + background: none; +} +.btn-positive:active { + background-color: #e0ffc7; + border-color: #4eae00; + color: #4eae00; + box-shadow: none; +} +.btn-positive.active { + background-color: #65e100; + color: white; + box-shadow: none; +} +.btn-positive:disabled, +.btn-positive[disabled] { + opacity: 0.5; +} +.btn-default { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #ffffff; + color: #ffffff; +} +.btn-default:hover, +.btn-default:focus { + border-color: #e6e6e6; + color: #e6e6e6; + cursor: default; + box-shadow: none; + background: none; +} +.btn-default:active { + background-color: #ffffff; + border-color: #e6e6e6; + color: #e6e6e6; + box-shadow: none; +} +.btn-default.active { + background-color: #ffffff; + color: white; + box-shadow: none; +} +.btn-default:disabled, +.btn-default[disabled] { + opacity: 0.5; +} +.btn-primary { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #24b8eb; + color: #24b8eb; +} +.btn-primary:hover, +.btn-primary:focus { + border-color: #129bca; + color: #129bca; + cursor: default; + box-shadow: none; + background: none; +} +.btn-primary:active { + background-color: #f6fcfe; + border-color: #129bca; + color: #129bca; + box-shadow: none; +} +.btn-primary.active { + background-color: #24b8eb; + color: white; + box-shadow: none; +} +.btn-primary:disabled, +.btn-primary[disabled] { + opacity: 0.5; +} +.btn-success { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #5cb85c; + color: #5cb85c; +} +.btn-success:hover, +.btn-success:focus { + border-color: #449d44; + color: #449d44; + cursor: default; + box-shadow: none; + background: none; +} +.btn-success:active { + background-color: #fcfefc; + border-color: #449d44; + color: #449d44; + box-shadow: none; +} +.btn-success.active { + background-color: #5cb85c; + color: white; + box-shadow: none; +} +.btn-success:disabled, +.btn-success[disabled] { + opacity: 0.5; +} +.btn-info { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #5bc0de; + color: #5bc0de; +} +.btn-info:hover, +.btn-info:focus { + border-color: #31b0d5; + color: #31b0d5; + cursor: default; + box-shadow: none; + background: none; +} +.btn-info:active { + background-color: #ffffff; + border-color: #31b0d5; + color: #31b0d5; + box-shadow: none; +} +.btn-info.active { + background-color: #5bc0de; + color: white; + box-shadow: none; +} +.btn-info:disabled, +.btn-info[disabled] { + opacity: 0.5; +} +.btn-warning { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #f0ad4e; + color: #f0ad4e; +} +.btn-warning:hover, +.btn-warning:focus { + border-color: #ec971f; + color: #ec971f; + cursor: default; + box-shadow: none; + background: none; +} +.btn-warning:active { + background-color: #ffffff; + border-color: #ec971f; + color: #ec971f; + box-shadow: none; +} +.btn-warning.active { + background-color: #f0ad4e; + color: white; + box-shadow: none; +} +.btn-warning:disabled, +.btn-warning[disabled] { + opacity: 0.5; +} +.btn-danger { + transition: all 0.1s; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border-color: #d9534f; + color: #d9534f; +} +.btn-danger:hover, +.btn-danger:focus { + border-color: #c9302c; + color: #c9302c; + cursor: default; + box-shadow: none; + background: none; +} +.btn-danger:active { + background-color: #ffffff; + border-color: #c9302c; + color: #c9302c; + box-shadow: none; +} +.btn-danger.active { + background-color: #d9534f; + color: white; + box-shadow: none; +} +.btn-danger:disabled, +.btn-danger[disabled] { + opacity: 0.5; +} +@font-face { + font-family: "streamline-24px"; + src: url("streamline-24px.eot"); + src: url("streamline-24px.eot?#iefix") format("embedded-opentype"), url("streamline-24px.woff") format("woff"), url("streamline-24px.ttf") format("truetype"), url("streamline-24px.svg#streamline-24px") format("svg"); + font-weight: normal; + font-style: normal; +} +[data-icon]:before { + font-family: "streamline-24px" !important; + content: attr(data-icon); + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + font-family: "streamline-24px" !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.icon-bin-1:before { + content: "\e000"; +} +.icon-bin-2:before { + content: "\e001"; +} +.icon-binocular:before { + content: "\e002"; +} +.icon-bomb:before { + content: "\e003"; +} +.icon-clip-1:before { + content: "\e004"; +} +.icon-clip-2:before { + content: "\e005"; +} +.icon-crosshair-1:before { + content: "\e006"; +} +.icon-crosshair-2:before { + content: "\e007"; +} +.icon-crosshair-3:before { + content: "\e008"; +} +.icon-cutter:before { + content: "\e009"; +} +.icon-delete-1:before { + content: "\e00a"; +} +.icon-delete-2:before { + content: "\e00b"; +} +.icon-edit-1:before { + content: "\e00c"; +} +.icon-edit-2:before { + content: "\e00d"; +} +.icon-edit-3:before { + content: "\e00e"; +} +.icon-hide:before { + content: "\e00f"; +} +.icon-ink:before { + content: "\e010"; +} +.icon-key-1:before { + content: "\e011"; +} +.icon-key-2:before { + content: "\e012"; +} +.icon-link-1:before { + content: "\e013"; +} +.icon-link-2:before { + content: "\e014"; +} +.icon-link-3:before { + content: "\e015"; +} +.icon-link-broken-1:before { + content: "\e016"; +} +.icon-link-broken-2:before { + content: "\e017"; +} +.icon-lock-1:before { + content: "\e018"; +} +.icon-lock-2:before { + content: "\e019"; +} +.icon-lock-3:before { + content: "\e01a"; +} +.icon-lock-4:before { + content: "\e01b"; +} +.icon-lock-5:before { + content: "\e01c"; +} +.icon-lock-unlock-1:before { + content: "\e01d"; +} +.icon-lock-unlock-2:before { + content: "\e01e"; +} +.icon-magnifier:before { + content: "\e01f"; +} +.icon-pen-1:before { + content: "\e020"; +} +.icon-pen-2:before { + content: "\e021"; +} +.icon-pen-3:before { + content: "\e022"; +} +.icon-pen-4:before { + content: "\e023"; +} +.icon-pencil-1:before { + content: "\e024"; +} +.icon-pencil-2:before { + content: "\e025"; +} +.icon-pencil-3:before { + content: "\e026"; +} +.icon-pin-1:before { + content: "\e027"; +} +.icon-pin-2:before { + content: "\e028"; +} +.icon-power-1:before { + content: "\e029"; +} +.icon-power-2:before { + content: "\e02a"; +} +.icon-preview-1:before { + content: "\e02b"; +} +.icon-preview-2:before { + content: "\e02c"; +} +.icon-scissor-1:before { + content: "\e02d"; +} +.icon-scissor-2:before { + content: "\e02e"; +} +.icon-skull-1:before { + content: "\e02f"; +} +.icon-skull-2:before { + content: "\e030"; +} +.icon-type-1:before { + content: "\e031"; +} +.icon-type-2:before { + content: "\e032"; +} +.icon-type-3:before { + content: "\e033"; +} +.icon-type-4:before { + content: "\e034"; +} +.icon-zoom-area:before { + content: "\e035"; +} +.icon-zoom-in:before { + content: "\e036"; +} +.icon-zoom-out:before { + content: "\e037"; +} +.icon-cursor-1:before { + content: "\e038"; +} +.icon-cursor-2:before { + content: "\e039"; +} +.icon-cursor-add:before { + content: "\e03a"; +} +.icon-cursor-duplicate:before { + content: "\e03b"; +} +.icon-cursor-move:before { + content: "\e03c"; +} +.icon-cursor-move-2:before { + content: "\e03d"; +} +.icon-cursor-select-area:before { + content: "\e03e"; +} +.icon-hand:before { + content: "\e03f"; +} +.icon-hand-block:before { + content: "\e040"; +} +.icon-hand-grab-1:before { + content: "\e041"; +} +.icon-hand-grab-2:before { + content: "\e042"; +} +.icon-hand-point:before { + content: "\e043"; +} +.icon-hand-touch-1:before { + content: "\e044"; +} +.icon-hand-touch-2:before { + content: "\e045"; +} +.icon-hand-touch-3:before { + content: "\e046"; +} +.icon-hand-touch-4:before { + content: "\e047"; +} +.icon-bookmark-1:before { + content: "\e048"; +} +.icon-bookmark-2:before { + content: "\e049"; +} +.icon-bookmark-3:before { + content: "\e04a"; +} +.icon-bookmark-4:before { + content: "\e04b"; +} +.icon-tag-1:before { + content: "\e04c"; +} +.icon-tag-2:before { + content: "\e04d"; +} +.icon-tag-add:before { + content: "\e04e"; +} +.icon-tag-delete:before { + content: "\e04f"; +} +.icon-tags-1:before { + content: "\e050"; +} +.icon-tags-2:before { + content: "\e051"; +} +.icon-anchor-point-1:before { + content: "\e052"; +} +.icon-anchor-point-2:before { + content: "\e053"; +} +.icon-arrange-1:before { + content: "\e054"; +} +.icon-arrange-2:before { + content: "\e055"; +} +.icon-artboard:before { + content: "\e056"; +} +.icon-brush-1:before { + content: "\e057"; +} +.icon-brush-2:before { + content: "\e058"; +} +.icon-bucket:before { + content: "\e059"; +} +.icon-crop:before { + content: "\e05a"; +} +.icon-dropper-1:before { + content: "\e05b"; +} +.icon-dropper-2:before { + content: "\e05c"; +} +.icon-dropper-3:before { + content: "\e05d"; +} +.icon-glue:before { + content: "\e05e"; +} +.icon-grid:before { + content: "\e05f"; +} +.icon-layers:before { + content: "\e060"; +} +.icon-magic-wand-1:before { + content: "\e061"; +} +.icon-magic-wand-2:before { + content: "\e062"; +} +.icon-magnet:before { + content: "\e063"; +} +.icon-marker:before { + content: "\e064"; +} +.icon-palette:before { + content: "\e065"; +} +.icon-pen-5:before { + content: "\e066"; +} +.icon-pen-6:before { + content: "\e067"; +} +.icon-quill:before { + content: "\e068"; +} +.icon-reflect:before { + content: "\e069"; +} +.icon-roller:before { + content: "\e06a"; +} +.icon-ruler-1:before { + content: "\e06b"; +} +.icon-ruler-2:before { + content: "\e06c"; +} +.icon-scale-diagonal-1:before { + content: "\e06d"; +} +.icon-scale-diagonal-2:before { + content: "\e06e"; +} +.icon-scale-horizontal:before { + content: "\e06f"; +} +.icon-scale-tool-1:before { + content: "\e070"; +} +.icon-scale-tool-2:before { + content: "\e071"; +} +.icon-scale-tool-3:before { + content: "\e072"; +} +.icon-scale-vertical:before { + content: "\e073"; +} +.icon-shear-tool:before { + content: "\e074"; +} +.icon-spray:before { + content: "\e075"; +} +.icon-stamp:before { + content: "\e076"; +} +.icon-stationery-1:before { + content: "\e077"; +} +.icon-stationery-2:before { + content: "\e078"; +} +.icon-stationery-3:before { + content: "\e079"; +} +.icon-vector:before { + content: "\e07a"; +} +.icon-award-1:before { + content: "\e07b"; +} +.icon-award-2:before { + content: "\e07c"; +} +.icon-award-3:before { + content: "\e07d"; +} +.icon-award-4:before { + content: "\e07e"; +} +.icon-award-5:before { + content: "\e07f"; +} +.icon-award-6:before { + content: "\e080"; +} +.icon-crown-1:before { + content: "\e081"; +} +.icon-crown-2:before { + content: "\e082"; +} +.icon-crown-3:before { + content: "\e083"; +} +.icon-fire:before { + content: "\e084"; +} +.icon-flag-1:before { + content: "\e085"; +} +.icon-flag-2:before { + content: "\e086"; +} +.icon-flag-3:before { + content: "\e087"; +} +.icon-flag-4:before { + content: "\e088"; +} +.icon-flag-5:before { + content: "\e089"; +} +.icon-flag-6:before { + content: "\e08a"; +} +.icon-flag-7:before { + content: "\e08b"; +} +.icon-flag-8:before { + content: "\e08c"; +} +.icon-google-plus-1:before { + content: "\e08d"; +} +.icon-google-plus-2:before { + content: "\e08e"; +} +.icon-hand-like-1:before { + content: "\e08f"; +} +.icon-hand-like-2:before { + content: "\e090"; +} +.icon-hand-unlike-1:before { + content: "\e091"; +} +.icon-hand-unlike-2:before { + content: "\e092"; +} +.icon-heart-1:before { + content: "\e093"; +} +.icon-heart-2:before { + content: "\e094"; +} +.icon-heart-angel:before { + content: "\e095"; +} +.icon-heart-broken:before { + content: "\e096"; +} +.icon-heart-minus:before { + content: "\e097"; +} +.icon-heart-plus:before { + content: "\e098"; +} +.icon-present:before { + content: "\e099"; +} +.icon-rank-1:before { + content: "\e09a"; +} +.icon-rank-2:before { + content: "\e09b"; +} +.icon-ribbon:before { + content: "\e09c"; +} +.icon-star-1:before { + content: "\e09d"; +} +.icon-star-2:before { + content: "\e09e"; +} +.icon-star-3:before { + content: "\e09f"; +} +.icon-star-4:before { + content: "\e0a0"; +} +.icon-star-5:before { + content: "\e0a1"; +} +.icon-star-6:before { + content: "\e0a2"; +} +.icon-star-7:before { + content: "\e0a3"; +} +.icon-star-8:before { + content: "\e0a4"; +} +.icon-star-9:before { + content: "\e0a5"; +} +.icon-star-10:before { + content: "\e0a6"; +} +.icon-trophy:before { + content: "\e0a7"; +} +.icon-bubble-2:before { + content: "\e0a8"; +} +.icon-bubble-add-1:before { + content: "\e0a9"; +} +.icon-bubble-add-2:before { + content: "\e0aa"; +} +.icon-bubble-add-3:before { + content: "\e0ab"; +} +.icon-bubble-ask-1:before { + content: "\e0ac"; +} +.icon-bubble-ask-2:before { + content: "\e0ad"; +} +.icon-bubble-attention-1:before { + content: "\e0ae"; +} +.icon-bubble-attention-2:before { + content: "\e0af"; +} +.icon-bubble-attention-3:before { + content: "\e0b0"; +} +.icon-bubble-attention-4:before { + content: "\e0b1"; +} +.icon-bubble-attention-5:before { + content: "\e0b2"; +} +.icon-bubble-attention-6:before { + content: "\e0b3"; +} +.icon-bubble-attention-7:before { + content: "\e0b4"; +} +.icon-bubble-block-1:before { + content: "\e0b5"; +} +.icon-bubble-block-2:before { + content: "\e0b6"; +} +.icon-bubble-block-3:before { + content: "\e0b7"; +} +.icon-bubble-chat-1:before { + content: "\e0b8"; +} +.icon-bubble-chat-2:before { + content: "\e0b9"; +} +.icon-bubble-check-1:before { + content: "\e0ba"; +} +.icon-bubble-check-2:before { + content: "\e0bb"; +} +.icon-bubble-check-3:before { + content: "\e0bc"; +} +.icon-bubble-comment-1:before { + content: "\e0bd"; +} +.icon-bubble-comment-2:before { + content: "\e0be"; +} +.icon-bubble-conversation-1:before { + content: "\e0bf"; +} +.icon-bubble-conversation-2:before { + content: "\e0c0"; +} +.icon-bubble-conversation-3:before { + content: "\e0c1"; +} +.icon-bubble-conversation-4:before { + content: "\e0c2"; +} +.icon-bubble-conversation-5:before { + content: "\e0c3"; +} +.icon-bubble-conversation-6:before { + content: "\e0c4"; +} +.icon-bubble-delete-1:before { + content: "\e0c5"; +} +.icon-bubble-delete-2:before { + content: "\e0c6"; +} +.icon-bubble-delete-3:before { + content: "\e0c7"; +} +.icon-bubble-edit-1:before { + content: "\e0c8"; +} +.icon-bubble-edit-2:before { + content: "\e0c9"; +} +.icon-bubble-edit-3:before { + content: "\e0ca"; +} +.icon-bubble-heart-1:before { + content: "\e0cb"; +} +.icon-bubble-heart-2:before { + content: "\e0cc"; +} +.icon-bubble-minus-1:before { + content: "\e0cd"; +} +.icon-bubble-minus-2:before { + content: "\e0ce"; +} +.icon-bubble-minus-3:before { + content: "\e0cf"; +} +.icon-bubble-quote-1:before { + content: "\e0d0"; +} +.icon-bubble-quote-2:before { + content: "\e0d1"; +} +.icon-bubble-smiley-3:before { + content: "\e0d2"; +} +.icon-bubble-smiley-4:before { + content: "\e0d3"; +} +.icon-bubble-smiley-smile:before { + content: "\e0d4"; +} +.icon-bubble-smiley-wink:before { + content: "\e0d5"; +} +.icon-bubble-star-1:before { + content: "\e0d6"; +} +.icon-bubble-star-2:before { + content: "\e0d7"; +} +.icon-bubble-star-3:before { + content: "\e0d8"; +} +.icon-chat-1:before { + content: "\e0d9"; +} +.icon-chat-2:before { + content: "\e0da"; +} +.icon-chat-3:before { + content: "\e0db"; +} +.icon-chat-4:before { + content: "\e0dc"; +} +.icon-chat-5:before { + content: "\e0dd"; +} +.icon-chat-bubble-1:before { + content: "\e0de"; +} +.icon-chat-bubble-2:before { + content: "\e0df"; +} +.icon-smiley-happy-1:before { + content: "\e0e0"; +} +.icon-smiley-happy-2:before { + content: "\e0e1"; +} +.icon-smiley-happy-3:before { + content: "\e0e2"; +} +.icon-smiley-happy-4:before { + content: "\e0e3"; +} +.icon-smiley-happy-5:before { + content: "\e0e4"; +} +.icon-smiley-relax:before { + content: "\e0e5"; +} +.icon-smiley-sad:before { + content: "\e0e6"; +} +.icon-smiley-surprise:before { + content: "\e0e7"; +} +.icon-thinking-1:before { + content: "\e0e8"; +} +.icon-thinking-2:before { + content: "\e0e9"; +} +.icon-call-1:before { + content: "\e0ea"; +} +.icon-call-2:before { + content: "\e0eb"; +} +.icon-call-3:before { + content: "\e0ec"; +} +.icon-call-4:before { + content: "\e0ed"; +} +.icon-call-add:before { + content: "\e0ee"; +} +.icon-call-block:before { + content: "\e0ef"; +} +.icon-call-delete:before { + content: "\e0f0"; +} +.icon-call-in:before { + content: "\e0f1"; +} +.icon-call-minus:before { + content: "\e0f2"; +} +.icon-call-out:before { + content: "\e0f3"; +} +.icon-contact:before { + content: "\e0f4"; +} +.icon-fax:before { + content: "\e0f5"; +} +.icon-hang-up:before { + content: "\e0f6"; +} +.icon-message:before { + content: "\e0f7"; +} +.icon-mobile-phone-1:before { + content: "\e0f8"; +} +.icon-mobile-phone-2:before { + content: "\e0f9"; +} +.icon-phone-1:before { + content: "\e0fa"; +} +.icon-phone-2:before { + content: "\e0fb"; +} +.icon-phone-3:before { + content: "\e0fc"; +} +.icon-phone-4:before { + content: "\e0fd"; +} +.icon-phone-vibration:before { + content: "\e0fe"; +} +.icon-signal-fine:before { + content: "\e0ff"; +} +.icon-signal-full:before { + content: "\e100"; +} +.icon-signal-high:before { + content: "\e101"; +} +.icon-signal-no:before { + content: "\e102"; +} +.icon-signal-poor:before { + content: "\e103"; +} +.icon-signal-weak:before { + content: "\e104"; +} +.icon-smartphone:before { + content: "\e105"; +} +.icon-tape:before { + content: "\e106"; +} +.icon-camera-symbol-1:before { + content: "\e107"; +} +.icon-camera-symbol-2:before { + content: "\e108"; +} +.icon-camera-symbol-3:before { + content: "\e109"; +} +.icon-headphone:before { + content: "\e10a"; +} +.icon-antenna-1:before { + content: "\e10b"; +} +.icon-antenna-2:before { + content: "\e10c"; +} +.icon-antenna-3:before { + content: "\e10d"; +} +.icon-hotspot-1:before { + content: "\e10e"; +} +.icon-hotspot-2:before { + content: "\e10f"; +} +.icon-link:before { + content: "\e110"; +} +.icon-megaphone-1:before { + content: "\e111"; +} +.icon-megaphone-2:before { + content: "\e112"; +} +.icon-radar:before { + content: "\e113"; +} +.icon-rss-1:before { + content: "\e114"; +} +.icon-rss-2:before { + content: "\e115"; +} +.icon-satellite:before { + content: "\e116"; +} +.icon-address-1:before { + content: "\e117"; +} +.icon-address-2:before { + content: "\e118"; +} +.icon-address-3:before { + content: "\e119"; +} +.icon-forward:before { + content: "\e11a"; +} +.icon-inbox-1:before { + content: "\e11b"; +} +.icon-inbox-2:before { + content: "\e11c"; +} +.icon-inbox-3:before { + content: "\e11d"; +} +.icon-inbox-4:before { + content: "\e11e"; +} +.icon-letter-1:before { + content: "\e11f"; +} +.icon-letter-2:before { + content: "\e120"; +} +.icon-letter-3:before { + content: "\e121"; +} +.icon-letter-4:before { + content: "\e122"; +} +.icon-letter-5:before { + content: "\e123"; +} +.icon-mail-1:before { + content: "\e124"; +} +.icon-mail-2:before { + content: "\e125"; +} +.icon-mail-add:before { + content: "\e126"; +} +.icon-mail-attention:before { + content: "\e127"; +} +.icon-mail-block:before { + content: "\e128"; +} +.icon-mail-box-1:before { + content: "\e129"; +} +.icon-mail-box-2:before { + content: "\e12a"; +} +.icon-mail-box-3:before { + content: "\e12b"; +} +.icon-mail-checked:before { + content: "\e12c"; +} +.icon-mail-compose:before { + content: "\e12d"; +} +.icon-mail-delete:before { + content: "\e12e"; +} +.icon-mail-favorite:before { + content: "\e12f"; +} +.icon-mail-inbox:before { + content: "\e130"; +} +.icon-mail-lock:before { + content: "\e131"; +} +.icon-mail-minus:before { + content: "\e132"; +} +.icon-mail-read:before { + content: "\e133"; +} +.icon-mail-recieved-1:before { + content: "\e134"; +} +.icon-mail-recieved-2:before { + content: "\e135"; +} +.icon-mail-search-1:before { + content: "\e136"; +} +.icon-mail-search-2:before { + content: "\e137"; +} +.icon-mail-sent-1:before { + content: "\e138"; +} +.icon-mail-sent-2:before { + content: "\e139"; +} +.icon-mail-setting:before { + content: "\e13a"; +} +.icon-mail-star:before { + content: "\e13b"; +} +.icon-mail-sync:before { + content: "\e13c"; +} +.icon-mail-time:before { + content: "\e13d"; +} +.icon-outbox-1:before { + content: "\e13e"; +} +.icon-outbox-2:before { + content: "\e13f"; +} +.icon-plane-paper-1:before { + content: "\e140"; +} +.icon-plane-paper-2:before { + content: "\e141"; +} +.icon-reply-mail-1:before { + content: "\e142"; +} +.icon-reply-mail-2:before { + content: "\e143"; +} +.icon-connection-1:before { + content: "\e144"; +} +.icon-connection-2:before { + content: "\e145"; +} +.icon-connection-3:before { + content: "\e146"; +} +.icon-contacts-1:before { + content: "\e147"; +} +.icon-contacts-2:before { + content: "\e148"; +} +.icon-contacts-3:before { + content: "\e149"; +} +.icon-contacts-4:before { + content: "\e14a"; +} +.icon-female:before { + content: "\e14b"; +} +.icon-gender-female:before { + content: "\e14c"; +} +.icon-gender-male:before { + content: "\e14d"; +} +.icon-genders:before { + content: "\e14e"; +} +.icon-id-1:before { + content: "\e14f"; +} +.icon-id-2:before { + content: "\e150"; +} +.icon-id-3:before { + content: "\e151"; +} +.icon-id-4:before { + content: "\e152"; +} +.icon-id-5:before { + content: "\e153"; +} +.icon-id-6:before { + content: "\e154"; +} +.icon-id-7:before { + content: "\e155"; +} +.icon-id-8:before { + content: "\e156"; +} +.icon-male:before { + content: "\e157"; +} +.icon-profile-1:before { + content: "\e158"; +} +.icon-profile-2:before { + content: "\e159"; +} +.icon-profile-3:before { + content: "\e15a"; +} +.icon-profile-4:before { + content: "\e15b"; +} +.icon-profile-5:before { + content: "\e15c"; +} +.icon-profile-6:before { + content: "\e15d"; +} +.icon-profile-athlete:before { + content: "\e15e"; +} +.icon-profile-bussiness-man:before { + content: "\e15f"; +} +.icon-profile-chef:before { + content: "\e160"; +} +.icon-profile-cop:before { + content: "\e161"; +} +.icon-profile-doctor-1:before { + content: "\e162"; +} +.icon-profile-doctor-2:before { + content: "\e163"; +} +.icon-profile-gentleman-1:before { + content: "\e164"; +} +.icon-profile-gentleman-2:before { + content: "\e165"; +} +.icon-profile-graduate:before { + content: "\e166"; +} +.icon-profile-king:before { + content: "\e167"; +} +.icon-profile-lady-1:before { + content: "\e168"; +} +.icon-profile-lady-2:before { + content: "\e169"; +} +.icon-profile-man:before { + content: "\e16a"; +} +.icon-profile-nurse1:before { + content: "\e16b"; +} +.icon-profile-nurse-2:before { + content: "\e16c"; +} +.icon-profile-prisoner:before { + content: "\e16d"; +} +.icon-profile-serviceman-1:before { + content: "\e16e"; +} +.icon-profile-serviceman-2:before { + content: "\e16f"; +} +.icon-profile-spy:before { + content: "\e170"; +} +.icon-profile-teacher:before { + content: "\e171"; +} +.icon-profile-thief:before { + content: "\e172"; +} +.icon-user-1:before { + content: "\e173"; +} +.icon-user-2:before { + content: "\e174"; +} +.icon-user-add-1:before { + content: "\e175"; +} +.icon-user-add-2:before { + content: "\e176"; +} +.icon-user-block-1:before { + content: "\e177"; +} +.icon-user-block-2:before { + content: "\e178"; +} +.icon-user-checked-1:before { + content: "\e179"; +} +.icon-user-checked-2:before { + content: "\e17a"; +} +.icon-user-delete-1:before { + content: "\e17b"; +} +.icon-user-delete-2:before { + content: "\e17c"; +} +.icon-user-edit-1:before { + content: "\e17d"; +} +.icon-user-edit-2:before { + content: "\e17e"; +} +.icon-user-heart-1:before { + content: "\e17f"; +} +.icon-user-heart-2:before { + content: "\e180"; +} +.icon-user-lock-1:before { + content: "\e181"; +} +.icon-user-lock-2:before { + content: "\e182"; +} +.icon-user-minus-1:before { + content: "\e183"; +} +.icon-user-minus-2:before { + content: "\e184"; +} +.icon-user-search-1:before { + content: "\e185"; +} +.icon-user-search-2:before { + content: "\e186"; +} +.icon-user-setting-1:before { + content: "\e187"; +} +.icon-user-setting-2:before { + content: "\e188"; +} +.icon-user-star-1:before { + content: "\e189"; +} +.icon-user-star-2:before { + content: "\e18a"; +} +.icon-bag-shopping-1:before { + content: "\e18b"; +} +.icon-bag-shopping-2:before { + content: "\e18c"; +} +.icon-bag-shopping-3:before { + content: "\e18d"; +} +.icon-basket-1:before { + content: "\e18e"; +} +.icon-basket-2:before { + content: "\e18f"; +} +.icon-basket-3:before { + content: "\e190"; +} +.icon-basket-add:before { + content: "\e191"; +} +.icon-basket-minus:before { + content: "\e192"; +} +.icon-briefcase:before { + content: "\e193"; +} +.icon-cart-1:before { + content: "\e194"; +} +.icon-cart-2:before { + content: "\e195"; +} +.icon-cart-3:before { + content: "\e196"; +} +.icon-cart-4:before { + content: "\e197"; +} +.icon-cut:before { + content: "\e198"; +} +.icon-handbag-1:before { + content: "\e199"; +} +.icon-handbag-2:before { + content: "\e19a"; +} +.icon-purse-1:before { + content: "\e19b"; +} +.icon-purse-2:before { + content: "\e19c"; +} +.icon-qr-code:before { + content: "\e19d"; +} +.icon-receipt-1:before { + content: "\e19e"; +} +.icon-receipt-2:before { + content: "\e19f"; +} +.icon-receipt-3:before { + content: "\e1a0"; +} +.icon-receipt-4:before { + content: "\e1a1"; +} +.icon-shopping-1:before { + content: "\e1a2"; +} +.icon-sign-new-1:before { + content: "\e1a3"; +} +.icon-sign-new-2:before { + content: "\e1a4"; +} +.icon-sign-parking:before { + content: "\e1a5"; +} +.icon-signal-star:before { + content: "\e1a6"; +} +.icon-trolley-1:before { + content: "\e1a7"; +} +.icon-trolley-2:before { + content: "\e1a8"; +} +.icon-trolley-3:before { + content: "\e1a9"; +} +.icon-trolley-load:before { + content: "\e1aa"; +} +.icon-trolley-off:before { + content: "\e1ab"; +} +.icon-wallet-1:before { + content: "\e1ac"; +} +.icon-wallet-2:before { + content: "\e1ad"; +} +.icon-wallet-3:before { + content: "\e1ae"; +} +.icon-camera-1:before { + content: "\e1af"; +} +.icon-camera-2:before { + content: "\e1b0"; +} +.icon-camera-3:before { + content: "\e1b1"; +} +.icon-camera-4:before { + content: "\e1b2"; +} +.icon-camera-5:before { + content: "\e1b3"; +} +.icon-camera-back:before { + content: "\e1b4"; +} +.icon-camera-focus:before { + content: "\e1b5"; +} +.icon-camera-frames:before { + content: "\e1b6"; +} +.icon-camera-front:before { + content: "\e1b7"; +} +.icon-camera-graph-1:before { + content: "\e1b8"; +} +.icon-camera-graph-2:before { + content: "\e1b9"; +} +.icon-camera-landscape:before { + content: "\e1ba"; +} +.icon-camera-lens-1:before { + content: "\e1bb"; +} +.icon-camera-lens-2:before { + content: "\e1bc"; +} +.icon-camera-light:before { + content: "\e1bd"; +} +.icon-camera-portrait:before { + content: "\e1be"; +} +.icon-camera-view:before { + content: "\e1bf"; +} +.icon-film-1:before { + content: "\e1c0"; +} +.icon-film-2:before { + content: "\e1c1"; +} +.icon-photo-1:before { + content: "\e1c2"; +} +.icon-photo-2:before { + content: "\e1c3"; +} +.icon-photo-frame:before { + content: "\e1c4"; +} +.icon-photos-1:before { + content: "\e1c5"; +} +.icon-photos-2:before { + content: "\e1c6"; +} +.icon-polaroid:before { + content: "\e1c7"; +} +.icon-signal-camera-1:before { + content: "\e1c8"; +} +.icon-signal-camera-2:before { + content: "\e1c9"; +} +.icon-user-photo:before { + content: "\e1ca"; +} +.icon-backward-1:before { + content: "\e1cb"; +} +.icon-dvd-player:before { + content: "\e1cc"; +} +.icon-eject-1:before { + content: "\e1cd"; +} +.icon-film-3:before { + content: "\e1ce"; +} +.icon-forward-1:before { + content: "\e1cf"; +} +.icon-handycam:before { + content: "\e1d0"; +} +.icon-movie-play-1:before { + content: "\e1d1"; +} +.icon-movie-play-2:before { + content: "\e1d2"; +} +.icon-movie-play-3:before { + content: "\e1d3"; +} +.icon-next-1:before { + content: "\e1d4"; +} +.icon-pause-1:before { + content: "\e1d5"; +} +.icon-play-1:before { + content: "\e1d6"; +} +.icon-player:before { + content: "\e1d7"; +} +.icon-previous-1:before { + content: "\e1d8"; +} +.icon-record-1:before { + content: "\e1d9"; +} +.icon-slate:before { + content: "\e1da"; +} +.icon-stop-1:before { + content: "\e1db"; +} +.icon-television:before { + content: "\e1dc"; +} +.icon-video-camera-1:before { + content: "\e1dd"; +} +.icon-video-camera-2:before { + content: "\e1de"; +} +.icon-backward-2:before { + content: "\e1df"; +} +.icon-cd:before { + content: "\e1e0"; +} +.icon-eject-2:before { + content: "\e1e1"; +} +.icon-equalizer-2:before { + content: "\e1e2"; +} +.icon-equalizer-3:before { + content: "\e1e3"; +} +.icon-forward-2:before { + content: "\e1e4"; +} +.icon-gramophone:before { + content: "\e1e5"; +} +.icon-gramophone-record-2:before { + content: "\e1e6"; +} +.icon-guitar:before { + content: "\e1e7"; +} +.icon-headphone-1:before { + content: "\e1e8"; +} +.icon-headphone-2:before { + content: "\e1e9"; +} +.icon-microphone-1:before { + content: "\e1ea"; +} +.icon-microphone-2:before { + content: "\e1eb"; +} +.icon-microphone-3:before { + content: "\e1ec"; +} +.icon-movie-play-4:before { + content: "\e1ed"; +} +.icon-music-note-1:before { + content: "\e1ee"; +} +.icon-music-note-2:before { + content: "\e1ef"; +} +.icon-music-note-3:before { + content: "\e1f0"; +} +.icon-music-note-4:before { + content: "\e1f1"; +} +.icon-next-2:before { + content: "\e1f2"; +} +.icon-notes-1:before { + content: "\e1f3"; +} +.icon-notes-2:before { + content: "\e1f4"; +} +.icon-pause-2:before { + content: "\e1f5"; +} +.icon-piano:before { + content: "\e1f6"; +} +.icon-play-2:before { + content: "\e1f7"; +} +.icon-playlist:before { + content: "\e1f8"; +} +.icon-previous-2:before { + content: "\e1f9"; +} +.icon-radio-1:before { + content: "\e1fa"; +} +.icon-radio-2:before { + content: "\e1fb"; +} +.icon-record-2:before { + content: "\e1fc"; +} +.icon-recorder:before { + content: "\e1fd"; +} +.icon-saxophone:before { + content: "\e1fe"; +} +.icon-speaker-1:before { + content: "\e1ff"; +} +.icon-speaker-2:before { + content: "\e200"; +} +.icon-speaker-3:before { + content: "\e201"; +} +.icon-stop-2:before { + content: "\e202"; +} +.icon-tape-1:before { + content: "\e203"; +} +.icon-trumpet:before { + content: "\e204"; +} +.icon-volume-down-1:before { + content: "\e205"; +} +.icon-volume-down-2:before { + content: "\e206"; +} +.icon-volume-loud-1:before { + content: "\e207"; +} +.icon-volume-loud-2:before { + content: "\e208"; +} +.icon-volume-low-1:before { + content: "\e209"; +} +.icon-volume-low-2:before { + content: "\e20a"; +} +.icon-volume-medium-1:before { + content: "\e20b"; +} +.icon-volume-medium-2:before { + content: "\e20c"; +} +.icon-volume-mute-1:before { + content: "\e20d"; +} +.icon-volume-mute-2:before { + content: "\e20e"; +} +.icon-volume-mute-3:before { + content: "\e20f"; +} +.icon-volume-up-1:before { + content: "\e210"; +} +.icon-volume-up-2:before { + content: "\e211"; +} +.icon-walkman:before { + content: "\e212"; +} +.icon-cloud:before { + content: "\e213"; +} +.icon-cloud-add:before { + content: "\e214"; +} +.icon-cloud-checked:before { + content: "\e215"; +} +.icon-cloud-delete:before { + content: "\e216"; +} +.icon-cloud-download:before { + content: "\e217"; +} +.icon-cloud-minus:before { + content: "\e218"; +} +.icon-cloud-refresh:before { + content: "\e219"; +} +.icon-cloud-sync:before { + content: "\e21a"; +} +.icon-cloud-upload:before { + content: "\e21b"; +} +.icon-download-1:before { + content: "\e21c"; +} +.icon-download-2:before { + content: "\e21d"; +} +.icon-download-3:before { + content: "\e21e"; +} +.icon-download-4:before { + content: "\e21f"; +} +.icon-download-5:before { + content: "\e220"; +} +.icon-download-6:before { + content: "\e221"; +} +.icon-download-7:before { + content: "\e222"; +} +.icon-download-8:before { + content: "\e223"; +} +.icon-download-9:before { + content: "\e224"; +} +.icon-download-10:before { + content: "\e225"; +} +.icon-download-11:before { + content: "\e226"; +} +.icon-download-12:before { + content: "\e227"; +} +.icon-download-13:before { + content: "\e228"; +} +.icon-download-14:before { + content: "\e229"; +} +.icon-download-15:before { + content: "\e22a"; +} +.icon-download-file:before { + content: "\e22b"; +} +.icon-download-folder:before { + content: "\e22c"; +} +.icon-goal-1:before { + content: "\e22d"; +} +.icon-goal-2:before { + content: "\e22e"; +} +.icon-transfer-1:before { + content: "\e22f"; +} +.icon-transfer-2:before { + content: "\e230"; +} +.icon-transfer-3:before { + content: "\e231"; +} +.icon-transfer-4:before { + content: "\e232"; +} +.icon-transfer-5:before { + content: "\e233"; +} +.icon-transfer-6:before { + content: "\e234"; +} +.icon-transfer-7:before { + content: "\e235"; +} +.icon-transfer-8:before { + content: "\e236"; +} +.icon-transfer-9:before { + content: "\e237"; +} +.icon-transfer-10:before { + content: "\e238"; +} +.icon-transfer-11:before { + content: "\e239"; +} +.icon-transfer-12:before { + content: "\e23a"; +} +.icon-upload-1:before { + content: "\e23b"; +} +.icon-upload-2:before { + content: "\e23c"; +} +.icon-upload-3:before { + content: "\e23d"; +} +.icon-upload-4:before { + content: "\e23e"; +} +.icon-upload-5:before { + content: "\e23f"; +} +.icon-upload-6:before { + content: "\e240"; +} +.icon-upload-7:before { + content: "\e241"; +} +.icon-upload-8:before { + content: "\e242"; +} +.icon-upload-9:before { + content: "\e243"; +} +.icon-upload-10:before { + content: "\e244"; +} +.icon-upload-11:before { + content: "\e245"; +} +.icon-upload-12:before { + content: "\e246"; +} +.icon-clipboard-1:before { + content: "\e247"; +} +.icon-clipboard-2:before { + content: "\e248"; +} +.icon-clipboard-3:before { + content: "\e249"; +} +.icon-clipboard-add:before { + content: "\e24a"; +} +.icon-clipboard-block:before { + content: "\e24b"; +} +.icon-clipboard-checked:before { + content: "\e24c"; +} +.icon-clipboard-delete:before { + content: "\e24d"; +} +.icon-clipboard-edit:before { + content: "\e24e"; +} +.icon-clipboard-minus:before { + content: "\e24f"; +} +.icon-document-1:before { + content: "\e250"; +} +.icon-document-2:before { + content: "\e251"; +} +.icon-file-1:before { + content: "\e252"; +} +.icon-file-2:before { + content: "\e253"; +} +.icon-file-add:before { + content: "\e254"; +} +.icon-file-attention:before { + content: "\e255"; +} +.icon-file-block:before { + content: "\e256"; +} +.icon-file-bookmark:before { + content: "\e257"; +} +.icon-file-checked:before { + content: "\e258"; +} +.icon-file-code:before { + content: "\e259"; +} +.icon-file-delete:before { + content: "\e25a"; +} +.icon-file-download:before { + content: "\e25b"; +} +.icon-file-edit:before { + content: "\e25c"; +} +.icon-file-favorite-1:before { + content: "\e25d"; +} +.icon-file-favorite-2:before { + content: "\e25e"; +} +.icon-file-graph-1:before { + content: "\e25f"; +} +.icon-file-graph-2:before { + content: "\e260"; +} +.icon-file-home:before { + content: "\e261"; +} +.icon-file-image-1:before { + content: "\e262"; +} +.icon-file-image-2:before { + content: "\e263"; +} +.icon-file-list:before { + content: "\e264"; +} +.icon-file-lock:before { + content: "\e265"; +} +.icon-file-media:before { + content: "\e266"; +} +.icon-file-minus:before { + content: "\e267"; +} +.icon-file-music:before { + content: "\e268"; +} +.icon-file-new:before { + content: "\e269"; +} +.icon-file-registry:before { + content: "\e26a"; +} +.icon-file-search:before { + content: "\e26b"; +} +.icon-file-setting:before { + content: "\e26c"; +} +.icon-file-sync:before { + content: "\e26d"; +} +.icon-file-table:before { + content: "\e26e"; +} +.icon-file-thumbnail:before { + content: "\e26f"; +} +.icon-file-time:before { + content: "\e270"; +} +.icon-file-transfer:before { + content: "\e271"; +} +.icon-file-upload:before { + content: "\e272"; +} +.icon-file-zip:before { + content: "\e273"; +} +.icon-files-1:before { + content: "\e274"; +} +.icon-files-2:before { + content: "\e275"; +} +.icon-files-3:before { + content: "\e276"; +} +.icon-files-4:before { + content: "\e277"; +} +.icon-files-5:before { + content: "\e278"; +} +.icon-files-6:before { + content: "\e279"; +} +.icon-hand-file-1:before { + content: "\e27a"; +} +.icon-hand-file-2:before { + content: "\e27b"; +} +.icon-note-paper-1:before { + content: "\e27c"; +} +.icon-note-paper-2:before { + content: "\e27d"; +} +.icon-note-paper-add:before { + content: "\e27e"; +} +.icon-note-paper-attention:before { + content: "\e27f"; +} +.icon-note-paper-block:before { + content: "\e280"; +} +.icon-note-paper-checked:before { + content: "\e281"; +} +.icon-note-paper-delete:before { + content: "\e282"; +} +.icon-note-paper-download:before { + content: "\e283"; +} +.icon-note-paper-edit:before { + content: "\e284"; +} +.icon-note-paper-favorite:before { + content: "\e285"; +} +.icon-note-paper-lock:before { + content: "\e286"; +} +.icon-note-paper-minus:before { + content: "\e287"; +} +.icon-note-paper-search:before { + content: "\e288"; +} +.icon-note-paper-sync:before { + content: "\e289"; +} +.icon-note-paper-upload:before { + content: "\e28a"; +} +.icon-print:before { + content: "\e28b"; +} +.icon-folder-1:before { + content: "\e28c"; +} +.icon-folder-2:before { + content: "\e28d"; +} +.icon-folder-3:before { + content: "\e28e"; +} +.icon-folder-4:before { + content: "\e28f"; +} +.icon-folder-add:before { + content: "\e290"; +} +.icon-folder-attention:before { + content: "\e291"; +} +.icon-folder-block:before { + content: "\e292"; +} +.icon-folder-bookmark:before { + content: "\e293"; +} +.icon-folder-checked:before { + content: "\e294"; +} +.icon-folder-code:before { + content: "\e295"; +} +.icon-folder-delete:before { + content: "\e296"; +} +.icon-folder-download:before { + content: "\e297"; +} +.icon-folder-edit:before { + content: "\e298"; +} +.icon-folder-favorite:before { + content: "\e299"; +} +.icon-folder-home:before { + content: "\e29a"; +} +.icon-folder-image:before { + content: "\e29b"; +} +.icon-folder-lock:before { + content: "\e29c"; +} +.icon-folder-media:before { + content: "\e29d"; +} +.icon-folder-minus:before { + content: "\e29e"; +} +.icon-folder-music:before { + content: "\e29f"; +} +.icon-folder-new:before { + content: "\e2a0"; +} +.icon-folder-search:before { + content: "\e2a1"; +} +.icon-folder-setting:before { + content: "\e2a2"; +} +.icon-folder-share-1:before { + content: "\e2a3"; +} +.icon-folder-share-2:before { + content: "\e2a4"; +} +.icon-folder-sync:before { + content: "\e2a5"; +} +.icon-folder-transfer:before { + content: "\e2a6"; +} +.icon-folder-upload:before { + content: "\e2a7"; +} +.icon-folder-zip:before { + content: "\e2a8"; +} +.icon-add-1:before { + content: "\e2a9"; +} +.icon-add-2:before { + content: "\e2aa"; +} +.icon-add-3:before { + content: "\e2ab"; +} +.icon-add-4:before { + content: "\e2ac"; +} +.icon-add-tag:before { + content: "\e2ad"; +} +.icon-arrow-1:before { + content: "\e2ae"; +} +.icon-arrow-2:before { + content: "\e2af"; +} +.icon-arrow-down-1:before { + content: "\e2b0"; +} +.icon-arrow-down-2:before { + content: "\e2b1"; +} +.icon-arrow-left-1:before { + content: "\e2b2"; +} +.icon-arrow-left-2:before { + content: "\e2b3"; +} +.icon-arrow-move-1:before { + content: "\e2b4"; +} +.icon-arrow-move-down:before { + content: "\e2b5"; +} +.icon-arrow-move-left:before { + content: "\e2b6"; +} +.icon-arrow-move-right:before { + content: "\e2b7"; +} +.icon-arrow-move-up:before { + content: "\e2b8"; +} +.icon-arrow-right-1:before { + content: "\e2b9"; +} +.icon-arrow-right-2:before { + content: "\e2ba"; +} +.icon-arrow-up-1:before { + content: "\e2bb"; +} +.icon-arrow-up-2:before { + content: "\e2bc"; +} +.icon-back:before { + content: "\e2bd"; +} +.icon-center-expand:before { + content: "\e2be"; +} +.icon-center-reduce:before { + content: "\e2bf"; +} +.icon-delete-1-1:before { + content: "\e2c0"; +} +.icon-delete-2-1:before { + content: "\e2c1"; +} +.icon-delete-3:before { + content: "\e2c2"; +} +.icon-delete-4:before { + content: "\e2c3"; +} +.icon-delete-tag:before { + content: "\e2c4"; +} +.icon-expand-horizontal:before { + content: "\e2c5"; +} +.icon-expand-vertical:before { + content: "\e2c6"; +} +.icon-forward-3:before { + content: "\e2c7"; +} +.icon-infinity:before { + content: "\e2c8"; +} +.icon-loading:before { + content: "\e2c9"; +} +.icon-log-out-1:before { + content: "\e2ca"; +} +.icon-log-out-2:before { + content: "\e2cb"; +} +.icon-loop-1:before { + content: "\e2cc"; +} +.icon-loop-2:before { + content: "\e2cd"; +} +.icon-loop-3:before { + content: "\e2ce"; +} +.icon-minus-1:before { + content: "\e2cf"; +} +.icon-minus-2:before { + content: "\e2d0"; +} +.icon-minus-3:before { + content: "\e2d1"; +} +.icon-minus-4:before { + content: "\e2d2"; +} +.icon-minus-tag:before { + content: "\e2d3"; +} +.icon-move-diagonal-1:before { + content: "\e2d4"; +} +.icon-move-diagonal-2:before { + content: "\e2d5"; +} +.icon-move-horizontal-1:before { + content: "\e2d6"; +} +.icon-move-horizontal-2:before { + content: "\e2d7"; +} +.icon-move-vertical-1:before { + content: "\e2d8"; +} +.icon-move-vertical-2:before { + content: "\e2d9"; +} +.icon-next-1-1:before { + content: "\e2da"; +} +.icon-next-2-1:before { + content: "\e2db"; +} +.icon-power-1-1:before { + content: "\e2dc"; +} +.icon-power-2-1:before { + content: "\e2dd"; +} +.icon-power-3:before { + content: "\e2de"; +} +.icon-power-4:before { + content: "\e2df"; +} +.icon-recycle:before { + content: "\e2e0"; +} +.icon-refresh:before { + content: "\e2e1"; +} +.icon-repeat:before { + content: "\e2e2"; +} +.icon-return:before { + content: "\e2e3"; +} +.icon-scale-all-1:before { + content: "\e2e4"; +} +.icon-scale-center:before { + content: "\e2e5"; +} +.icon-scale-horizontal-1:before { + content: "\e2e6"; +} +.icon-scale-horizontal-2:before { + content: "\e2e7"; +} +.icon-scale-reduce-1:before { + content: "\e2e8"; +} +.icon-scale-reduce-2:before { + content: "\e2e9"; +} +.icon-scale-reduce-3:before { + content: "\e2ea"; +} +.icon-scale-spread-1:before { + content: "\e2eb"; +} +.icon-scale-spread-2:before { + content: "\e2ec"; +} +.icon-scale-spread-3:before { + content: "\e2ed"; +} +.icon-scale-vertical-1:before { + content: "\e2ee"; +} +.icon-scale-vertical-2:before { + content: "\e2ef"; +} +.icon-scroll-horizontal-1:before { + content: "\e2f0"; +} +.icon-scroll-horizontal-2:before { + content: "\e2f1"; +} +.icon-scroll-omnidirectional-1:before { + content: "\e2f2"; +} +.icon-scroll-omnidirectional-2:before { + content: "\e2f3"; +} +.icon-scroll-vertical-1:before { + content: "\e2f4"; +} +.icon-scroll-vertical-2:before { + content: "\e2f5"; +} +.icon-shuffle:before { + content: "\e2f6"; +} +.icon-split:before { + content: "\e2f7"; +} +.icon-sync-1:before { + content: "\e2f8"; +} +.icon-sync-2:before { + content: "\e2f9"; +} +.icon-timer:before { + content: "\e2fa"; +} +.icon-transfer:before { + content: "\e2fb"; +} +.icon-transfer-1-1:before { + content: "\e2fc"; +} +.icon-check-1:before { + content: "\e2fd"; +} +.icon-check-2:before { + content: "\e2fe"; +} +.icon-check-3:before { + content: "\e2ff"; +} +.icon-check-box:before { + content: "\e300"; +} +.icon-check-bubble:before { + content: "\e301"; +} +.icon-check-circle-1:before { + content: "\e302"; +} +.icon-check-circle-2:before { + content: "\e303"; +} +.icon-check-list:before { + content: "\e304"; +} +.icon-check-shield:before { + content: "\e305"; +} +.icon-cross:before { + content: "\e306"; +} +.icon-cross-bubble:before { + content: "\e307"; +} +.icon-cross-shield:before { + content: "\e308"; +} +.icon-briefcase-1:before { + content: "\e309"; +} +.icon-brightness-high:before { + content: "\e30a"; +} +.icon-brightness-low:before { + content: "\e30b"; +} +.icon-hammer-1:before { + content: "\e30c"; +} +.icon-hammer-2:before { + content: "\e30d"; +} +.icon-pulse:before { + content: "\e30e"; +} +.icon-scale:before { + content: "\e30f"; +} +.icon-screw-driver:before { + content: "\e310"; +} +.icon-setting-adjustment:before { + content: "\e311"; +} +.icon-setting-gear:before { + content: "\e312"; +} +.icon-setting-gears-1:before { + content: "\e313"; +} +.icon-setting-gears-2:before { + content: "\e314"; +} +.icon-setting-wrenches:before { + content: "\e315"; +} +.icon-switch-1:before { + content: "\e316"; +} +.icon-switch-2:before { + content: "\e317"; +} +.icon-wrench:before { + content: "\e318"; +} +.icon-alarm-1:before { + content: "\e319"; +} +.icon-alarm-clock:before { + content: "\e31a"; +} +.icon-alarm-off:before { + content: "\e31b"; +} +.icon-alarm-snooze:before { + content: "\e31c"; +} +.icon-bell:before { + content: "\e31d"; +} +.icon-calendar-1:before { + content: "\e31e"; +} +.icon-calendar-2:before { + content: "\e31f"; +} +.icon-clock-1:before { + content: "\e320"; +} +.icon-clock-2:before { + content: "\e321"; +} +.icon-clock-3:before { + content: "\e322"; +} +.icon-hourglass-1:before { + content: "\e323"; +} +.icon-hourglass-2:before { + content: "\e324"; +} +.icon-timer-1:before { + content: "\e325"; +} +.icon-timer-3-quarter-1:before { + content: "\e326"; +} +.icon-timer-3-quarter-2:before { + content: "\e327"; +} +.icon-timer-full-1:before { + content: "\e328"; +} +.icon-timer-full-2:before { + content: "\e329"; +} +.icon-timer-half-1:before { + content: "\e32a"; +} +.icon-timer-half-2:before { + content: "\e32b"; +} +.icon-timer-half-3:before { + content: "\e32c"; +} +.icon-timer-half-4:before { + content: "\e32d"; +} +.icon-timer-quarter-1:before { + content: "\e32e"; +} +.icon-timer-quarter-2:before { + content: "\e32f"; +} +.icon-watch-1:before { + content: "\e330"; +} +.icon-watch-2:before { + content: "\e331"; +} +.icon-alert-1:before { + content: "\e332"; +} +.icon-alert-2:before { + content: "\e333"; +} +.icon-alert-3:before { + content: "\e334"; +} +.icon-information:before { + content: "\e335"; +} +.icon-nuclear-1:before { + content: "\e336"; +} +.icon-nuclear-2:before { + content: "\e337"; +} +.icon-question-mark:before { + content: "\e338"; +} +.icon-abacus:before { + content: "\e339"; +} +.icon-amex-card:before { + content: "\e33a"; +} +.icon-atm:before { + content: "\e33b"; +} +.icon-balance:before { + content: "\e33c"; +} +.icon-bank-1:before { + content: "\e33d"; +} +.icon-bank-2:before { + content: "\e33e"; +} +.icon-bank-note-1:before { + content: "\e33f"; +} +.icon-bank-note-2:before { + content: "\e340"; +} +.icon-bank-note-3:before { + content: "\e341"; +} +.icon-bitcoins:before { + content: "\e342"; +} +.icon-board:before { + content: "\e343"; +} +.icon-box-1:before { + content: "\e344"; +} +.icon-box-2:before { + content: "\e345"; +} +.icon-box-3:before { + content: "\e346"; +} +.icon-box-download:before { + content: "\e347"; +} +.icon-box-shipping:before { + content: "\e348"; +} +.icon-box-upload:before { + content: "\e349"; +} +.icon-business-chart-1:before { + content: "\e34a"; +} +.icon-business-chart-2:before { + content: "\e34b"; +} +.icon-calculator-1:before { + content: "\e34c"; +} +.icon-calculator-2:before { + content: "\e34d"; +} +.icon-calculator-3:before { + content: "\e34e"; +} +.icon-cash-register:before { + content: "\e34f"; +} +.icon-chart-board:before { + content: "\e350"; +} +.icon-chart-down:before { + content: "\e351"; +} +.icon-chart-up:before { + content: "\e352"; +} +.icon-check:before { + content: "\e353"; +} +.icon-coins-1:before { + content: "\e354"; +} +.icon-coins-2:before { + content: "\e355"; +} +.icon-court:before { + content: "\e356"; +} +.icon-credit-card:before { + content: "\e357"; +} +.icon-credit-card-lock:before { + content: "\e358"; +} +.icon-delivery:before { + content: "\e359"; +} +.icon-dollar-bag:before { + content: "\e35a"; +} +.icon-dollar-currency-1:before { + content: "\e35b"; +} +.icon-dollar-currency-2:before { + content: "\e35c"; +} +.icon-dollar-currency-3:before { + content: "\e35d"; +} +.icon-dollar-currency-4:before { + content: "\e35e"; +} +.icon-euro-bag:before { + content: "\e35f"; +} +.icon-euro-currency-1:before { + content: "\e360"; +} +.icon-euro-currency-2:before { + content: "\e361"; +} +.icon-euro-currency-3:before { + content: "\e362"; +} +.icon-euro-currency-4:before { + content: "\e363"; +} +.icon-forklift:before { + content: "\e364"; +} +.icon-hand-card:before { + content: "\e365"; +} +.icon-hand-coin:before { + content: "\e366"; +} +.icon-keynote:before { + content: "\e367"; +} +.icon-master-card:before { + content: "\e368"; +} +.icon-money:before { + content: "\e369"; +} +.icon-parking-meter:before { + content: "\e36a"; +} +.icon-percent-1:before { + content: "\e36b"; +} +.icon-percent-2:before { + content: "\e36c"; +} +.icon-percent-3:before { + content: "\e36d"; +} +.icon-percent-4:before { + content: "\e36e"; +} +.icon-percent-5:before { + content: "\e36f"; +} +.icon-percent-up:before { + content: "\e370"; +} +.icon-pie-chart-1:before { + content: "\e371"; +} +.icon-pie-chart-2:before { + content: "\e372"; +} +.icon-piggy-bank:before { + content: "\e373"; +} +.icon-pound-currency-1:before { + content: "\e374"; +} +.icon-pound-currency-2:before { + content: "\e375"; +} +.icon-pound-currency-3:before { + content: "\e376"; +} +.icon-pound-currency-4:before { + content: "\e377"; +} +.icon-safe-1:before { + content: "\e378"; +} +.icon-safe-2:before { + content: "\e379"; +} +.icon-shop:before { + content: "\e37a"; +} +.icon-sign:before { + content: "\e37b"; +} +.icon-trolley:before { + content: "\e37c"; +} +.icon-truck-1:before { + content: "\e37d"; +} +.icon-truck-2:before { + content: "\e37e"; +} +.icon-visa-card:before { + content: "\e37f"; +} +.icon-yen-currency-1:before { + content: "\e380"; +} +.icon-yen-currency-2:before { + content: "\e381"; +} +.icon-yen-currency-3:before { + content: "\e382"; +} +.icon-yen-currency-4:before { + content: "\e383"; +} +.icon-add-marker-1:before { + content: "\e384"; +} +.icon-add-marker-1-1:before { + content: "\e385"; +} +.icon-add-marker-2:before { + content: "\e386"; +} +.icon-add-marker-2-1:before { + content: "\e387"; +} +.icon-add-marker-3:before { + content: "\e388"; +} +.icon-compass-1:before { + content: "\e389"; +} +.icon-compass-2:before { + content: "\e38a"; +} +.icon-compass-3:before { + content: "\e38b"; +} +.icon-delete-marker-1:before { + content: "\e38c"; +} +.icon-delete-marker-1-1:before { + content: "\e38d"; +} +.icon-delete-marker-2:before { + content: "\e38e"; +} +.icon-delete-marker-2-1:before { + content: "\e38f"; +} +.icon-favorite-marker-1:before { + content: "\e390"; +} +.icon-favorite-marker-1-1:before { + content: "\e391"; +} +.icon-favorite-marker-2:before { + content: "\e392"; +} +.icon-favorite-marker-2-1:before { + content: "\e393"; +} +.icon-globe:before { + content: "\e394"; +} +.icon-location:before { + content: "\e395"; +} +.icon-map-1:before { + content: "\e396"; +} +.icon-map-location:before { + content: "\e397"; +} +.icon-map-marker-1:before { + content: "\e398"; +} +.icon-map-marker-1-1:before { + content: "\e399"; +} +.icon-map-marker-2:before { + content: "\e39a"; +} +.icon-map-marker-3:before { + content: "\e39b"; +} +.icon-map-marker-pin:before { + content: "\e39c"; +} +.icon-map-pin:before { + content: "\e39d"; +} +.icon-marker-1:before { + content: "\e39e"; +} +.icon-marker-1-1:before { + content: "\e39f"; +} +.icon-marker-2:before { + content: "\e3a0"; +} +.icon-marker-2-1:before { + content: "\e3a1"; +} +.icon-marker-pin-1:before { + content: "\e3a2"; +} +.icon-marker-pin-2:before { + content: "\e3a3"; +} +.icon-marker-pin-location:before { + content: "\e3a4"; +} +.icon-minus-marker-1:before { + content: "\e3a5"; +} +.icon-minus-marker-1-1:before { + content: "\e3a6"; +} +.icon-minus-marker-2:before { + content: "\e3a7"; +} +.icon-minus-marker-2-1:before { + content: "\e3a8"; +} +.icon-minus-marker-3:before { + content: "\e3a9"; +} +.icon-anchor:before { + content: "\e3aa"; +} +.icon-bank:before { + content: "\e3ab"; +} +.icon-beach:before { + content: "\e3ac"; +} +.icon-boat:before { + content: "\e3ad"; +} +.icon-building-1:before { + content: "\e3ae"; +} +.icon-building-2:before { + content: "\e3af"; +} +.icon-building-3:before { + content: "\e3b0"; +} +.icon-buildings-1:before { + content: "\e3b1"; +} +.icon-buildings-2:before { + content: "\e3b2"; +} +.icon-buildings-3:before { + content: "\e3b3"; +} +.icon-buildings-4:before { + content: "\e3b4"; +} +.icon-castle:before { + content: "\e3b5"; +} +.icon-column:before { + content: "\e3b6"; +} +.icon-direction-sign:before { + content: "\e3b7"; +} +.icon-factory:before { + content: "\e3b8"; +} +.icon-fence:before { + content: "\e3b9"; +} +.icon-garage:before { + content: "\e3ba"; +} +.icon-globe-1:before { + content: "\e3bb"; +} +.icon-globe-2:before { + content: "\e3bc"; +} +.icon-house-1:before { + content: "\e3bd"; +} +.icon-house-2:before { + content: "\e3be"; +} +.icon-house-3:before { + content: "\e3bf"; +} +.icon-house-4:before { + content: "\e3c0"; +} +.icon-library:before { + content: "\e3c1"; +} +.icon-light-house:before { + content: "\e3c2"; +} +.icon-pisa:before { + content: "\e3c3"; +} +.icon-skyscraper:before { + content: "\e3c4"; +} +.icon-temple:before { + content: "\e3c5"; +} +.icon-treasure-map:before { + content: "\e3c6"; +} +.icon-tree:before { + content: "\e3c7"; +} +.icon-tree-pine:before { + content: "\e3c8"; +} +.icon-attention:before { + content: "\e3c9"; +} +.icon-bug-1:before { + content: "\e3ca"; +} +.icon-bug-2:before { + content: "\e3cb"; +} +.icon-css3:before { + content: "\e3cc"; +} +.icon-firewall:before { + content: "\e3cd"; +} +.icon-html5:before { + content: "\e3ce"; +} +.icon-plugins-1:before { + content: "\e3cf"; +} +.icon-plugins-2:before { + content: "\e3d0"; +} +.icon-script:before { + content: "\e3d1"; +} +.icon-new-window:before { + content: "\e3d2"; +} +.icon-window-1:before { + content: "\e3d3"; +} +.icon-window-2:before { + content: "\e3d4"; +} +.icon-window-3:before { + content: "\e3d5"; +} +.icon-window-add:before { + content: "\e3d6"; +} +.icon-window-alert:before { + content: "\e3d7"; +} +.icon-window-check:before { + content: "\e3d8"; +} +.icon-window-code-1:before { + content: "\e3d9"; +} +.icon-window-code-2:before { + content: "\e3da"; +} +.icon-window-code-3:before { + content: "\e3db"; +} +.icon-window-column:before { + content: "\e3dc"; +} +.icon-window-delete:before { + content: "\e3dd"; +} +.icon-window-denied:before { + content: "\e3de"; +} +.icon-window-download-1:before { + content: "\e3df"; +} +.icon-window-download-2:before { + content: "\e3e0"; +} +.icon-window-edit:before { + content: "\e3e1"; +} +.icon-window-favorite:before { + content: "\e3e2"; +} +.icon-window-graph-1:before { + content: "\e3e3"; +} +.icon-window-graph-2:before { + content: "\e3e4"; +} +.icon-window-hand:before { + content: "\e3e5"; +} +.icon-window-home:before { + content: "\e3e6"; +} +.icon-window-like:before { + content: "\e3e7"; +} +.icon-window-list-1:before { + content: "\e3e8"; +} +.icon-window-list-2:before { + content: "\e3e9"; +} +.icon-window-lock:before { + content: "\e3ea"; +} +.icon-window-minimize:before { + content: "\e3eb"; +} +.icon-window-minus:before { + content: "\e3ec"; +} +.icon-window-refresh:before { + content: "\e3ed"; +} +.icon-window-register:before { + content: "\e3ee"; +} +.icon-window-search:before { + content: "\e3ef"; +} +.icon-window-selection:before { + content: "\e3f0"; +} +.icon-window-setting:before { + content: "\e3f1"; +} +.icon-window-sync:before { + content: "\e3f2"; +} +.icon-window-thumbnails-1:before { + content: "\e3f3"; +} +.icon-window-thumbnails-2:before { + content: "\e3f4"; +} +.icon-window-time:before { + content: "\e3f5"; +} +.icon-window-upload-1:before { + content: "\e3f6"; +} +.icon-window-upload-2:before { + content: "\e3f7"; +} +.icon-windows-selection:before { + content: "\e3f8"; +} +.icon-database:before { + content: "\e3f9"; +} +.icon-database-alert:before { + content: "\e3fa"; +} +.icon-database-block:before { + content: "\e3fb"; +} +.icon-database-check:before { + content: "\e3fc"; +} +.icon-database-delete:before { + content: "\e3fd"; +} +.icon-database-download:before { + content: "\e3fe"; +} +.icon-database-edit:before { + content: "\e3ff"; +} +.icon-database-lock:before { + content: "\e400"; +} +.icon-database-minus:before { + content: "\e401"; +} +.icon-database-network:before { + content: "\e402"; +} +.icon-database-plus:before { + content: "\e403"; +} +.icon-database-refresh:before { + content: "\e404"; +} +.icon-database-search:before { + content: "\e405"; +} +.icon-database-setting:before { + content: "\e406"; +} +.icon-database-sync:before { + content: "\e407"; +} +.icon-database-time:before { + content: "\e408"; +} +.icon-database-upload:before { + content: "\e409"; +} +.icon-battery-charging:before { + content: "\e40a"; +} +.icon-battery-full:before { + content: "\e40b"; +} +.icon-battery-high:before { + content: "\e40c"; +} +.icon-battery-low:before { + content: "\e40d"; +} +.icon-battery-medium:before { + content: "\e40e"; +} +.icon-cd-1:before { + content: "\e40f"; +} +.icon-cd-2:before { + content: "\e410"; +} +.icon-chip:before { + content: "\e411"; +} +.icon-computer:before { + content: "\e412"; +} +.icon-disc:before { + content: "\e413"; +} +.icon-filter:before { + content: "\e414"; +} +.icon-floppy-disk:before { + content: "\e415"; +} +.icon-gameboy:before { + content: "\e416"; +} +.icon-harddisk-1:before { + content: "\e417"; +} +.icon-harddisk-2:before { + content: "\e418"; +} +.icon-imac:before { + content: "\e419"; +} +.icon-ipad-1:before { + content: "\e41a"; +} +.icon-ipad-2:before { + content: "\e41b"; +} +.icon-ipod:before { + content: "\e41c"; +} +.icon-joystick-1:before { + content: "\e41d"; +} +.icon-joystick-2:before { + content: "\e41e"; +} +.icon-joystick-3:before { + content: "\e41f"; +} +.icon-keyboard-1:before { + content: "\e420"; +} +.icon-keyboard-2:before { + content: "\e421"; +} +.icon-kindle-1:before { + content: "\e422"; +} +.icon-kindle-2:before { + content: "\e423"; +} +.icon-laptop-1:before { + content: "\e424"; +} +.icon-laptop-2:before { + content: "\e425"; +} +.icon-memory-card:before { + content: "\e426"; +} +.icon-mobile-phone:before { + content: "\e427"; +} +.icon-mouse-1:before { + content: "\e428"; +} +.icon-mouse-2:before { + content: "\e429"; +} +.icon-mp3player:before { + content: "\e42a"; +} +.icon-plug-1:before { + content: "\e42b"; +} +.icon-plug-2:before { + content: "\e42c"; +} +.icon-plug-slot:before { + content: "\e42d"; +} +.icon-printer:before { + content: "\e42e"; +} +.icon-projector:before { + content: "\e42f"; +} +.icon-remote:before { + content: "\e430"; +} +.icon-router:before { + content: "\e431"; +} +.icon-screen-1:before { + content: "\e432"; +} +.icon-screen-2:before { + content: "\e433"; +} +.icon-screen-3:before { + content: "\e434"; +} +.icon-screen-4:before { + content: "\e435"; +} +.icon-smartphone-1:before { + content: "\e436"; +} +.icon-television-1:before { + content: "\e437"; +} +.icon-typewriter-1:before { + content: "\e438"; +} +.icon-typewriter-2:before { + content: "\e439"; +} +.icon-usb-1:before { + content: "\e43a"; +} +.icon-usb-2:before { + content: "\e43b"; +} +.icon-webcam:before { + content: "\e43c"; +} +.icon-wireless-router-1:before { + content: "\e43d"; +} +.icon-wireless-router-2:before { + content: "\e43e"; +} +.icon-bluetooth:before { + content: "\e43f"; +} +.icon-ethernet:before { + content: "\e440"; +} +.icon-ethernet-slot:before { + content: "\e441"; +} +.icon-firewire-1:before { + content: "\e442"; +} +.icon-firewire-2:before { + content: "\e443"; +} +.icon-network-1:before { + content: "\e444"; +} +.icon-network-2:before { + content: "\e445"; +} +.icon-server-1:before { + content: "\e446"; +} +.icon-server-2:before { + content: "\e447"; +} +.icon-server-3:before { + content: "\e448"; +} +.icon-usb:before { + content: "\e449"; +} +.icon-wireless-signal:before { + content: "\e44a"; +} +.icon-book-1:before { + content: "\e44b"; +} +.icon-book-2:before { + content: "\e44c"; +} +.icon-book-3:before { + content: "\e44d"; +} +.icon-book-4:before { + content: "\e44e"; +} +.icon-book-5:before { + content: "\e44f"; +} +.icon-book-6:before { + content: "\e450"; +} +.icon-book-7:before { + content: "\e451"; +} +.icon-book-8:before { + content: "\e452"; +} +.icon-book-download-1:before { + content: "\e453"; +} +.icon-book-download-2:before { + content: "\e454"; +} +.icon-book-favorite-1:before { + content: "\e455"; +} +.icon-book-favorite-2:before { + content: "\e456"; +} +.icon-bookmark-1-1:before { + content: "\e457"; +} +.icon-bookmark-2-1:before { + content: "\e458"; +} +.icon-bookmark-3-1:before { + content: "\e459"; +} +.icon-bookmark-4-1:before { + content: "\e45a"; +} +.icon-books-1:before { + content: "\e45b"; +} +.icon-books-2:before { + content: "\e45c"; +} +.icon-books-3:before { + content: "\e45d"; +} +.icon-briefcase-2:before { + content: "\e45e"; +} +.icon-contact-book-1:before { + content: "\e45f"; +} +.icon-contact-book-2:before { + content: "\e460"; +} +.icon-contact-book-3:before { + content: "\e461"; +} +.icon-contact-book-4:before { + content: "\e462"; +} +.icon-copyright:before { + content: "\e463"; +} +.icon-creative-commons:before { + content: "\e464"; +} +.icon-cube:before { + content: "\e465"; +} +.icon-data-filter:before { + content: "\e466"; +} +.icon-document-box-1:before { + content: "\e467"; +} +.icon-document-box-2:before { + content: "\e468"; +} +.icon-document-box-3:before { + content: "\e469"; +} +.icon-drawer-1:before { + content: "\e46a"; +} +.icon-drawer-2:before { + content: "\e46b"; +} +.icon-drawer-3:before { + content: "\e46c"; +} +.icon-envelope:before { + content: "\e46d"; +} +.icon-file:before { + content: "\e46e"; +} +.icon-files:before { + content: "\e46f"; +} +.icon-filter-1:before { + content: "\e470"; +} +.icon-filter-2:before { + content: "\e471"; +} +.icon-layers-1:before { + content: "\e472"; +} +.icon-list-1:before { + content: "\e473"; +} +.icon-list-2:before { + content: "\e474"; +} +.icon-newspaper-1:before { + content: "\e475"; +} +.icon-newspaper-2:before { + content: "\e476"; +} +.icon-registry-1:before { + content: "\e477"; +} +.icon-registry-2:before { + content: "\e478"; +} +.icon-shield-1:before { + content: "\e479"; +} +.icon-shield-2:before { + content: "\e47a"; +} +.icon-shield-3:before { + content: "\e47b"; +} +.icon-sketchbook:before { + content: "\e47c"; +} +.icon-sound-book:before { + content: "\e47d"; +} +.icon-thumbnails-1:before { + content: "\e47e"; +} +.icon-thumbnails-2:before { + content: "\e47f"; +} +.icon-graph:before { + content: "\e480"; +} +.icon-hierarchy-1:before { + content: "\e481"; +} +.icon-hierarchy-2:before { + content: "\e482"; +} +.icon-hierarchy-3:before { + content: "\e483"; +} +.icon-hierarchy-4:before { + content: "\e484"; +} +.icon-hierarchy-5:before { + content: "\e485"; +} +.icon-hierarchy-6:before { + content: "\e486"; +} +.icon-hierarchy-7:before { + content: "\e487"; +} +.icon-network-1-1:before { + content: "\e488"; +} +.icon-network-2-1:before { + content: "\e489"; +} +.icon-backpack:before { + content: "\e48a"; +} +.icon-balance-1:before { + content: "\e48b"; +} +.icon-bed:before { + content: "\e48c"; +} +.icon-bench:before { + content: "\e48d"; +} +.icon-bomb-1:before { + content: "\e48e"; +} +.icon-bricks:before { + content: "\e48f"; +} +.icon-bullets:before { + content: "\e490"; +} +.icon-buoy:before { + content: "\e491"; +} +.icon-campfire:before { + content: "\e492"; +} +.icon-can:before { + content: "\e493"; +} +.icon-candle:before { + content: "\e494"; +} +.icon-canon:before { + content: "\e495"; +} +.icon-cctv-1:before { + content: "\e496"; +} +.icon-cctv-2:before { + content: "\e497"; +} +.icon-chair:before { + content: "\e498"; +} +.icon-chair-director:before { + content: "\e499"; +} +.icon-cigarette:before { + content: "\e49a"; +} +.icon-construction-sign:before { + content: "\e49b"; +} +.icon-diamond:before { + content: "\e49c"; +} +.icon-disabled:before { + content: "\e49d"; +} +.icon-door:before { + content: "\e49e"; +} +.icon-drawer:before { + content: "\e49f"; +} +.icon-driller:before { + content: "\e4a0"; +} +.icon-dumbbells:before { + content: "\e4a1"; +} +.icon-fire-extinguisher:before { + content: "\e4a2"; +} +.icon-flashlight:before { + content: "\e4a3"; +} +.icon-gas-station:before { + content: "\e4a4"; +} +.icon-gun:before { + content: "\e4a5"; +} +.icon-lamp-1:before { + content: "\e4a6"; +} +.icon-lamp-2:before { + content: "\e4a7"; +} +.icon-lamp-3:before { + content: "\e4a8"; +} +.icon-lamp-4:before { + content: "\e4a9"; +} +.icon-lightbulb-1:before { + content: "\e4aa"; +} +.icon-lightbulb-2:before { + content: "\e4ab"; +} +.icon-measuring-tape:before { + content: "\e4ac"; +} +.icon-mine-cart:before { + content: "\e4ad"; +} +.icon-missile:before { + content: "\e4ae"; +} +.icon-ring:before { + content: "\e4af"; +} +.icon-scale-1:before { + content: "\e4b0"; +} +.icon-shovel:before { + content: "\e4b1"; +} +.icon-smoke-no:before { + content: "\e4b2"; +} +.icon-sofa-1:before { + content: "\e4b3"; +} +.icon-sofa-2:before { + content: "\e4b4"; +} +.icon-sofa-3:before { + content: "\e4b5"; +} +.icon-target:before { + content: "\e4b6"; +} +.icon-torch:before { + content: "\e4b7"; +} +.icon-traffic-cone:before { + content: "\e4b8"; +} +.icon-traffic-light-1:before { + content: "\e4b9"; +} +.icon-traffic-light-2:before { + content: "\e4ba"; +} +.icon-treasure-chest-1:before { + content: "\e4bb"; +} +.icon-treasure-chest-2:before { + content: "\e4bc"; +} +.icon-trowel:before { + content: "\e4bd"; +} +.icon-watering-can:before { + content: "\e4be"; +} +.icon-weigh:before { + content: "\e4bf"; +} +.icon-36-text-arrow-redo:before { + content: "\e4c0"; +} +.icon-academic-cap:before { + content: "\e4c1"; +} +.icon-baseball-helmet:before { + content: "\e4c2"; +} +.icon-beanie:before { + content: "\e4c3"; +} +.icon-bike-helmet:before { + content: "\e4c4"; +} +.icon-bow:before { + content: "\e4c5"; +} +.icon-cap:before { + content: "\e4c6"; +} +.icon-chaplin:before { + content: "\e4c7"; +} +.icon-chef-hat:before { + content: "\e4c8"; +} +.icon-cloth-hanger:before { + content: "\e4c9"; +} +.icon-fins:before { + content: "\e4ca"; +} +.icon-football-helmet:before { + content: "\e4cb"; +} +.icon-glasses:before { + content: "\e4cc"; +} +.icon-glasses-1:before { + content: "\e4cd"; +} +.icon-glasses-2:before { + content: "\e4ce"; +} +.icon-magician-hat:before { + content: "\e4cf"; +} +.icon-monocle-1:before { + content: "\e4d0"; +} +.icon-monocle-2:before { + content: "\e4d1"; +} +.icon-necktie:before { + content: "\e4d2"; +} +.icon-safety-helmet:before { + content: "\e4d3"; +} +.icon-scuba-tank:before { + content: "\e4d4"; +} +.icon-shirt-1:before { + content: "\e4d5"; +} +.icon-shirt-2:before { + content: "\e4d6"; +} +.icon-shirt-3:before { + content: "\e4d7"; +} +.icon-sneakers:before { + content: "\e4d8"; +} +.icon-snorkel:before { + content: "\e4d9"; +} +.icon-sombrero:before { + content: "\e4da"; +} +.icon-sunglasses:before { + content: "\e4db"; +} +.icon-tall-hat:before { + content: "\e4dc"; +} +.icon-trousers:before { + content: "\e4dd"; +} +.icon-walking-stick:before { + content: "\e4de"; +} +.icon-arrow-undo:before { + content: "\e4df"; +} +.icon-bold:before { + content: "\e4e0"; +} +.icon-columns:before { + content: "\e4e1"; +} +.icon-eraser:before { + content: "\e4e2"; +} +.icon-font-color:before { + content: "\e4e3"; +} +.icon-html:before { + content: "\e4e4"; +} +.icon-italic:before { + content: "\e4e5"; +} +.icon-list-1-1:before { + content: "\e4e6"; +} +.icon-list-2-1:before { + content: "\e4e7"; +} +.icon-list-3:before { + content: "\e4e8"; +} +.icon-list-4:before { + content: "\e4e9"; +} +.icon-paragraph:before { + content: "\e4ea"; +} +.icon-paste:before { + content: "\e4eb"; +} +.icon-print-preview:before { + content: "\e4ec"; +} +.icon-quote:before { + content: "\e4ed"; +} +.icon-strikethrough:before { + content: "\e4ee"; +} +.icon-text:before { + content: "\e4ef"; +} +.icon-text-wrapping-1:before { + content: "\e4f0"; +} +.icon-text-wrapping-2:before { + content: "\e4f1"; +} +.icon-text-wrapping-3:before { + content: "\e4f2"; +} +.icon-underline:before { + content: "\e4f3"; +} +.icon-align-center:before { + content: "\e4f4"; +} +.icon-align-left:before { + content: "\e4f5"; +} +.icon-align-right:before { + content: "\e4f6"; +} +.icon-all-caps:before { + content: "\e4f7"; +} +.icon-arrange-2-1:before { + content: "\e4f8"; +} +.icon-arrange-2-2:before { + content: "\e4f9"; +} +.icon-arrange-2-3:before { + content: "\e4fa"; +} +.icon-arrange-2-4:before { + content: "\e4fb"; +} +.icon-arrange-3-1:before { + content: "\e4fc"; +} +.icon-arrange-3-2:before { + content: "\e4fd"; +} +.icon-arrange-3-3:before { + content: "\e4fe"; +} +.icon-arrange-3-4:before { + content: "\e4ff"; +} +.icon-arrange-3-5:before { + content: "\e500"; +} +.icon-arrange-4-1:before { + content: "\e501"; +} +.icon-arrange-4-2:before { + content: "\e502"; +} +.icon-arrange-4-3:before { + content: "\e503"; +} +.icon-arrange-5:before { + content: "\e504"; +} +.icon-consolidate-all:before { + content: "\e505"; +} +.icon-decrease-indent-1:before { + content: "\e506"; +} +.icon-decrease-indent-2:before { + content: "\e507"; +} +.icon-horizontal-page:before { + content: "\e508"; +} +.icon-increase-indent-1:before { + content: "\e509"; +} +.icon-increase-indent-2:before { + content: "\e50a"; +} +.icon-justify:before { + content: "\e50b"; +} +.icon-leading-1:before { + content: "\e50c"; +} +.icon-leading-2:before { + content: "\e50d"; +} +.icon-left-indent:before { + content: "\e50e"; +} +.icon-right-indent:before { + content: "\e50f"; +} +.icon-small-caps:before { + content: "\e510"; +} +.icon-vertical-page:before { + content: "\e511"; +} +.icon-alt-mac:before { + content: "\e512"; +} +.icon-alt-windows:before { + content: "\e513"; +} +.icon-arrow-down:before { + content: "\e514"; +} +.icon-arrow-down-left:before { + content: "\e515"; +} +.icon-arrow-down-right:before { + content: "\e516"; +} +.icon-arrow-left:before { + content: "\e517"; +} +.icon-arrow-right:before { + content: "\e518"; +} +.icon-arrow-up:before { + content: "\e519"; +} +.icon-arrow-up-left:before { + content: "\e51a"; +} +.icon-arrow-up-right:before { + content: "\e51b"; +} +.icon-asterisk-1:before { + content: "\e51c"; +} +.icon-asterisk-2:before { + content: "\e51d"; +} +.icon-back-tab-1:before { + content: "\e51e"; +} +.icon-back-tab-2:before { + content: "\e51f"; +} +.icon-backward-delete:before { + content: "\e520"; +} +.icon-blank:before { + content: "\e521"; +} +.icon-eject:before { + content: "\e522"; +} +.icon-enter-1:before { + content: "\e523"; +} +.icon-enter-2:before { + content: "\e524"; +} +.icon-escape:before { + content: "\e525"; +} +.icon-page-down:before { + content: "\e526"; +} +.icon-page-up:before { + content: "\e527"; +} +.icon-return-1:before { + content: "\e528"; +} +.icon-shift-1:before { + content: "\e529"; +} +.icon-shift-2:before { + content: "\e52a"; +} +.icon-tab:before { + content: "\e52b"; +} +.icon-apple:before { + content: "\e52c"; +} +.icon-beer:before { + content: "\e52d"; +} +.icon-boil:before { + content: "\e52e"; +} +.icon-bottle-1:before { + content: "\e52f"; +} +.icon-bottle-2:before { + content: "\e530"; +} +.icon-bottle-3:before { + content: "\e531"; +} +.icon-bottle-4:before { + content: "\e532"; +} +.icon-bread:before { + content: "\e533"; +} +.icon-burger-1:before { + content: "\e534"; +} +.icon-burger-2:before { + content: "\e535"; +} +.icon-cake-1:before { + content: "\e536"; +} +.icon-cake-2:before { + content: "\e537"; +} +.icon-champagne:before { + content: "\e538"; +} +.icon-cheese:before { + content: "\e539"; +} +.icon-cocktail:before { + content: "\e53a"; +} +.icon-cocktail-1:before { + content: "\e53b"; +} +.icon-cocktail-2:before { + content: "\e53c"; +} +.icon-coffee-pot:before { + content: "\e53d"; +} +.icon-cup1:before { + content: "\e53e"; +} +.icon-cup-2:before { + content: "\e53f"; +} +.icon-deep-fry:before { + content: "\e540"; +} +.icon-energy-drink:before { + content: "\e541"; +} +.icon-espresso-machine:before { + content: "\e542"; +} +.icon-food-dome:before { + content: "\e543"; +} +.icon-fork-and-knife:before { + content: "\e544"; +} +.icon-fork-and-spoon:before { + content: "\e545"; +} +.icon-grape:before { + content: "\e546"; +} +.icon-grater:before { + content: "\e547"; +} +.icon-grill:before { + content: "\e548"; +} +.icon-hot-drinks-glass:before { + content: "\e549"; +} +.icon-hotdog:before { + content: "\e54a"; +} +.icon-ice-cream-1:before { + content: "\e54b"; +} +.icon-ice-cream-2:before { + content: "\e54c"; +} +.icon-ice-cream-3:before { + content: "\e54d"; +} +.icon-ice-drinks-galss:before { + content: "\e54e"; +} +.icon-juicer:before { + content: "\e54f"; +} +.icon-kitchen-timer:before { + content: "\e550"; +} +.icon-milk:before { + content: "\e551"; +} +.icon-orange:before { + content: "\e552"; +} +.icon-oven:before { + content: "\e553"; +} +.icon-pan-fry:before { + content: "\e554"; +} +.icon-pepper-salt:before { + content: "\e555"; +} +.icon-pizza:before { + content: "\e556"; +} +.icon-popcorn:before { + content: "\e557"; +} +.icon-serving:before { + content: "\e558"; +} +.icon-soda:before { + content: "\e559"; +} +.icon-soda-can-1:before { + content: "\e55a"; +} +.icon-soda-can-2:before { + content: "\e55b"; +} +.icon-steam:before { + content: "\e55c"; +} +.icon-tea-pot:before { + content: "\e55d"; +} +.icon-thermometer-high:before { + content: "\e55e"; +} +.icon-thermometer-low:before { + content: "\e55f"; +} +.icon-thermometer-medium:before { + content: "\e560"; +} +.icon-water:before { + content: "\e561"; +} +.icon-wine:before { + content: "\e562"; +} +.icon-ambulance:before { + content: "\e563"; +} +.icon-beaker-1:before { + content: "\e564"; +} +.icon-beaker-2:before { + content: "\e565"; +} +.icon-blood:before { + content: "\e566"; +} +.icon-drug:before { + content: "\e567"; +} +.icon-first-aid:before { + content: "\e568"; +} +.icon-hashish:before { + content: "\e569"; +} +.icon-heartpulse:before { + content: "\e56a"; +} +.icon-hospital-1:before { + content: "\e56b"; +} +.icon-hospital-2:before { + content: "\e56c"; +} +.icon-hospital-sign-1:before { + content: "\e56d"; +} +.icon-hospital-sign-2:before { + content: "\e56e"; +} +.icon-hospital-sign-3:before { + content: "\e56f"; +} +.icon-medicine:before { + content: "\e570"; +} +.icon-microscope:before { + content: "\e571"; +} +.icon-mortar-and-pestle:before { + content: "\e572"; +} +.icon-plaster:before { + content: "\e573"; +} +.icon-pulse-graph-1:before { + content: "\e574"; +} +.icon-pulse-graph-2:before { + content: "\e575"; +} +.icon-pulse-graph-3:before { + content: "\e576"; +} +.icon-red-cross:before { + content: "\e577"; +} +.icon-stethoscope:before { + content: "\e578"; +} +.icon-syringe:before { + content: "\e579"; +} +.icon-yin-yang:before { + content: "\e57a"; +} +.icon-balloon:before { + content: "\e57b"; +} +.icon-briefcase-lock:before { + content: "\e57c"; +} +.icon-card:before { + content: "\e57d"; +} +.icon-cards:before { + content: "\e57e"; +} +.icon-cards-2:before { + content: "\e57f"; +} +.icon-curtain:before { + content: "\e580"; +} +.icon-dice-1:before { + content: "\e581"; +} +.icon-dice-2:before { + content: "\e582"; +} +.icon-happy-smiley:before { + content: "\e583"; +} +.icon-pacman:before { + content: "\e584"; +} +.icon-pacman-ghost:before { + content: "\e585"; +} +.icon-sad-smiley:before { + content: "\e586"; +} +.icon-sign-1:before { + content: "\e587"; +} +.icon-smileys:before { + content: "\e588"; +} +.icon-suitcase-1:before { + content: "\e589"; +} +.icon-suitcase-2:before { + content: "\e58a"; +} +.icon-tetris:before { + content: "\e58b"; +} +.icon-ticket-1:before { + content: "\e58c"; +} +.icon-ticket-2:before { + content: "\e58d"; +} +.icon-ticket-3:before { + content: "\e58e"; +} +.icon-virus:before { + content: "\e58f"; +} +.icon-cloud-1:before { + content: "\e590"; +} +.icon-cloud-lightning:before { + content: "\e591"; +} +.icon-clouds:before { + content: "\e592"; +} +.icon-first-quarter-moon:before { + content: "\e593"; +} +.icon-full-moon:before { + content: "\e594"; +} +.icon-hail:before { + content: "\e595"; +} +.icon-heavy-rain:before { + content: "\e596"; +} +.icon-moon-cloud:before { + content: "\e597"; +} +.icon-rain:before { + content: "\e598"; +} +.icon-rain-lightning:before { + content: "\e599"; +} +.icon-snow:before { + content: "\e59a"; +} +.icon-sun:before { + content: "\e59b"; +} +.icon-sun-cloud:before { + content: "\e59c"; +} +.icon-thermometer:before { + content: "\e59d"; +} +.icon-third-quarter-moon:before { + content: "\e59e"; +} +.icon-umbrella:before { + content: "\e59f"; +} +.icon-waning-crescent-moon:before { + content: "\e5a0"; +} +.icon-waning-gibbous-moon:before { + content: "\e5a1"; +} +.icon-waxing-crescent-moon:before { + content: "\e5a2"; +} +.icon-waxing-gibbous-moon:before { + content: "\e5a3"; +} +.icon-bicycle:before { + content: "\e5a4"; +} +.icon-bus-1:before { + content: "\e5a5"; +} +.icon-bus-2:before { + content: "\e5a6"; +} +.icon-car-1:before { + content: "\e5a7"; +} +.icon-car-2:before { + content: "\e5a8"; +} +.icon-car-3:before { + content: "\e5a9"; +} +.icon-car-4:before { + content: "\e5aa"; +} +.icon-helicopter:before { + content: "\e5ab"; +} +.icon-mountain-bike:before { + content: "\e5ac"; +} +.icon-pickup:before { + content: "\e5ad"; +} +.icon-plane-1:before { + content: "\e5ae"; +} +.icon-plane-2:before { + content: "\e5af"; +} +.icon-plane-landing:before { + content: "\e5b0"; +} +.icon-plane-takeoff:before { + content: "\e5b1"; +} +.icon-road:before { + content: "\e5b2"; +} +.icon-road-bike:before { + content: "\e5b3"; +} +.icon-rocket:before { + content: "\e5b4"; +} +.icon-scooter:before { + content: "\e5b5"; +} +.icon-ship:before { + content: "\e5b6"; +} +.icon-train:before { + content: "\e5b7"; +} +.icon-tram:before { + content: "\e5b8"; +} +.icon-cactus:before { + content: "\e5b9"; +} +.icon-clover:before { + content: "\e5ba"; +} +.icon-flower:before { + content: "\e5bb"; +} +.icon-hand-eco:before { + content: "\e5bc"; +} +.icon-hand-globe:before { + content: "\e5bd"; +} +.icon-leaf:before { + content: "\e5be"; +} +.icon-light-eco:before { + content: "\e5bf"; +} +.icon-potted-plant-1:before { + content: "\e5c0"; +} +.icon-potted-plant-2:before { + content: "\e5c1"; +} +.icon-2-fingers-double-tap:before { + content: "\e5c2"; +} +.icon-2-fingers-down-swipe:before { + content: "\e5c3"; +} +.icon-2-fingers-horizontal-swipe:before { + content: "\e5c4"; +} +.icon-2-fingers-left-swipe:before { + content: "\e5c5"; +} +.icon-2-fingers-omnidirectional-swipe:before { + content: "\e5c6"; +} +.icon-2-fingers-right-swipe:before { + content: "\e5c7"; +} +.icon-2-fingers-tab-hold:before { + content: "\e5c8"; +} +.icon-2-fingers-tap:before { + content: "\e5c9"; +} +.icon-2-fingers-up-swipe:before { + content: "\e5ca"; +} +.icon-2-fingers-vertical-swipe:before { + content: "\e5cb"; +} +.icon-double-tap:before { + content: "\e5cc"; +} +.icon-drag-down:before { + content: "\e5cd"; +} +.icon-drag-horizontal:before { + content: "\e5ce"; +} +.icon-drag-left:before { + content: "\e5cf"; +} +.icon-drag-right:before { + content: "\e5d0"; +} +.icon-drag-up:before { + content: "\e5d1"; +} +.icon-drag-vertical:before { + content: "\e5d2"; +} +.icon-filck-down:before { + content: "\e5d3"; +} +.icon-flick-up:before { + content: "\e5d4"; +} +.icon-horizontal-flick:before { + content: "\e5d5"; +} +.icon-left-flick:before { + content: "\e5d6"; +} +.icon-omnidirectional-drag:before { + content: "\e5d7"; +} +.icon-omnidirectional-flick:before { + content: "\e5d8"; +} +.icon-omnidirectional-swipe:before { + content: "\e5d9"; +} +.icon-pinch:before { + content: "\e5da"; +} +.icon-right-flick:before { + content: "\e5db"; +} +.icon-rotate-clockwise:before { + content: "\e5dc"; +} +.icon-rotate-counterclockwise:before { + content: "\e5dd"; +} +.icon-spread:before { + content: "\e5de"; +} +.icon-swipe-down:before { + content: "\e5df"; +} +.icon-swipe-horizontal:before { + content: "\e5e0"; +} +.icon-swipe-left:before { + content: "\e5e1"; +} +.icon-swipe-right:before { + content: "\e5e2"; +} +.icon-swipe-up:before { + content: "\e5e3"; +} +.icon-swipe-vertical:before { + content: "\e5e4"; +} +.icon-tap:before { + content: "\e5e5"; +} +.icon-tap-hold:before { + content: "\e5e6"; +} +.icon-vertical-flick:before { + content: "\e5e7"; +} +.icon-arrow-1-1:before { + content: "\e5e8"; +} +.icon-arrow-2-1:before { + content: "\e5e9"; +} +.icon-arrow-3:before { + content: "\e5ea"; +} +.icon-arrow-4:before { + content: "\e5eb"; +} +.icon-arrow-5:before { + content: "\e5ec"; +} +.icon-arrow-6:before { + content: "\e5ed"; +} +.icon-arrow-7:before { + content: "\e5ee"; +} +.icon-arrow-8:before { + content: "\e5ef"; +} +.icon-arrow-9:before { + content: "\e5f0"; +} +.icon-arrow-10:before { + content: "\e5f1"; +} +.icon-arrow-11:before { + content: "\e5f2"; +} +.icon-arrow-12:before { + content: "\e5f3"; +} +.icon-arrow-13:before { + content: "\e5f4"; +} +.icon-arrow-14:before { + content: "\e5f5"; +} +.icon-arrow-15:before { + content: "\e5f6"; +} +.icon-arrow-16:before { + content: "\e5f7"; +} +.icon-arrow-17:before { + content: "\e5f8"; +} +.icon-arrow-18:before { + content: "\e5f9"; +} +.icon-arrow-19:before { + content: "\e5fa"; +} +.icon-arrow-20:before { + content: "\e5fb"; +} +.icon-arrow-21:before { + content: "\e5fc"; +} +.icon-arrow-22:before { + content: "\e5fd"; +} +.icon-arrow-23:before { + content: "\e5fe"; +} +.icon-arrow-24:before { + content: "\e5ff"; +} +.icon-arrow-25:before { + content: "\e600"; +} +.icon-arrow-26:before { + content: "\e601"; +} +.icon-arrow-27:before { + content: "\e602"; +} +.icon-arrow-28:before { + content: "\e603"; +} +.icon-arrow-29:before { + content: "\e604"; +} +.icon-arrow-30:before { + content: "\e605"; +} +.icon-arrow-31:before { + content: "\e606"; +} +.icon-arrow-32:before { + content: "\e607"; +} +.icon-arrow-33:before { + content: "\e608"; +} +.icon-arrow-34:before { + content: "\e609"; +} +.icon-arrow-35:before { + content: "\e60a"; +} +.icon-arrow-36:before { + content: "\e60b"; +} +.icon-arrow-37:before { + content: "\e60c"; +} +.icon-arrow-38:before { + content: "\e60d"; +} +.icon-arrow-39:before { + content: "\e60e"; +} +.icon-arrow-40:before { + content: "\e60f"; +} +.icon-arrow-41:before { + content: "\e610"; +} +.icon-arrow-42:before { + content: "\e611"; +} +.icon-arrow-43:before { + content: "\e612"; +} +.icon-arrow-44:before { + content: "\e613"; +} +.icon-arrow-45:before { + content: "\e614"; +} +.icon-arrow-46:before { + content: "\e615"; +} +.icon-arrow-47:before { + content: "\e616"; +} +.icon-arrow-48:before { + content: "\e617"; +} +.icon-arrow-49:before { + content: "\e618"; +} +.icon-arrow-50:before { + content: "\e619"; +} +.icon-arrow-51:before { + content: "\e61a"; +} +.icon-arrow-52:before { + content: "\e61b"; +} +.icon-arrow-53:before { + content: "\e61c"; +} +.icon-arrow-54:before { + content: "\e61d"; +} +.icon-arrow-55:before { + content: "\e61e"; +} +.icon-arrow-56:before { + content: "\e61f"; +} +.icon-arrow-57:before { + content: "\e620"; +} +.icon-arrow-58:before { + content: "\e621"; +} +.icon-arrow-59:before { + content: "\e622"; +} +.icon-arrow-60:before { + content: "\e623"; +} +.icon-arrow-61:before { + content: "\e624"; +} +.icon-arrow-62:before { + content: "\e625"; +} +.icon-arrow-63:before { + content: "\e626"; +} +.icon-arrow-64:before { + content: "\e627"; +} +.icon-arrow-65:before { + content: "\e628"; +} +.icon-arrow-66:before { + content: "\e629"; +} +.icon-arrow-67:before { + content: "\e62a"; +} +.icon-arrow-68:before { + content: "\e62b"; +} +.icon-arrow-69:before { + content: "\e62c"; +} +.icon-arrow-70:before { + content: "\e62d"; +} +.icon-arrow-71:before { + content: "\e62e"; +} +.icon-arrow-72:before { + content: "\e62f"; +} +.icon-arrow-circle-1:before { + content: "\e630"; +} +.icon-arrow-circle-2:before { + content: "\e631"; +} +.icon-arrow-circle-3:before { + content: "\e632"; +} +.icon-arrow-circle-4:before { + content: "\e633"; +} +.icon-arrow-circle-5:before { + content: "\e634"; +} +.icon-arrow-circle-6:before { + content: "\e635"; +} +.icon-arrow-circle-7:before { + content: "\e636"; +} +.icon-arrow-circle-8:before { + content: "\e637"; +} +.icon-arrow-circle-9:before { + content: "\e638"; +} +.icon-arrow-circle-10:before { + content: "\e639"; +} +.icon-arrow-circle-11:before { + content: "\e63a"; +} +.icon-arrow-circle-12:before { + content: "\e63b"; +} +.icon-arrow-circle-13:before { + content: "\e63c"; +} +.icon-arrow-circle-14:before { + content: "\e63d"; +} +.icon-arrow-circle-15:before { + content: "\e63e"; +} +.icon-arrow-circle-16:before { + content: "\e63f"; +} +.icon-arrow-circle-17:before { + content: "\e640"; +} +.icon-arrow-circle-18:before { + content: "\e641"; +} +.icon-arrow-circle-19:before { + content: "\e642"; +} +.icon-arrow-circle-20:before { + content: "\e643"; +} +.icon-arrow-circle-21:before { + content: "\e644"; +} +.icon-arrow-circle-22:before { + content: "\e645"; +} +.icon-arrow-circle-23:before { + content: "\e646"; +} +.icon-arrow-circle-24:before { + content: "\e647"; +} +.icon-arrow-circle-25:before { + content: "\e648"; +} +.icon-arrow-circle-26:before { + content: "\e649"; +} +.icon-arrow-circle-27:before { + content: "\e64a"; +} +.icon-arrow-circle-28:before { + content: "\e64b"; +} +.icon-arrow-circle-29:before { + content: "\e64c"; +} +.icon-arrow-circle-30:before { + content: "\e64d"; +} +.icon-arrow-delete-1:before { + content: "\e64e"; +} +.icon-arrow-delete-2:before { + content: "\e64f"; +} +.icon-arrow-dot-1:before { + content: "\e650"; +} +.icon-arrow-dot-2:before { + content: "\e651"; +} +.icon-arrow-dot-3:before { + content: "\e652"; +} +.icon-arrow-dot-4:before { + content: "\e653"; +} +.icon-arrow-dot-5:before { + content: "\e654"; +} +.icon-arrow-dot-6:before { + content: "\e655"; +} +.icon-arrow-rectangle-1:before { + content: "\e656"; +} +.icon-arrow-rectangle-2:before { + content: "\e657"; +} +.icon-arrow-rectangle-3:before { + content: "\e658"; +} +.icon-arrow-rectangle-4:before { + content: "\e659"; +} +.icon-arrow-rectangle-5:before { + content: "\e65a"; +} +.icon-arrow-rectangle-6:before { + content: "\e65b"; +} +.icon-arrow-rectangle-7:before { + content: "\e65c"; +} +.icon-arrow-rectangle-8:before { + content: "\e65d"; +} +.icon-arrow-rectangle-9:before { + content: "\e65e"; +} +.icon-arrow-rectangle-10:before { + content: "\e65f"; +} +.icon-arrow-rectangle-11:before { + content: "\e660"; +} +.icon-arrow-rectangle-12:before { + content: "\e661"; +} +.icon-arrow-rectangle-13:before { + content: "\e662"; +} +.icon-arrow-rectangle-14:before { + content: "\e663"; +} +.icon-arrow-rectangle-15:before { + content: "\e664"; +} +.icon-arrow-rectangle-16:before { + content: "\e665"; +} +.icon-arrow-rectangle-17:before { + content: "\e666"; +} +.icon-arrow-rectangle-18:before { + content: "\e667"; +} +.icon-arrow-rectangle-19:before { + content: "\e668"; +} +.icon-arrow-rectangle-20:before { + content: "\e669"; +} +/* +The MIT License (MIT) + +Copyright (c) 2013 Imulus, LLC, Ben Atkin, and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +.setup { + margin-top: 25%; + text-align: center; +} +.setup p { + margin-top: 20px; +} +.setup p.error { + color: #d9534f; +} +@-webkit-keyframes rotating { + from { + -webkit-transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + } +} +.radial-progress { + margin: 0 auto; + width: 96px; + height: 96px; + background-color: transparent; + border-radius: 100%; +} +.radial-progress.radial-spinner { + -webkit-animation: rotating 1.2s linear infinite; +} +.radial-progress .circle .mask, +.radial-progress .circle .fill, +.radial-progress .circle .shadow { + width: 96px; + height: 96px; + position: absolute; + border-radius: 100%; +} +.radial-progress .circle .mask, +.radial-progress .circle .fill { + -webkit-backface-visibility: hidden; + transition: -webkit-transform 1s; + transition: -ms-transform 1s; + transition: transform 1s; + border-radius: 100%; +} +.radial-progress .circle .mask { + clip: rect(0px, 96px, 96px, 48px); +} +.radial-progress .circle .mask .fill { + clip: rect(0px, 48px, 96px, 0px); + background-color: #24b8eb; +} +.radial-progress .inset { + width: 92px; + height: 92px; + position: absolute; + margin-left: 2px; + margin-top: 2px; + background-color: white; + border-radius: 100%; +} +.radial-progress .inset .percentage { + width: 57px; + position: absolute; + top: 39px; + left: 17.5px; + line-height: 1; + text-align: center; + font-weight: 500; + font-size: 14px; +} +.radial-progress.radial-negative .circle .mask .fill { + background-color: #f47a45; +} +.radial-progress.radial-positive .circle .mask .fill { + background-color: #65e100; +} +.radial-progress[data-progress="0"] .circle .mask.full, +.radial-progress[data-progress="0"] .circle .fill { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); +} +.radial-progress[data-progress="0"] .circle .fill.fix { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); +} +.radial-progress[data-progress="0"] .inset .percentage:before { + content: "0%"; +} +.radial-progress[data-progress="1"] .circle .mask.full, +.radial-progress[data-progress="1"] .circle .fill { + -webkit-transform: rotate(1.8deg); + -ms-transform: rotate(1.8deg); + transform: rotate(1.8deg); +} +.radial-progress[data-progress="1"] .circle .fill.fix { + -webkit-transform: rotate(3.6deg); + -ms-transform: rotate(3.6deg); + transform: rotate(3.6deg); +} +.radial-progress[data-progress="1"] .inset .percentage:before { + content: "1%"; +} +.radial-progress[data-progress="2"] .circle .mask.full, +.radial-progress[data-progress="2"] .circle .fill { + -webkit-transform: rotate(3.6deg); + -ms-transform: rotate(3.6deg); + transform: rotate(3.6deg); +} +.radial-progress[data-progress="2"] .circle .fill.fix { + -webkit-transform: rotate(7.2deg); + -ms-transform: rotate(7.2deg); + transform: rotate(7.2deg); +} +.radial-progress[data-progress="2"] .inset .percentage:before { + content: "2%"; +} +.radial-progress[data-progress="3"] .circle .mask.full, +.radial-progress[data-progress="3"] .circle .fill { + -webkit-transform: rotate(5.4deg); + -ms-transform: rotate(5.4deg); + transform: rotate(5.4deg); +} +.radial-progress[data-progress="3"] .circle .fill.fix { + -webkit-transform: rotate(10.8deg); + -ms-transform: rotate(10.8deg); + transform: rotate(10.8deg); +} +.radial-progress[data-progress="3"] .inset .percentage:before { + content: "3%"; +} +.radial-progress[data-progress="4"] .circle .mask.full, +.radial-progress[data-progress="4"] .circle .fill { + -webkit-transform: rotate(7.2deg); + -ms-transform: rotate(7.2deg); + transform: rotate(7.2deg); +} +.radial-progress[data-progress="4"] .circle .fill.fix { + -webkit-transform: rotate(14.4deg); + -ms-transform: rotate(14.4deg); + transform: rotate(14.4deg); +} +.radial-progress[data-progress="4"] .inset .percentage:before { + content: "4%"; +} +.radial-progress[data-progress="5"] .circle .mask.full, +.radial-progress[data-progress="5"] .circle .fill { + -webkit-transform: rotate(9deg); + -ms-transform: rotate(9deg); + transform: rotate(9deg); +} +.radial-progress[data-progress="5"] .circle .fill.fix { + -webkit-transform: rotate(18deg); + -ms-transform: rotate(18deg); + transform: rotate(18deg); +} +.radial-progress[data-progress="5"] .inset .percentage:before { + content: "5%"; +} +.radial-progress[data-progress="6"] .circle .mask.full, +.radial-progress[data-progress="6"] .circle .fill { + -webkit-transform: rotate(10.8deg); + -ms-transform: rotate(10.8deg); + transform: rotate(10.8deg); +} +.radial-progress[data-progress="6"] .circle .fill.fix { + -webkit-transform: rotate(21.6deg); + -ms-transform: rotate(21.6deg); + transform: rotate(21.6deg); +} +.radial-progress[data-progress="6"] .inset .percentage:before { + content: "6%"; +} +.radial-progress[data-progress="7"] .circle .mask.full, +.radial-progress[data-progress="7"] .circle .fill { + -webkit-transform: rotate(12.6deg); + -ms-transform: rotate(12.6deg); + transform: rotate(12.6deg); +} +.radial-progress[data-progress="7"] .circle .fill.fix { + -webkit-transform: rotate(25.2deg); + -ms-transform: rotate(25.2deg); + transform: rotate(25.2deg); +} +.radial-progress[data-progress="7"] .inset .percentage:before { + content: "7%"; +} +.radial-progress[data-progress="8"] .circle .mask.full, +.radial-progress[data-progress="8"] .circle .fill { + -webkit-transform: rotate(14.4deg); + -ms-transform: rotate(14.4deg); + transform: rotate(14.4deg); +} +.radial-progress[data-progress="8"] .circle .fill.fix { + -webkit-transform: rotate(28.8deg); + -ms-transform: rotate(28.8deg); + transform: rotate(28.8deg); +} +.radial-progress[data-progress="8"] .inset .percentage:before { + content: "8%"; +} +.radial-progress[data-progress="9"] .circle .mask.full, +.radial-progress[data-progress="9"] .circle .fill { + -webkit-transform: rotate(16.2deg); + -ms-transform: rotate(16.2deg); + transform: rotate(16.2deg); +} +.radial-progress[data-progress="9"] .circle .fill.fix { + -webkit-transform: rotate(32.4deg); + -ms-transform: rotate(32.4deg); + transform: rotate(32.4deg); +} +.radial-progress[data-progress="9"] .inset .percentage:before { + content: "9%"; +} +.radial-progress[data-progress="10"] .circle .mask.full, +.radial-progress[data-progress="10"] .circle .fill { + -webkit-transform: rotate(18deg); + -ms-transform: rotate(18deg); + transform: rotate(18deg); +} +.radial-progress[data-progress="10"] .circle .fill.fix { + -webkit-transform: rotate(36deg); + -ms-transform: rotate(36deg); + transform: rotate(36deg); +} +.radial-progress[data-progress="10"] .inset .percentage:before { + content: "10%"; +} +.radial-progress[data-progress="11"] .circle .mask.full, +.radial-progress[data-progress="11"] .circle .fill { + -webkit-transform: rotate(19.8deg); + -ms-transform: rotate(19.8deg); + transform: rotate(19.8deg); +} +.radial-progress[data-progress="11"] .circle .fill.fix { + -webkit-transform: rotate(39.6deg); + -ms-transform: rotate(39.6deg); + transform: rotate(39.6deg); +} +.radial-progress[data-progress="11"] .inset .percentage:before { + content: "11%"; +} +.radial-progress[data-progress="12"] .circle .mask.full, +.radial-progress[data-progress="12"] .circle .fill { + -webkit-transform: rotate(21.6deg); + -ms-transform: rotate(21.6deg); + transform: rotate(21.6deg); +} +.radial-progress[data-progress="12"] .circle .fill.fix { + -webkit-transform: rotate(43.2deg); + -ms-transform: rotate(43.2deg); + transform: rotate(43.2deg); +} +.radial-progress[data-progress="12"] .inset .percentage:before { + content: "12%"; +} +.radial-progress[data-progress="13"] .circle .mask.full, +.radial-progress[data-progress="13"] .circle .fill { + -webkit-transform: rotate(23.4deg); + -ms-transform: rotate(23.4deg); + transform: rotate(23.4deg); +} +.radial-progress[data-progress="13"] .circle .fill.fix { + -webkit-transform: rotate(46.8deg); + -ms-transform: rotate(46.8deg); + transform: rotate(46.8deg); +} +.radial-progress[data-progress="13"] .inset .percentage:before { + content: "13%"; +} +.radial-progress[data-progress="14"] .circle .mask.full, +.radial-progress[data-progress="14"] .circle .fill { + -webkit-transform: rotate(25.2deg); + -ms-transform: rotate(25.2deg); + transform: rotate(25.2deg); +} +.radial-progress[data-progress="14"] .circle .fill.fix { + -webkit-transform: rotate(50.4deg); + -ms-transform: rotate(50.4deg); + transform: rotate(50.4deg); +} +.radial-progress[data-progress="14"] .inset .percentage:before { + content: "14%"; +} +.radial-progress[data-progress="15"] .circle .mask.full, +.radial-progress[data-progress="15"] .circle .fill { + -webkit-transform: rotate(27deg); + -ms-transform: rotate(27deg); + transform: rotate(27deg); +} +.radial-progress[data-progress="15"] .circle .fill.fix { + -webkit-transform: rotate(54deg); + -ms-transform: rotate(54deg); + transform: rotate(54deg); +} +.radial-progress[data-progress="15"] .inset .percentage:before { + content: "15%"; +} +.radial-progress[data-progress="16"] .circle .mask.full, +.radial-progress[data-progress="16"] .circle .fill { + -webkit-transform: rotate(28.8deg); + -ms-transform: rotate(28.8deg); + transform: rotate(28.8deg); +} +.radial-progress[data-progress="16"] .circle .fill.fix { + -webkit-transform: rotate(57.6deg); + -ms-transform: rotate(57.6deg); + transform: rotate(57.6deg); +} +.radial-progress[data-progress="16"] .inset .percentage:before { + content: "16%"; +} +.radial-progress[data-progress="17"] .circle .mask.full, +.radial-progress[data-progress="17"] .circle .fill { + -webkit-transform: rotate(30.6deg); + -ms-transform: rotate(30.6deg); + transform: rotate(30.6deg); +} +.radial-progress[data-progress="17"] .circle .fill.fix { + -webkit-transform: rotate(61.2deg); + -ms-transform: rotate(61.2deg); + transform: rotate(61.2deg); +} +.radial-progress[data-progress="17"] .inset .percentage:before { + content: "17%"; +} +.radial-progress[data-progress="18"] .circle .mask.full, +.radial-progress[data-progress="18"] .circle .fill { + -webkit-transform: rotate(32.4deg); + -ms-transform: rotate(32.4deg); + transform: rotate(32.4deg); +} +.radial-progress[data-progress="18"] .circle .fill.fix { + -webkit-transform: rotate(64.8deg); + -ms-transform: rotate(64.8deg); + transform: rotate(64.8deg); +} +.radial-progress[data-progress="18"] .inset .percentage:before { + content: "18%"; +} +.radial-progress[data-progress="19"] .circle .mask.full, +.radial-progress[data-progress="19"] .circle .fill { + -webkit-transform: rotate(34.2deg); + -ms-transform: rotate(34.2deg); + transform: rotate(34.2deg); +} +.radial-progress[data-progress="19"] .circle .fill.fix { + -webkit-transform: rotate(68.4deg); + -ms-transform: rotate(68.4deg); + transform: rotate(68.4deg); +} +.radial-progress[data-progress="19"] .inset .percentage:before { + content: "19%"; +} +.radial-progress[data-progress="20"] .circle .mask.full, +.radial-progress[data-progress="20"] .circle .fill { + -webkit-transform: rotate(36deg); + -ms-transform: rotate(36deg); + transform: rotate(36deg); +} +.radial-progress[data-progress="20"] .circle .fill.fix { + -webkit-transform: rotate(72deg); + -ms-transform: rotate(72deg); + transform: rotate(72deg); +} +.radial-progress[data-progress="20"] .inset .percentage:before { + content: "20%"; +} +.radial-progress[data-progress="21"] .circle .mask.full, +.radial-progress[data-progress="21"] .circle .fill { + -webkit-transform: rotate(37.8deg); + -ms-transform: rotate(37.8deg); + transform: rotate(37.8deg); +} +.radial-progress[data-progress="21"] .circle .fill.fix { + -webkit-transform: rotate(75.6deg); + -ms-transform: rotate(75.6deg); + transform: rotate(75.6deg); +} +.radial-progress[data-progress="21"] .inset .percentage:before { + content: "21%"; +} +.radial-progress[data-progress="22"] .circle .mask.full, +.radial-progress[data-progress="22"] .circle .fill { + -webkit-transform: rotate(39.6deg); + -ms-transform: rotate(39.6deg); + transform: rotate(39.6deg); +} +.radial-progress[data-progress="22"] .circle .fill.fix { + -webkit-transform: rotate(79.2deg); + -ms-transform: rotate(79.2deg); + transform: rotate(79.2deg); +} +.radial-progress[data-progress="22"] .inset .percentage:before { + content: "22%"; +} +.radial-progress[data-progress="23"] .circle .mask.full, +.radial-progress[data-progress="23"] .circle .fill { + -webkit-transform: rotate(41.4deg); + -ms-transform: rotate(41.4deg); + transform: rotate(41.4deg); +} +.radial-progress[data-progress="23"] .circle .fill.fix { + -webkit-transform: rotate(82.8deg); + -ms-transform: rotate(82.8deg); + transform: rotate(82.8deg); +} +.radial-progress[data-progress="23"] .inset .percentage:before { + content: "23%"; +} +.radial-progress[data-progress="24"] .circle .mask.full, +.radial-progress[data-progress="24"] .circle .fill { + -webkit-transform: rotate(43.2deg); + -ms-transform: rotate(43.2deg); + transform: rotate(43.2deg); +} +.radial-progress[data-progress="24"] .circle .fill.fix { + -webkit-transform: rotate(86.4deg); + -ms-transform: rotate(86.4deg); + transform: rotate(86.4deg); +} +.radial-progress[data-progress="24"] .inset .percentage:before { + content: "24%"; +} +.radial-progress[data-progress="25"] .circle .mask.full, +.radial-progress[data-progress="25"] .circle .fill { + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +.radial-progress[data-progress="25"] .circle .fill.fix { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.radial-progress[data-progress="25"] .inset .percentage:before { + content: "25%"; +} +.radial-progress[data-progress="26"] .circle .mask.full, +.radial-progress[data-progress="26"] .circle .fill { + -webkit-transform: rotate(46.8deg); + -ms-transform: rotate(46.8deg); + transform: rotate(46.8deg); +} +.radial-progress[data-progress="26"] .circle .fill.fix { + -webkit-transform: rotate(93.6deg); + -ms-transform: rotate(93.6deg); + transform: rotate(93.6deg); +} +.radial-progress[data-progress="26"] .inset .percentage:before { + content: "26%"; +} +.radial-progress[data-progress="27"] .circle .mask.full, +.radial-progress[data-progress="27"] .circle .fill { + -webkit-transform: rotate(48.6deg); + -ms-transform: rotate(48.6deg); + transform: rotate(48.6deg); +} +.radial-progress[data-progress="27"] .circle .fill.fix { + -webkit-transform: rotate(97.2deg); + -ms-transform: rotate(97.2deg); + transform: rotate(97.2deg); +} +.radial-progress[data-progress="27"] .inset .percentage:before { + content: "27%"; +} +.radial-progress[data-progress="28"] .circle .mask.full, +.radial-progress[data-progress="28"] .circle .fill { + -webkit-transform: rotate(50.4deg); + -ms-transform: rotate(50.4deg); + transform: rotate(50.4deg); +} +.radial-progress[data-progress="28"] .circle .fill.fix { + -webkit-transform: rotate(100.8deg); + -ms-transform: rotate(100.8deg); + transform: rotate(100.8deg); +} +.radial-progress[data-progress="28"] .inset .percentage:before { + content: "28%"; +} +.radial-progress[data-progress="29"] .circle .mask.full, +.radial-progress[data-progress="29"] .circle .fill { + -webkit-transform: rotate(52.2deg); + -ms-transform: rotate(52.2deg); + transform: rotate(52.2deg); +} +.radial-progress[data-progress="29"] .circle .fill.fix { + -webkit-transform: rotate(104.4deg); + -ms-transform: rotate(104.4deg); + transform: rotate(104.4deg); +} +.radial-progress[data-progress="29"] .inset .percentage:before { + content: "29%"; +} +.radial-progress[data-progress="30"] .circle .mask.full, +.radial-progress[data-progress="30"] .circle .fill { + -webkit-transform: rotate(54deg); + -ms-transform: rotate(54deg); + transform: rotate(54deg); +} +.radial-progress[data-progress="30"] .circle .fill.fix { + -webkit-transform: rotate(108deg); + -ms-transform: rotate(108deg); + transform: rotate(108deg); +} +.radial-progress[data-progress="30"] .inset .percentage:before { + content: "30%"; +} +.radial-progress[data-progress="31"] .circle .mask.full, +.radial-progress[data-progress="31"] .circle .fill { + -webkit-transform: rotate(55.8deg); + -ms-transform: rotate(55.8deg); + transform: rotate(55.8deg); +} +.radial-progress[data-progress="31"] .circle .fill.fix { + -webkit-transform: rotate(111.6deg); + -ms-transform: rotate(111.6deg); + transform: rotate(111.6deg); +} +.radial-progress[data-progress="31"] .inset .percentage:before { + content: "31%"; +} +.radial-progress[data-progress="32"] .circle .mask.full, +.radial-progress[data-progress="32"] .circle .fill { + -webkit-transform: rotate(57.6deg); + -ms-transform: rotate(57.6deg); + transform: rotate(57.6deg); +} +.radial-progress[data-progress="32"] .circle .fill.fix { + -webkit-transform: rotate(115.2deg); + -ms-transform: rotate(115.2deg); + transform: rotate(115.2deg); +} +.radial-progress[data-progress="32"] .inset .percentage:before { + content: "32%"; +} +.radial-progress[data-progress="33"] .circle .mask.full, +.radial-progress[data-progress="33"] .circle .fill { + -webkit-transform: rotate(59.4deg); + -ms-transform: rotate(59.4deg); + transform: rotate(59.4deg); +} +.radial-progress[data-progress="33"] .circle .fill.fix { + -webkit-transform: rotate(118.8deg); + -ms-transform: rotate(118.8deg); + transform: rotate(118.8deg); +} +.radial-progress[data-progress="33"] .inset .percentage:before { + content: "33%"; +} +.radial-progress[data-progress="34"] .circle .mask.full, +.radial-progress[data-progress="34"] .circle .fill { + -webkit-transform: rotate(61.2deg); + -ms-transform: rotate(61.2deg); + transform: rotate(61.2deg); +} +.radial-progress[data-progress="34"] .circle .fill.fix { + -webkit-transform: rotate(122.4deg); + -ms-transform: rotate(122.4deg); + transform: rotate(122.4deg); +} +.radial-progress[data-progress="34"] .inset .percentage:before { + content: "34%"; +} +.radial-progress[data-progress="35"] .circle .mask.full, +.radial-progress[data-progress="35"] .circle .fill { + -webkit-transform: rotate(63deg); + -ms-transform: rotate(63deg); + transform: rotate(63deg); +} +.radial-progress[data-progress="35"] .circle .fill.fix { + -webkit-transform: rotate(126deg); + -ms-transform: rotate(126deg); + transform: rotate(126deg); +} +.radial-progress[data-progress="35"] .inset .percentage:before { + content: "35%"; +} +.radial-progress[data-progress="36"] .circle .mask.full, +.radial-progress[data-progress="36"] .circle .fill { + -webkit-transform: rotate(64.8deg); + -ms-transform: rotate(64.8deg); + transform: rotate(64.8deg); +} +.radial-progress[data-progress="36"] .circle .fill.fix { + -webkit-transform: rotate(129.6deg); + -ms-transform: rotate(129.6deg); + transform: rotate(129.6deg); +} +.radial-progress[data-progress="36"] .inset .percentage:before { + content: "36%"; +} +.radial-progress[data-progress="37"] .circle .mask.full, +.radial-progress[data-progress="37"] .circle .fill { + -webkit-transform: rotate(66.6deg); + -ms-transform: rotate(66.6deg); + transform: rotate(66.6deg); +} +.radial-progress[data-progress="37"] .circle .fill.fix { + -webkit-transform: rotate(133.2deg); + -ms-transform: rotate(133.2deg); + transform: rotate(133.2deg); +} +.radial-progress[data-progress="37"] .inset .percentage:before { + content: "37%"; +} +.radial-progress[data-progress="38"] .circle .mask.full, +.radial-progress[data-progress="38"] .circle .fill { + -webkit-transform: rotate(68.4deg); + -ms-transform: rotate(68.4deg); + transform: rotate(68.4deg); +} +.radial-progress[data-progress="38"] .circle .fill.fix { + -webkit-transform: rotate(136.8deg); + -ms-transform: rotate(136.8deg); + transform: rotate(136.8deg); +} +.radial-progress[data-progress="38"] .inset .percentage:before { + content: "38%"; +} +.radial-progress[data-progress="39"] .circle .mask.full, +.radial-progress[data-progress="39"] .circle .fill { + -webkit-transform: rotate(70.2deg); + -ms-transform: rotate(70.2deg); + transform: rotate(70.2deg); +} +.radial-progress[data-progress="39"] .circle .fill.fix { + -webkit-transform: rotate(140.4deg); + -ms-transform: rotate(140.4deg); + transform: rotate(140.4deg); +} +.radial-progress[data-progress="39"] .inset .percentage:before { + content: "39%"; +} +.radial-progress[data-progress="40"] .circle .mask.full, +.radial-progress[data-progress="40"] .circle .fill { + -webkit-transform: rotate(72deg); + -ms-transform: rotate(72deg); + transform: rotate(72deg); +} +.radial-progress[data-progress="40"] .circle .fill.fix { + -webkit-transform: rotate(144deg); + -ms-transform: rotate(144deg); + transform: rotate(144deg); +} +.radial-progress[data-progress="40"] .inset .percentage:before { + content: "40%"; +} +.radial-progress[data-progress="41"] .circle .mask.full, +.radial-progress[data-progress="41"] .circle .fill { + -webkit-transform: rotate(73.8deg); + -ms-transform: rotate(73.8deg); + transform: rotate(73.8deg); +} +.radial-progress[data-progress="41"] .circle .fill.fix { + -webkit-transform: rotate(147.6deg); + -ms-transform: rotate(147.6deg); + transform: rotate(147.6deg); +} +.radial-progress[data-progress="41"] .inset .percentage:before { + content: "41%"; +} +.radial-progress[data-progress="42"] .circle .mask.full, +.radial-progress[data-progress="42"] .circle .fill { + -webkit-transform: rotate(75.6deg); + -ms-transform: rotate(75.6deg); + transform: rotate(75.6deg); +} +.radial-progress[data-progress="42"] .circle .fill.fix { + -webkit-transform: rotate(151.2deg); + -ms-transform: rotate(151.2deg); + transform: rotate(151.2deg); +} +.radial-progress[data-progress="42"] .inset .percentage:before { + content: "42%"; +} +.radial-progress[data-progress="43"] .circle .mask.full, +.radial-progress[data-progress="43"] .circle .fill { + -webkit-transform: rotate(77.4deg); + -ms-transform: rotate(77.4deg); + transform: rotate(77.4deg); +} +.radial-progress[data-progress="43"] .circle .fill.fix { + -webkit-transform: rotate(154.8deg); + -ms-transform: rotate(154.8deg); + transform: rotate(154.8deg); +} +.radial-progress[data-progress="43"] .inset .percentage:before { + content: "43%"; +} +.radial-progress[data-progress="44"] .circle .mask.full, +.radial-progress[data-progress="44"] .circle .fill { + -webkit-transform: rotate(79.2deg); + -ms-transform: rotate(79.2deg); + transform: rotate(79.2deg); +} +.radial-progress[data-progress="44"] .circle .fill.fix { + -webkit-transform: rotate(158.4deg); + -ms-transform: rotate(158.4deg); + transform: rotate(158.4deg); +} +.radial-progress[data-progress="44"] .inset .percentage:before { + content: "44%"; +} +.radial-progress[data-progress="45"] .circle .mask.full, +.radial-progress[data-progress="45"] .circle .fill { + -webkit-transform: rotate(81deg); + -ms-transform: rotate(81deg); + transform: rotate(81deg); +} +.radial-progress[data-progress="45"] .circle .fill.fix { + -webkit-transform: rotate(162deg); + -ms-transform: rotate(162deg); + transform: rotate(162deg); +} +.radial-progress[data-progress="45"] .inset .percentage:before { + content: "45%"; +} +.radial-progress[data-progress="46"] .circle .mask.full, +.radial-progress[data-progress="46"] .circle .fill { + -webkit-transform: rotate(82.8deg); + -ms-transform: rotate(82.8deg); + transform: rotate(82.8deg); +} +.radial-progress[data-progress="46"] .circle .fill.fix { + -webkit-transform: rotate(165.6deg); + -ms-transform: rotate(165.6deg); + transform: rotate(165.6deg); +} +.radial-progress[data-progress="46"] .inset .percentage:before { + content: "46%"; +} +.radial-progress[data-progress="47"] .circle .mask.full, +.radial-progress[data-progress="47"] .circle .fill { + -webkit-transform: rotate(84.6deg); + -ms-transform: rotate(84.6deg); + transform: rotate(84.6deg); +} +.radial-progress[data-progress="47"] .circle .fill.fix { + -webkit-transform: rotate(169.2deg); + -ms-transform: rotate(169.2deg); + transform: rotate(169.2deg); +} +.radial-progress[data-progress="47"] .inset .percentage:before { + content: "47%"; +} +.radial-progress[data-progress="48"] .circle .mask.full, +.radial-progress[data-progress="48"] .circle .fill { + -webkit-transform: rotate(86.4deg); + -ms-transform: rotate(86.4deg); + transform: rotate(86.4deg); +} +.radial-progress[data-progress="48"] .circle .fill.fix { + -webkit-transform: rotate(172.8deg); + -ms-transform: rotate(172.8deg); + transform: rotate(172.8deg); +} +.radial-progress[data-progress="48"] .inset .percentage:before { + content: "48%"; +} +.radial-progress[data-progress="49"] .circle .mask.full, +.radial-progress[data-progress="49"] .circle .fill { + -webkit-transform: rotate(88.2deg); + -ms-transform: rotate(88.2deg); + transform: rotate(88.2deg); +} +.radial-progress[data-progress="49"] .circle .fill.fix { + -webkit-transform: rotate(176.4deg); + -ms-transform: rotate(176.4deg); + transform: rotate(176.4deg); +} +.radial-progress[data-progress="49"] .inset .percentage:before { + content: "49%"; +} +.radial-progress[data-progress="50"] .circle .mask.full, +.radial-progress[data-progress="50"] .circle .fill { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.radial-progress[data-progress="50"] .circle .fill.fix { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.radial-progress[data-progress="50"] .inset .percentage:before { + content: "50%"; +} +.radial-progress[data-progress="51"] .circle .mask.full, +.radial-progress[data-progress="51"] .circle .fill { + -webkit-transform: rotate(91.8deg); + -ms-transform: rotate(91.8deg); + transform: rotate(91.8deg); +} +.radial-progress[data-progress="51"] .circle .fill.fix { + -webkit-transform: rotate(183.6deg); + -ms-transform: rotate(183.6deg); + transform: rotate(183.6deg); +} +.radial-progress[data-progress="51"] .inset .percentage:before { + content: "51%"; +} +.radial-progress[data-progress="52"] .circle .mask.full, +.radial-progress[data-progress="52"] .circle .fill { + -webkit-transform: rotate(93.6deg); + -ms-transform: rotate(93.6deg); + transform: rotate(93.6deg); +} +.radial-progress[data-progress="52"] .circle .fill.fix { + -webkit-transform: rotate(187.2deg); + -ms-transform: rotate(187.2deg); + transform: rotate(187.2deg); +} +.radial-progress[data-progress="52"] .inset .percentage:before { + content: "52%"; +} +.radial-progress[data-progress="53"] .circle .mask.full, +.radial-progress[data-progress="53"] .circle .fill { + -webkit-transform: rotate(95.4deg); + -ms-transform: rotate(95.4deg); + transform: rotate(95.4deg); +} +.radial-progress[data-progress="53"] .circle .fill.fix { + -webkit-transform: rotate(190.8deg); + -ms-transform: rotate(190.8deg); + transform: rotate(190.8deg); +} +.radial-progress[data-progress="53"] .inset .percentage:before { + content: "53%"; +} +.radial-progress[data-progress="54"] .circle .mask.full, +.radial-progress[data-progress="54"] .circle .fill { + -webkit-transform: rotate(97.2deg); + -ms-transform: rotate(97.2deg); + transform: rotate(97.2deg); +} +.radial-progress[data-progress="54"] .circle .fill.fix { + -webkit-transform: rotate(194.4deg); + -ms-transform: rotate(194.4deg); + transform: rotate(194.4deg); +} +.radial-progress[data-progress="54"] .inset .percentage:before { + content: "54%"; +} +.radial-progress[data-progress="55"] .circle .mask.full, +.radial-progress[data-progress="55"] .circle .fill { + -webkit-transform: rotate(99deg); + -ms-transform: rotate(99deg); + transform: rotate(99deg); +} +.radial-progress[data-progress="55"] .circle .fill.fix { + -webkit-transform: rotate(198deg); + -ms-transform: rotate(198deg); + transform: rotate(198deg); +} +.radial-progress[data-progress="55"] .inset .percentage:before { + content: "55%"; +} +.radial-progress[data-progress="56"] .circle .mask.full, +.radial-progress[data-progress="56"] .circle .fill { + -webkit-transform: rotate(100.8deg); + -ms-transform: rotate(100.8deg); + transform: rotate(100.8deg); +} +.radial-progress[data-progress="56"] .circle .fill.fix { + -webkit-transform: rotate(201.6deg); + -ms-transform: rotate(201.6deg); + transform: rotate(201.6deg); +} +.radial-progress[data-progress="56"] .inset .percentage:before { + content: "56%"; +} +.radial-progress[data-progress="57"] .circle .mask.full, +.radial-progress[data-progress="57"] .circle .fill { + -webkit-transform: rotate(102.6deg); + -ms-transform: rotate(102.6deg); + transform: rotate(102.6deg); +} +.radial-progress[data-progress="57"] .circle .fill.fix { + -webkit-transform: rotate(205.2deg); + -ms-transform: rotate(205.2deg); + transform: rotate(205.2deg); +} +.radial-progress[data-progress="57"] .inset .percentage:before { + content: "57%"; +} +.radial-progress[data-progress="58"] .circle .mask.full, +.radial-progress[data-progress="58"] .circle .fill { + -webkit-transform: rotate(104.4deg); + -ms-transform: rotate(104.4deg); + transform: rotate(104.4deg); +} +.radial-progress[data-progress="58"] .circle .fill.fix { + -webkit-transform: rotate(208.8deg); + -ms-transform: rotate(208.8deg); + transform: rotate(208.8deg); +} +.radial-progress[data-progress="58"] .inset .percentage:before { + content: "58%"; +} +.radial-progress[data-progress="59"] .circle .mask.full, +.radial-progress[data-progress="59"] .circle .fill { + -webkit-transform: rotate(106.2deg); + -ms-transform: rotate(106.2deg); + transform: rotate(106.2deg); +} +.radial-progress[data-progress="59"] .circle .fill.fix { + -webkit-transform: rotate(212.4deg); + -ms-transform: rotate(212.4deg); + transform: rotate(212.4deg); +} +.radial-progress[data-progress="59"] .inset .percentage:before { + content: "59%"; +} +.radial-progress[data-progress="60"] .circle .mask.full, +.radial-progress[data-progress="60"] .circle .fill { + -webkit-transform: rotate(108deg); + -ms-transform: rotate(108deg); + transform: rotate(108deg); +} +.radial-progress[data-progress="60"] .circle .fill.fix { + -webkit-transform: rotate(216deg); + -ms-transform: rotate(216deg); + transform: rotate(216deg); +} +.radial-progress[data-progress="60"] .inset .percentage:before { + content: "60%"; +} +.radial-progress[data-progress="61"] .circle .mask.full, +.radial-progress[data-progress="61"] .circle .fill { + -webkit-transform: rotate(109.8deg); + -ms-transform: rotate(109.8deg); + transform: rotate(109.8deg); +} +.radial-progress[data-progress="61"] .circle .fill.fix { + -webkit-transform: rotate(219.6deg); + -ms-transform: rotate(219.6deg); + transform: rotate(219.6deg); +} +.radial-progress[data-progress="61"] .inset .percentage:before { + content: "61%"; +} +.radial-progress[data-progress="62"] .circle .mask.full, +.radial-progress[data-progress="62"] .circle .fill { + -webkit-transform: rotate(111.6deg); + -ms-transform: rotate(111.6deg); + transform: rotate(111.6deg); +} +.radial-progress[data-progress="62"] .circle .fill.fix { + -webkit-transform: rotate(223.2deg); + -ms-transform: rotate(223.2deg); + transform: rotate(223.2deg); +} +.radial-progress[data-progress="62"] .inset .percentage:before { + content: "62%"; +} +.radial-progress[data-progress="63"] .circle .mask.full, +.radial-progress[data-progress="63"] .circle .fill { + -webkit-transform: rotate(113.4deg); + -ms-transform: rotate(113.4deg); + transform: rotate(113.4deg); +} +.radial-progress[data-progress="63"] .circle .fill.fix { + -webkit-transform: rotate(226.8deg); + -ms-transform: rotate(226.8deg); + transform: rotate(226.8deg); +} +.radial-progress[data-progress="63"] .inset .percentage:before { + content: "63%"; +} +.radial-progress[data-progress="64"] .circle .mask.full, +.radial-progress[data-progress="64"] .circle .fill { + -webkit-transform: rotate(115.2deg); + -ms-transform: rotate(115.2deg); + transform: rotate(115.2deg); +} +.radial-progress[data-progress="64"] .circle .fill.fix { + -webkit-transform: rotate(230.4deg); + -ms-transform: rotate(230.4deg); + transform: rotate(230.4deg); +} +.radial-progress[data-progress="64"] .inset .percentage:before { + content: "64%"; +} +.radial-progress[data-progress="65"] .circle .mask.full, +.radial-progress[data-progress="65"] .circle .fill { + -webkit-transform: rotate(117deg); + -ms-transform: rotate(117deg); + transform: rotate(117deg); +} +.radial-progress[data-progress="65"] .circle .fill.fix { + -webkit-transform: rotate(234deg); + -ms-transform: rotate(234deg); + transform: rotate(234deg); +} +.radial-progress[data-progress="65"] .inset .percentage:before { + content: "65%"; +} +.radial-progress[data-progress="66"] .circle .mask.full, +.radial-progress[data-progress="66"] .circle .fill { + -webkit-transform: rotate(118.8deg); + -ms-transform: rotate(118.8deg); + transform: rotate(118.8deg); +} +.radial-progress[data-progress="66"] .circle .fill.fix { + -webkit-transform: rotate(237.6deg); + -ms-transform: rotate(237.6deg); + transform: rotate(237.6deg); +} +.radial-progress[data-progress="66"] .inset .percentage:before { + content: "66%"; +} +.radial-progress[data-progress="67"] .circle .mask.full, +.radial-progress[data-progress="67"] .circle .fill { + -webkit-transform: rotate(120.6deg); + -ms-transform: rotate(120.6deg); + transform: rotate(120.6deg); +} +.radial-progress[data-progress="67"] .circle .fill.fix { + -webkit-transform: rotate(241.2deg); + -ms-transform: rotate(241.2deg); + transform: rotate(241.2deg); +} +.radial-progress[data-progress="67"] .inset .percentage:before { + content: "67%"; +} +.radial-progress[data-progress="68"] .circle .mask.full, +.radial-progress[data-progress="68"] .circle .fill { + -webkit-transform: rotate(122.4deg); + -ms-transform: rotate(122.4deg); + transform: rotate(122.4deg); +} +.radial-progress[data-progress="68"] .circle .fill.fix { + -webkit-transform: rotate(244.8deg); + -ms-transform: rotate(244.8deg); + transform: rotate(244.8deg); +} +.radial-progress[data-progress="68"] .inset .percentage:before { + content: "68%"; +} +.radial-progress[data-progress="69"] .circle .mask.full, +.radial-progress[data-progress="69"] .circle .fill { + -webkit-transform: rotate(124.2deg); + -ms-transform: rotate(124.2deg); + transform: rotate(124.2deg); +} +.radial-progress[data-progress="69"] .circle .fill.fix { + -webkit-transform: rotate(248.4deg); + -ms-transform: rotate(248.4deg); + transform: rotate(248.4deg); +} +.radial-progress[data-progress="69"] .inset .percentage:before { + content: "69%"; +} +.radial-progress[data-progress="70"] .circle .mask.full, +.radial-progress[data-progress="70"] .circle .fill { + -webkit-transform: rotate(126deg); + -ms-transform: rotate(126deg); + transform: rotate(126deg); +} +.radial-progress[data-progress="70"] .circle .fill.fix { + -webkit-transform: rotate(252deg); + -ms-transform: rotate(252deg); + transform: rotate(252deg); +} +.radial-progress[data-progress="70"] .inset .percentage:before { + content: "70%"; +} +.radial-progress[data-progress="71"] .circle .mask.full, +.radial-progress[data-progress="71"] .circle .fill { + -webkit-transform: rotate(127.8deg); + -ms-transform: rotate(127.8deg); + transform: rotate(127.8deg); +} +.radial-progress[data-progress="71"] .circle .fill.fix { + -webkit-transform: rotate(255.6deg); + -ms-transform: rotate(255.6deg); + transform: rotate(255.6deg); +} +.radial-progress[data-progress="71"] .inset .percentage:before { + content: "71%"; +} +.radial-progress[data-progress="72"] .circle .mask.full, +.radial-progress[data-progress="72"] .circle .fill { + -webkit-transform: rotate(129.6deg); + -ms-transform: rotate(129.6deg); + transform: rotate(129.6deg); +} +.radial-progress[data-progress="72"] .circle .fill.fix { + -webkit-transform: rotate(259.2deg); + -ms-transform: rotate(259.2deg); + transform: rotate(259.2deg); +} +.radial-progress[data-progress="72"] .inset .percentage:before { + content: "72%"; +} +.radial-progress[data-progress="73"] .circle .mask.full, +.radial-progress[data-progress="73"] .circle .fill { + -webkit-transform: rotate(131.4deg); + -ms-transform: rotate(131.4deg); + transform: rotate(131.4deg); +} +.radial-progress[data-progress="73"] .circle .fill.fix { + -webkit-transform: rotate(262.8deg); + -ms-transform: rotate(262.8deg); + transform: rotate(262.8deg); +} +.radial-progress[data-progress="73"] .inset .percentage:before { + content: "73%"; +} +.radial-progress[data-progress="74"] .circle .mask.full, +.radial-progress[data-progress="74"] .circle .fill { + -webkit-transform: rotate(133.2deg); + -ms-transform: rotate(133.2deg); + transform: rotate(133.2deg); +} +.radial-progress[data-progress="74"] .circle .fill.fix { + -webkit-transform: rotate(266.4deg); + -ms-transform: rotate(266.4deg); + transform: rotate(266.4deg); +} +.radial-progress[data-progress="74"] .inset .percentage:before { + content: "74%"; +} +.radial-progress[data-progress="75"] .circle .mask.full, +.radial-progress[data-progress="75"] .circle .fill { + -webkit-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); +} +.radial-progress[data-progress="75"] .circle .fill.fix { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.radial-progress[data-progress="75"] .inset .percentage:before { + content: "75%"; +} +.radial-progress[data-progress="76"] .circle .mask.full, +.radial-progress[data-progress="76"] .circle .fill { + -webkit-transform: rotate(136.8deg); + -ms-transform: rotate(136.8deg); + transform: rotate(136.8deg); +} +.radial-progress[data-progress="76"] .circle .fill.fix { + -webkit-transform: rotate(273.6deg); + -ms-transform: rotate(273.6deg); + transform: rotate(273.6deg); +} +.radial-progress[data-progress="76"] .inset .percentage:before { + content: "76%"; +} +.radial-progress[data-progress="77"] .circle .mask.full, +.radial-progress[data-progress="77"] .circle .fill { + -webkit-transform: rotate(138.6deg); + -ms-transform: rotate(138.6deg); + transform: rotate(138.6deg); +} +.radial-progress[data-progress="77"] .circle .fill.fix { + -webkit-transform: rotate(277.2deg); + -ms-transform: rotate(277.2deg); + transform: rotate(277.2deg); +} +.radial-progress[data-progress="77"] .inset .percentage:before { + content: "77%"; +} +.radial-progress[data-progress="78"] .circle .mask.full, +.radial-progress[data-progress="78"] .circle .fill { + -webkit-transform: rotate(140.4deg); + -ms-transform: rotate(140.4deg); + transform: rotate(140.4deg); +} +.radial-progress[data-progress="78"] .circle .fill.fix { + -webkit-transform: rotate(280.8deg); + -ms-transform: rotate(280.8deg); + transform: rotate(280.8deg); +} +.radial-progress[data-progress="78"] .inset .percentage:before { + content: "78%"; +} +.radial-progress[data-progress="79"] .circle .mask.full, +.radial-progress[data-progress="79"] .circle .fill { + -webkit-transform: rotate(142.2deg); + -ms-transform: rotate(142.2deg); + transform: rotate(142.2deg); +} +.radial-progress[data-progress="79"] .circle .fill.fix { + -webkit-transform: rotate(284.4deg); + -ms-transform: rotate(284.4deg); + transform: rotate(284.4deg); +} +.radial-progress[data-progress="79"] .inset .percentage:before { + content: "79%"; +} +.radial-progress[data-progress="80"] .circle .mask.full, +.radial-progress[data-progress="80"] .circle .fill { + -webkit-transform: rotate(144deg); + -ms-transform: rotate(144deg); + transform: rotate(144deg); +} +.radial-progress[data-progress="80"] .circle .fill.fix { + -webkit-transform: rotate(288deg); + -ms-transform: rotate(288deg); + transform: rotate(288deg); +} +.radial-progress[data-progress="80"] .inset .percentage:before { + content: "80%"; +} +.radial-progress[data-progress="81"] .circle .mask.full, +.radial-progress[data-progress="81"] .circle .fill { + -webkit-transform: rotate(145.8deg); + -ms-transform: rotate(145.8deg); + transform: rotate(145.8deg); +} +.radial-progress[data-progress="81"] .circle .fill.fix { + -webkit-transform: rotate(291.6deg); + -ms-transform: rotate(291.6deg); + transform: rotate(291.6deg); +} +.radial-progress[data-progress="81"] .inset .percentage:before { + content: "81%"; +} +.radial-progress[data-progress="82"] .circle .mask.full, +.radial-progress[data-progress="82"] .circle .fill { + -webkit-transform: rotate(147.6deg); + -ms-transform: rotate(147.6deg); + transform: rotate(147.6deg); +} +.radial-progress[data-progress="82"] .circle .fill.fix { + -webkit-transform: rotate(295.2deg); + -ms-transform: rotate(295.2deg); + transform: rotate(295.2deg); +} +.radial-progress[data-progress="82"] .inset .percentage:before { + content: "82%"; +} +.radial-progress[data-progress="83"] .circle .mask.full, +.radial-progress[data-progress="83"] .circle .fill { + -webkit-transform: rotate(149.4deg); + -ms-transform: rotate(149.4deg); + transform: rotate(149.4deg); +} +.radial-progress[data-progress="83"] .circle .fill.fix { + -webkit-transform: rotate(298.8deg); + -ms-transform: rotate(298.8deg); + transform: rotate(298.8deg); +} +.radial-progress[data-progress="83"] .inset .percentage:before { + content: "83%"; +} +.radial-progress[data-progress="84"] .circle .mask.full, +.radial-progress[data-progress="84"] .circle .fill { + -webkit-transform: rotate(151.2deg); + -ms-transform: rotate(151.2deg); + transform: rotate(151.2deg); +} +.radial-progress[data-progress="84"] .circle .fill.fix { + -webkit-transform: rotate(302.4deg); + -ms-transform: rotate(302.4deg); + transform: rotate(302.4deg); +} +.radial-progress[data-progress="84"] .inset .percentage:before { + content: "84%"; +} +.radial-progress[data-progress="85"] .circle .mask.full, +.radial-progress[data-progress="85"] .circle .fill { + -webkit-transform: rotate(153deg); + -ms-transform: rotate(153deg); + transform: rotate(153deg); +} +.radial-progress[data-progress="85"] .circle .fill.fix { + -webkit-transform: rotate(306deg); + -ms-transform: rotate(306deg); + transform: rotate(306deg); +} +.radial-progress[data-progress="85"] .inset .percentage:before { + content: "85%"; +} +.radial-progress[data-progress="86"] .circle .mask.full, +.radial-progress[data-progress="86"] .circle .fill { + -webkit-transform: rotate(154.8deg); + -ms-transform: rotate(154.8deg); + transform: rotate(154.8deg); +} +.radial-progress[data-progress="86"] .circle .fill.fix { + -webkit-transform: rotate(309.6deg); + -ms-transform: rotate(309.6deg); + transform: rotate(309.6deg); +} +.radial-progress[data-progress="86"] .inset .percentage:before { + content: "86%"; +} +.radial-progress[data-progress="87"] .circle .mask.full, +.radial-progress[data-progress="87"] .circle .fill { + -webkit-transform: rotate(156.6deg); + -ms-transform: rotate(156.6deg); + transform: rotate(156.6deg); +} +.radial-progress[data-progress="87"] .circle .fill.fix { + -webkit-transform: rotate(313.2deg); + -ms-transform: rotate(313.2deg); + transform: rotate(313.2deg); +} +.radial-progress[data-progress="87"] .inset .percentage:before { + content: "87%"; +} +.radial-progress[data-progress="88"] .circle .mask.full, +.radial-progress[data-progress="88"] .circle .fill { + -webkit-transform: rotate(158.4deg); + -ms-transform: rotate(158.4deg); + transform: rotate(158.4deg); +} +.radial-progress[data-progress="88"] .circle .fill.fix { + -webkit-transform: rotate(316.8deg); + -ms-transform: rotate(316.8deg); + transform: rotate(316.8deg); +} +.radial-progress[data-progress="88"] .inset .percentage:before { + content: "88%"; +} +.radial-progress[data-progress="89"] .circle .mask.full, +.radial-progress[data-progress="89"] .circle .fill { + -webkit-transform: rotate(160.2deg); + -ms-transform: rotate(160.2deg); + transform: rotate(160.2deg); +} +.radial-progress[data-progress="89"] .circle .fill.fix { + -webkit-transform: rotate(320.4deg); + -ms-transform: rotate(320.4deg); + transform: rotate(320.4deg); +} +.radial-progress[data-progress="89"] .inset .percentage:before { + content: "89%"; +} +.radial-progress[data-progress="90"] .circle .mask.full, +.radial-progress[data-progress="90"] .circle .fill { + -webkit-transform: rotate(162deg); + -ms-transform: rotate(162deg); + transform: rotate(162deg); +} +.radial-progress[data-progress="90"] .circle .fill.fix { + -webkit-transform: rotate(324deg); + -ms-transform: rotate(324deg); + transform: rotate(324deg); +} +.radial-progress[data-progress="90"] .inset .percentage:before { + content: "90%"; +} +.radial-progress[data-progress="91"] .circle .mask.full, +.radial-progress[data-progress="91"] .circle .fill { + -webkit-transform: rotate(163.8deg); + -ms-transform: rotate(163.8deg); + transform: rotate(163.8deg); +} +.radial-progress[data-progress="91"] .circle .fill.fix { + -webkit-transform: rotate(327.6deg); + -ms-transform: rotate(327.6deg); + transform: rotate(327.6deg); +} +.radial-progress[data-progress="91"] .inset .percentage:before { + content: "91%"; +} +.radial-progress[data-progress="92"] .circle .mask.full, +.radial-progress[data-progress="92"] .circle .fill { + -webkit-transform: rotate(165.6deg); + -ms-transform: rotate(165.6deg); + transform: rotate(165.6deg); +} +.radial-progress[data-progress="92"] .circle .fill.fix { + -webkit-transform: rotate(331.2deg); + -ms-transform: rotate(331.2deg); + transform: rotate(331.2deg); +} +.radial-progress[data-progress="92"] .inset .percentage:before { + content: "92%"; +} +.radial-progress[data-progress="93"] .circle .mask.full, +.radial-progress[data-progress="93"] .circle .fill { + -webkit-transform: rotate(167.4deg); + -ms-transform: rotate(167.4deg); + transform: rotate(167.4deg); +} +.radial-progress[data-progress="93"] .circle .fill.fix { + -webkit-transform: rotate(334.8deg); + -ms-transform: rotate(334.8deg); + transform: rotate(334.8deg); +} +.radial-progress[data-progress="93"] .inset .percentage:before { + content: "93%"; +} +.radial-progress[data-progress="94"] .circle .mask.full, +.radial-progress[data-progress="94"] .circle .fill { + -webkit-transform: rotate(169.2deg); + -ms-transform: rotate(169.2deg); + transform: rotate(169.2deg); +} +.radial-progress[data-progress="94"] .circle .fill.fix { + -webkit-transform: rotate(338.4deg); + -ms-transform: rotate(338.4deg); + transform: rotate(338.4deg); +} +.radial-progress[data-progress="94"] .inset .percentage:before { + content: "94%"; +} +.radial-progress[data-progress="95"] .circle .mask.full, +.radial-progress[data-progress="95"] .circle .fill { + -webkit-transform: rotate(171deg); + -ms-transform: rotate(171deg); + transform: rotate(171deg); +} +.radial-progress[data-progress="95"] .circle .fill.fix { + -webkit-transform: rotate(342deg); + -ms-transform: rotate(342deg); + transform: rotate(342deg); +} +.radial-progress[data-progress="95"] .inset .percentage:before { + content: "95%"; +} +.radial-progress[data-progress="96"] .circle .mask.full, +.radial-progress[data-progress="96"] .circle .fill { + -webkit-transform: rotate(172.8deg); + -ms-transform: rotate(172.8deg); + transform: rotate(172.8deg); +} +.radial-progress[data-progress="96"] .circle .fill.fix { + -webkit-transform: rotate(345.6deg); + -ms-transform: rotate(345.6deg); + transform: rotate(345.6deg); +} +.radial-progress[data-progress="96"] .inset .percentage:before { + content: "96%"; +} +.radial-progress[data-progress="97"] .circle .mask.full, +.radial-progress[data-progress="97"] .circle .fill { + -webkit-transform: rotate(174.6deg); + -ms-transform: rotate(174.6deg); + transform: rotate(174.6deg); +} +.radial-progress[data-progress="97"] .circle .fill.fix { + -webkit-transform: rotate(349.2deg); + -ms-transform: rotate(349.2deg); + transform: rotate(349.2deg); +} +.radial-progress[data-progress="97"] .inset .percentage:before { + content: "97%"; +} +.radial-progress[data-progress="98"] .circle .mask.full, +.radial-progress[data-progress="98"] .circle .fill { + -webkit-transform: rotate(176.4deg); + -ms-transform: rotate(176.4deg); + transform: rotate(176.4deg); +} +.radial-progress[data-progress="98"] .circle .fill.fix { + -webkit-transform: rotate(352.8deg); + -ms-transform: rotate(352.8deg); + transform: rotate(352.8deg); +} +.radial-progress[data-progress="98"] .inset .percentage:before { + content: "98%"; +} +.radial-progress[data-progress="99"] .circle .mask.full, +.radial-progress[data-progress="99"] .circle .fill { + -webkit-transform: rotate(178.2deg); + -ms-transform: rotate(178.2deg); + transform: rotate(178.2deg); +} +.radial-progress[data-progress="99"] .circle .fill.fix { + -webkit-transform: rotate(356.4deg); + -ms-transform: rotate(356.4deg); + transform: rotate(356.4deg); +} +.radial-progress[data-progress="99"] .inset .percentage:before { + content: "99%"; +} +.radial-progress[data-progress="100"] .circle .mask.full, +.radial-progress[data-progress="100"] .circle .fill { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.radial-progress[data-progress="100"] .circle .fill.fix { + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); +} +.radial-progress[data-progress="100"] .inset .percentage:before { + content: "100%"; +} +.preferences { + flex: 1 auto; + display: flex; + align-items: flex-start; + justify-content: center; +} +.preferences .preferences-content { + flex: 1 auto; + margin-top: 20px; + padding: 50px; + max-width: 640px; + display: flex; + flex-direction: column; +} +.preferences .preferences-content .title { + margin-top: 40px; + border-bottom: 1px solid #eee; + text-align: left; + font-size: 18px; + font-weight: 400; + color: #394c51; +} +.preferences .preferences-content .option { + display: flex; + flex-direction: row; + margin-top: 14px; +} +.preferences .preferences-content .option .option-name { + flex: 0 auto; + color: #777777; +} +.preferences .preferences-content .option .option-value { + flex: 1 auto; + text-align: right; +} +.header { + min-width: 100%; + flex: 0; + min-height: 50px; + -webkit-app-region: drag; + -webkit-user-select: none; +} +.header.no-drag { + -webkit-app-region: no-drag; +} +.header .buttons { + display: inline-block; + position: relative; + top: 16px; + left: 20px; +} +.header .buttons:hover .button-minimize.enabled { + background-image: url('minimize.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .header .buttons:hover .button-minimize.enabled { + background-image: url("minimize@2x.png"); + background-size: 10px 10px; + } +} +.header .buttons:hover .button-close.enabled { + background-image: url('close.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .header .buttons:hover .button-close.enabled { + background-image: url("close@2x.png"); + background-size: 10px 10px; + } +} +.header .buttons:hover .button-fullscreen.enabled { + background-image: url('fullscreen.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .header .buttons:hover .button-fullscreen.enabled { + background-image: url("fullscreen@2x.png"); + background-size: 10px 10px; + } +} +.header .buttons:hover .button-fullscreenclose.enabled { + background-image: url('fullscreenclose.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .header .buttons:hover .button-fullscreenclose.enabled { + background-image: url("fullscreenclose@2x.png"); + background-size: 10px 10px; + } +} +.header .buttons .button { + box-sizing: border-box; + display: inline-block; + background: white; + margin-right: 9px; + height: 12px; + width: 12px; + border: 1px solid #CCD3D5; + border-radius: 6px; + box-shadow: 0px 1px 1px 0px rgba(234, 234, 234, 0.5); + -webkit-app-region: no-drag; +} +.header .buttons .button.disabled { + border: 1px solid #E8EEEF; +} +.header .buttons .button.enabled:hover { + box-shadow: 0px 1px 1px 0px rgba(195, 198, 201, 0.5); +} +.header .buttons .button.enabled:hover:active { + cursor: default; + -webkit-filter: brightness(92%); +} +.popover.popover-view { + min-width: 290px; +} +.popover.popover-volume { + min-width: 400px; +} +.popover .popover-content { + display: flex; + flex-direction: column; + padding: 14px 14px 20px; +} +.popover .popover-content .table { + margin-bottom: 0; +} +.popover .popover-content .table .icon-arrow-right { + color: #aaa; + margin: 2px 9px 0; + flex: 0 auto; + min-width: 13px; +} +.popover .popover-content .table .btn { + min-width: 22px; + margin-left: 10px; +} +.popover .popover-content .table .table-labels { + flex: 1 auto; + display: flex; + font-size: 12px; + color: #c7d7d7; +} +.popover .popover-content .table .table-labels .label-left { + flex: 0 auto; + min-width: 80px; + margin-right: 30px; + text-align: right; +} +.popover .popover-content .table .table-labels .label-right { + flex: 1 auto; + display: inline-block; + width: 40%; +} +.popover .popover-content .table .table-values { + flex: 1 auto; + display: flex; + flex-direction: row; + margin: 8px 0; +} +.popover .popover-content .table .table-values .value-left { + text-align: right; + min-width: 80px; + flex: 0 auto; +} +.popover .popover-content .table .table-values .value-right { + flex: 1 auto; + -webkit-user-select: text; + width: 154px; +} +.popover .popover-content .table .table-new { + margin-top: 10px; + flex: 1 auto; + display: flex; +} +.popover .popover-content .table .table-new input { + padding: 0; + font-weight: 400; +} +.popover .popover-content .table .table-new input.new-left { + flex: 0 auto; + text-align: right; + min-width: 80px; + max-width: 80px; +} +.popover .popover-content .table .table-new .new-right-wrapper { + position: relative; + display: flex; + flex: 1 auto; +} +.popover .popover-content .table .table-new .new-right-wrapper .new-right-placeholder { + position: absolute; + top: 3px; + left: 0; + font-weight: 400; +} +.popover .popover-content .table .table-new .new-right-wrapper input.new-right { + flex: 1 auto; + height: 24px; + position: relative; + padding-left: 107px; +} +.popover .popover-content .table.volumes .label-left { + min-width: 120px; +} +.popover .popover-content .table.volumes .value-left { + min-width: 120px; +} +.popover .popover-content .table.volumes .icon { + color: #aaa; + margin: 2px 9px 0; +} +.popover .popover-content .question { + margin: 12px 6px 6px; +} +.containers { + box-sizing: border-box; + height: 100%; + display: flex; + flex-direction: column; +} +.containers .containers-body { + flex: 1; + display: flex; + flex-direction: row; +} +.containers .containers-body .sidebar { + display: flex; + flex-direction: column; + min-width: 280px; + margin: 0; + box-sizing: border-box; + border-right: 1px solid #eee; +} +.containers .containers-body .sidebar .sidebar-header { + flex: 0 auto; + min-width: 240px; + min-height: 42px; + display: flex; + border-bottom: 1px solid transparent; + transition: border-bottom 0.25s; + padding: 0px 10px 0px 10px; +} +.containers .containers-body .sidebar .sidebar-header.sep { + border-bottom: 1px solid #eee; + box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.03); +} +.containers .containers-body .sidebar .sidebar-header h4 { + align-self: flex-start; + padding: 0 24px; + margin: 14px 0 0; + display: inline-block; + font-size: 14px; + position: relative; +} +.containers .containers-body .sidebar .sidebar-header .create { + flex: 1 auto; + text-align: right; + /*.btn { + margin-top: 4px; + padding: 4px 7px; + font-size: 16px; + position: relative; + .icon { + position: relative; + top: 3px; + left: 1px; + } + }*/ +} +.containers .containers-body .sidebar .sidebar-containers { + position: relative; + flex: 1 auto; + overflow-y: scroll; + overflow-x: hidden; + box-sizing: border-box; + max-width: 280px; +} +.containers .containers-body .sidebar .sidebar-containers.sep { + border-top: 1px solid #eee; +} +.containers .containers-body .sidebar .sidebar-containers ul { + margin: 0; + min-width: 240px; + padding: 0; + margin-top: 4px; + display: flex; + flex-direction: column; +} +.containers .containers-body .sidebar .sidebar-containers ul a { + color: inherit; + flex-shrink: 0; + cursor: default; + margin: 0px 3px 0px 8px; + outline: none; + padding: 4px 5px; +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li { + border-bottom: none; + border-radius: 40px; + background: #24b8eb; +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .name { + color: white; +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .image { + color: white; + opacity: 0.9; +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .state-running { + background-image: url('running-white.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul a.active li .state-running { + background-image: url("running-white@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .state-running .runningwave { + background-image: url('runningwave-white.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul a.active li .state-running .runningwave { + background-image: url("runningwave-white@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .state-stopped { + background-image: url('stopped-white.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul a.active li .state-stopped { + background-image: url("stopped-white@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .state-downloading { + background-image: url('downloading-white.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul a.active li .state-downloading { + background-image: url("downloading-white@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul a.active li .state-downloading .downloading-arrow { + background-image: url('downloading-arrow-white.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul a.active li .state-downloading .downloading-arrow { + background-image: url("downloading-arrow-white@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul a:hover { + text-decoration: none; + cursor: default; +} +.containers .containers-body .sidebar .sidebar-containers ul a:focus { + text-decoration: none; +} +.containers .containers-body .sidebar .sidebar-containers ul li { + vertical-align: middle; + padding: 10px 16px 10px 16px; + display: flex; + flex-direction: row; +} +.containers .containers-body .sidebar .sidebar-containers ul li .info { + font-size: 13px; + margin-left: 16px; +} +.containers .containers-body .sidebar .sidebar-containers ul li .info .name { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 14px; + font-weight: 400; + color: #253237; +} +.containers .containers-body .sidebar .sidebar-containers ul li .info .image { + color: #7a9999; + font-size: 12px; + font-weight: 400; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} +.containers .containers-body .sidebar .sidebar-containers ul li .state { + margin-top: 9px; + display: inline-block; + position: relative; + min-width: 20px; + height: 20px; +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-error { + background-image: url('error.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-error { + background-image: url("error@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-stopped { + background-image: url('stopped.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-stopped { + background-image: url("stopped@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-paused { + background-image: url('paused.png'); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-paused { + background-image: url("paused@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-downloading { + background-image: url('downloading.png'); + overflow: hidden; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-downloading { + background-image: url("downloading@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-downloading .downloading-arrow { + width: 20px; + height: 20px; + background-image: url('downloading-arrow.png'); + position: absolute; + -webkit-animation-name: translatedownload; + -webkit-animation-duration: 1.8s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-downloading .downloading-arrow { + background-image: url("downloading-arrow@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-running { + background-image: url('running.png'); + overflow: hidden; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-running { + background-image: url("running@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-running .runningwave { + position: absolute; + width: 40px; + height: 20px; + left: -20px; + background-image: url('runningwave.png'); + -webkit-animation-name: translatewave; + -webkit-animation-duration: 8.0s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-running .runningwave { + background-image: url("runningwave@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .sidebar .sidebar-containers ul li .state-restarting { + display: inline-block; + width: 20px; + height: 20px; + background-image: url('restarting.png'); + background-repeat: repeat-x; + -webkit-animation-delay: -1s; + -webkit-animation-name: rotate; + -webkit-animation-duration: 3.0s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx) { + .containers .containers-body .sidebar .sidebar-containers ul li .state-restarting { + background-image: url("restarting@2x.png"); + background-size: 20px 20px; + } +} +.containers .containers-body .no-containers { + flex: 1 auto; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + position: relative; +} +.containers .containers-body .no-containers h3 { + position: relative; + top: -44px; + font-size: 18px; + color: #C7D7D7; +} +.containers .containers-body .details { + margin: 0; + padding: 0; + box-sizing: border-box; + flex: 1; + display: flex; + flex-direction: column; +} +.containers .containers-body .details .details-header { + flex: 0 auto; + display: flex; + flex-direction: column; + padding: 4px 40px 10px 40px; + position: relative; + border-bottom: 1px solid #eee; +} +.containers .containers-body .details .details-header .details-header-actions { + flex: 0 auto; + display: flex; + flex-direction: row; + margin-top: 24px; + margin-bottom: 6px; + position: relative; + border-bottom: 1px solid transparent; + transition: border-bottom 0.25s; +} +.containers .containers-body .details .details-header .details-header-actions .action { + flex: 0 auto; + margin-right: 24px; +} +.containers .containers-body .details .details-header .details-header-actions .details-header-actions-rhs { + flex: 1 auto; + display: flex; + align-items: right; + justify-content: flex-end; +} +.containers .containers-body .details .details-header .details-header-actions .details-header-actions-rhs a.btn { + z-index: 0; +} +.containers .containers-body .details .details-header .details-header-info { + display: flex; + flex-direction: row; +} +.containers .containers-body .details .details-header .details-header-info a { + position: absolute; + right: 30px; + top: -4px; +} +.containers .containers-body .details .details-header .details-header-info h1 { + font-size: 20px; + margin: 0; + color: #253237; +} +.containers .containers-body .details .details-header .details-header-info h2.status { + margin: 8px 0px 0px 16px; + text-transform: uppercase; + font-weight: bold; + font-size: 10px; +} +.containers .containers-body .details .details-header .details-header-info h2.status.running { + color: #65e100; +} +.containers .containers-body .details .details-header .details-header-info h2.image-label { + margin: 8px 0px 0px 30px; + font-size: 10px; + color: #7a9999; +} +.containers .containers-body .details .details-header .details-header-info h2.image { + margin: 5px 0px 0px 16px; + font-size: 14px; + color: #546c70; +} +.containers .containers-body .details .details-progress { + margin: 26% auto 0; + width: 300px; +} +.containers .containers-body .details .details-panel { + flex: 1; + overflow: auto; +} +.containers .containers-body .details .details-panel .logs { + -webkit-user-select: text; + font-family: Menlo; + font-size: 12px; + padding: 18px 35px; + color: #617d81; + white-space: pre-wrap; +} +.containers .containers-body .details .details-panel .logs p { + margin: 0 6px; +} +.containers .containers-body .details .details-panel .settings { + padding: 18px 35px; +} +.containers .containers-body .details .container-name { + margin-bottom: 20px; +} +.containers .containers-body .details .container-name input { + width: 20%; +} +.containers .containers-body .details .env-vars-labels { + width: 100%; + font-size: 12px; + color: #c7d7d7; + margin-left: 5px; + margin-bottom: 5px; +} +.containers .containers-body .details .env-vars-labels .label-key { + display: inline-block; + margin-right: 30px; + width: 20%; +} +.containers .containers-body .details .env-vars-labels .label-val { + display: inline-block; + width: 40%; +} +.containers .containers-body .details .env-vars { + margin-bottom: 20px; +} +.containers .containers-body .details .env-vars .keyval-row { + margin-bottom: 5px; +} +.containers .containers-body .details .env-vars input { + margin-right: 30px; +} +.containers .containers-body .details .env-vars input.key { + width: 20%; +} +.containers .containers-body .details .env-vars input.val { + width: 40%; +} +.create-modal .modal-dialog { + margin-top: 80px; + width: calc(468px); +} +.create-modal .modal-content { + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + border: none; + height: 610px; + display: flex; +} +.create-modal .modal-body { + flex: 1 auto; + display: flex; + flex-direction: row; + padding: 32px 32px; +} +.create-modal .modal-body .popover { + width: 180px; + text-align: center; +} +.create-modal .modal-body .popover .popover-content { + max-height: 160px; + padding: 0; + overflow: auto; +} +.create-modal .modal-body .popover ul { + padding: 0; + list-style: none; + margin: 0; +} +.create-modal .modal-body .popover ul li { + padding: 8px 0; + border-bottom: 1px solid #eee; +} +.create-modal .modal-body .popover ul li:hover { + color: white; + background: #24b8eb; +} +.create-modal .modal-body .popover .tags-loading { + margin: 14px auto; + text-align: center; + -webkit-animation-name: spin; + -webkit-animation-duration: 1.8s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +.create-modal .modal-body section.search { + min-width: 404px; +} +.create-modal .modal-body section.search .question { + text-align: right; +} +.create-modal .modal-body section.search .search-bar { + position: relative; +} +.create-modal .modal-body section.search .search-bar .loading { + position: absolute; + left: 13px; + top: 10px; + width: 20px; + height: 20px; + -webkit-animation-name: spin; + -webkit-animation-duration: 1.8s; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; +} +.create-modal .modal-body section.search .search-bar .search-icon { + font-size: 20px; + color: #7a9999; + position: absolute; + top: 9px; + left: 14px; +} +.create-modal .modal-body section.search .search-bar input { + border-radius: 20px; + font-size: 13px; + height: 38px; + padding: 8px 16px 8px 40px; + color: #253237; + margin-bottom: 3px; + border-color: #c7d7d7; + box-shadow: none; +} +.create-modal .modal-body section.search .search-bar input:focus { + box-shadow: none; + border-color: #7a9999; +} +.create-modal .modal-body section.search .search-bar input::-webkit-input-placeholder { + color: #ddd; + font-weight: 300; +} +.create-modal .modal-body section.search .results { + overflow: auto; + padding-bottom: 80px; +} +.create-modal .modal-body section.search .results .no-results { + text-align: center; +} +.create-modal .modal-body section.search .results .no-results h3 { + color: #ABC0C0; + font-size: 16px; + margin-top: 160px; +} +.create-modal .modal-body section.search .results .title { + flex: 0 auto; + margin-top: 16px; +} +.create-modal .modal-body section.search .results ul { + margin-top: 10px; + list-style: none; + padding: 0; +} +.create-modal .modal-body section.search .results ul li { + display: flex; + flex-direction: row; + padding: 8px 14px 5px 14px; + border-bottom: 1px solid #eee; +} +.create-modal .modal-body section.search .results ul li:hover { + background-color: #fbfcfc; +} +.create-modal .modal-body section.search .results ul li:last-child { + border-bottom: 0; +} +.create-modal .modal-body section.search .results ul li .info { + flex: 0 auto; +} +.create-modal .modal-body section.search .results ul li .info .name { + color: #253237; + max-width: 278px; + font-size: 16px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.create-modal .modal-body section.search .results ul li .info .name img { + margin-right: 6px; + margin-left: 2px; +} +.create-modal .modal-body section.search .results ul li .info .properties { + color: #7a9999; + margin-top: 2px; +} +.create-modal .modal-body section.search .results ul li .info .properties .star-count { + font-size: 10px; + display: inline-block; + position: relative; + top: -3px; + left: 1px; + height: 17px; +} +.create-modal .modal-body section.search .results ul li .info .properties .icon { + overflow: hidden; + display: inline-block; + font-size: 15px; + height: 15px; +} +.create-modal .modal-body section.search .results ul li .action { + position: relative; + top: 5px; + text-align: right; + flex: 1 auto; +} +.create-modal .modal-body section.search .results ul li .action ul { + text-align: center; +} +.create-modal .modal-body section.search .results ul li .action ul ul { + overflow: auto; + max-height: 300px; +} +.create-modal .modal-body section.search .results ul li .action .icon { + position: relative; + top: 2px; + font-size: 11px; +} +.modal-backdrop.in { + background: rgba(227, 230, 230, 0.95); + opacity: 1; + height: 100%; +} +html, +body { + height: 100%; + width: 100%; + overflow: hidden; + -webkit-font-smoothing: antialiased; + -webkit-user-select: none; + font-family: 'Clear Sans', sans-serif; + cursor: default; +} +html img, +body img { + pointer-events: none; +} +::-webkit-scrollbar { + width: 13px; +} +::-webkit-scrollbar-track { + margin: 3px; + -webkit-border-radius: 5px; + border-radius: 5px; + background: none; +} +::-webkit-scrollbar-thumb { + border: 3px solid rgba(0, 0, 0, 0); + background-clip: padding-box; + width: 7px; + border-radius: 8px; + background-color: rgba(0, 0, 0, 0.2); +} +::-webkit-scrollbar-thumb:hover { + background-color: rgba(0, 0, 0, 0.25); +} +.question { + color: #c7d7d7; + font-size: 10px; +} +.popover { + font-family: 'Clear Sans', sans-serif; + color: #546c70; + font-weight: 400; + font-size: 13px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); + border: 1px solid #ddd; +} +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + } +} +@-webkit-keyframes translatewave { + from { + -webkit-transform: translateX(0px); + } + to { + -webkit-transform: translateX(20px); + } +} +@-webkit-keyframes translatedownload { + 0% { + -webkit-transform: translateY(6px); + opacity: 0; + } + 25% { + opacity: 1; + -webkit-transform: translateY(6px); + } + 50% { + opacity: 1; + -webkit-transform: translateY(20px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(20px); + } +} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9pY29ucy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9ub3JtYWxpemUubGVzcyIsInN0eWxlcy9ib290c3RyYXAvcHJpbnQubGVzcyIsInN0eWxlcy9ib290c3RyYXAvZ2x5cGhpY29ucy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9zY2FmZm9sZGluZy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvdmVuZG9yLXByZWZpeGVzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3ZhcmlhYmxlcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvdGFiLWZvY3VzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3RodW1ibmFpbHMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvY2Fyb3VzZWwubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL2ltYWdlLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3R5cGUubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL3RleHQtZW1waGFzaXMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL2JhY2tncm91bmQtdmFyaWFudC5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvdGV4dC1vdmVyZmxvdy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9jb2RlLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2dyaWQubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL2dyaWQubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL2dyaWQtZnJhbWV3b3JrLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3RhYmxlcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvdGFibGUtcm93Lmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2Zvcm1zLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9mb3Jtcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9idXR0b25zLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9idXR0b25zLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9vcGFjaXR5Lmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2J1dHRvbi1ncm91cHMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvY29tcG9uZW50LWFuaW1hdGlvbnMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvZHJvcGRvd25zLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9uYXYtZGl2aWRlci5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvcmVzZXQtZmlsdGVyLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9ib3JkZXItcmFkaXVzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2lucHV0LWdyb3Vwcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9uYXZzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL25hdmJhci5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3V0aWxpdGllcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9icmVhZGNydW1icy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9wYWdpbmF0aW9uLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9wYWdpbmF0aW9uLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3BhZ2VyLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2xhYmVscy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvbGFiZWxzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2JhZGdlcy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9qdW1ib3Ryb24ubGVzcyIsInN0eWxlcy9ib290c3RyYXAvYWxlcnRzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9hbGVydHMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvcHJvZ3Jlc3MtYmFycy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvZ3JhZGllbnRzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9wcm9ncmVzcy1iYXIubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWVkaWEubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbGlzdC1ncm91cC5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvbGlzdC1ncm91cC5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9wYW5lbHMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL3BhbmVscy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9yZXNwb25zaXZlLWVtYmVkLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3dlbGxzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL2Nsb3NlLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21vZGFscy5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC90b29sdGlwLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL3BvcG92ZXJzLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9jbGVhcmZpeC5sZXNzIiwic3R5bGVzL2Jvb3RzdHJhcC9taXhpbnMvY2VudGVyLWJsb2NrLmxlc3MiLCJzdHlsZXMvYm9vdHN0cmFwL21peGlucy9oaWRlLXRleHQubGVzcyIsInN0eWxlcy9ib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcyIsInN0eWxlcy9ib290c3RyYXAvbWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5sZXNzIiwic3R5bGVzL2NsZWFyc2Fucy5sZXNzIiwic3R5bGVzL3RoZW1lLmxlc3MiLCJzdHlsZXMvc2V0dXAubGVzcyIsInN0eWxlcy9yYWRpYWwubGVzcyIsInN0eWxlcy9wcmVmZXJlbmNlcy5sZXNzIiwic3R5bGVzL2hlYWRlci5sZXNzIiwic3R5bGVzL3JldGluYS5sZXNzIiwic3R5bGVzL2NvbnRhaW5lcnMubGVzcyIsInN0eWxlcy9jb250YWluZXItbW9kYWwubGVzcyIsIi4vc3R5bGVzL21haW4ubGVzcyJdLCJuYW1lcyI6W10s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QUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDZCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDBCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxjQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsK0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FB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SixtQkFuQzhDO0VBRzVDLGlCQUNFO0VBREYsaUJBRUU7RUFGRixpQkFHRTtFQUhGLGlCQUlFO0lBQ0UsV0FBQTtJQUNBLFlBQUE7SUFDQSxpQkFBQTtJQUNBLGVBQUE7O0VBUkosaUJBVUU7RUFWRixpQkFXRTtJQUNFLGtCQUFBOztFQVpKLGlCQWNFO0VBZEYsaUJBZUU7SUFDRSxtQkFBQTs7RUFLSjtJQUNFLFNBQUE7SUFDQSxVQUFBO0lBQ0Esb0JBQUE7O0VBSUY7SUFDRSxZQUFBOzs7QW9EM1BGLFNBQUM7QUFDRCxTQUFDO0FsRGtNSCxjQUNFLEdrRHBNQztBbERtTUgsY0FDRSxHa0RuTUM7QTdDTEgsVTZDSUc7QTdDSkgsVTZDS0c7QTdDZUgsZ0I2Q2hCRztBN0NnQkgsZ0I2Q2ZHO0E3Q3dCSCxJNkN6Qkc7QTdDeUJILEk2Q3hCRztBeENzZEgsZ0JBcUJFLFl3QzVlQztBeEN1ZEgsZ0JBcUJFLFl3QzNlQztBbkNvQkgsWW1DckJHO0FuQ3FCSCxZbUNwQkc7QW5DZ0lILG1CQVdFLGFtQzVJQztBbkNpSUgsbUJBV0UsYW1DM0lDO0E1Qk5ILEk0QktHO0E1QkxILEk0Qk1HO0EzQkpILE8yQkdHO0EzQkhILE8yQklHO0EzQmdCSCxjMkJqQkc7QTNCaUJILGMyQmhCRztBM0JtQ0gsZ0IyQnBDRztBM0JvQ0gsZ0IyQm5DRztBckJUSCxNcUJRRztBckJSSCxNcUJTRztBUkNILFdRRkc7QVJFSCxXUURHO0FIc0ZILGFHdkZHO0FIdUZILGFHdEZHO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixTQUFDO0FsRDhMSCxjQUNFLEdrRC9MQztBN0NUSCxVNkNTRztBN0NXSCxnQjZDWEc7QTdDb0JILEk2Q3BCRztBeENrZEgsZ0JBcUJFLFl3Q3ZlQztBbkNnQkgsWW1DaEJHO0FuQzRISCxtQkFXRSxhbUN2SUM7QTVCVkgsSTRCVUc7QTNCUkgsTzJCUUc7QTNCWUgsYzJCWkc7QTNCK0JILGdCMkIvQkc7QXJCYkgsTXFCYUc7QVJISCxXUUdHO0FIa0ZILGFHbEZHO0VBQ0MsV0FBQTs7QXpCUko7RTBCUkUs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O0VBQ1AsU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsb0JBQW9CO0VBQ2xCLFNBQVMsT0FBVDs7QUFFRixlQUFlO0VBQ2IsU0FBUyxPQUFUOztBQUVGLGVBQWU7RUFDYixTQUFTLE9BQVQ7O0FBRUYsYUFBYTtFQUNYLFNBQVMsT0FBVDs7QUFFRixhQUFhO0VBQ1gsU0FBUyxPQUFUOztBQUVGLGFBQWE7RUFDWCxTQUFTLE9BQVQ7O0FBRUYsYUFBYTtFQUNYLFNBQVMsT0FBVDs7QUFFRixhQUFhO0VBQ1gsU0FBUyxPQUFUOztBQUVGLGFBQWE7RUFDWCxTQUFTLE9BQVQ7O0FBRUYsYUFBYTtFQUNYLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixjQUFjO0VBQ1osU0FBUyxPQUFUOztBQUVGLGNBQWM7RUFDWixTQUFTLE9BQVQ7O0FBRUYsY0FBYztFQUNaLFNBQVMsT0FBVDs7QUFFRixvQkFBb0I7RUFDbEIsU0FBUyxPQUFUOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLE9BQVQ7O0FBRUYsb0JBQW9CO0VBQ2xCLFNBQVMsT0FBVDs7QUFFRixvQkFBb0I7RUFDbEIsU0FBUyxPQUFUOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLE9BQVQ7O0FBRUYsb0JBQW9CO0VBQ2xCLFNBQVMsT0FBVDs7QUFFRixvQkFBb0I7RUFDbEIsU0FBUyxPQUFUOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLE9BQVQ7O0FBRUYsb0JBQW9CO0VBQ2xCLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxPQUFUOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLE9BQVQ7O0FBRUYscUJBQXFCO0VBQ25CLFNBQVMsT0FBVDs7QUFFRixvQkFBb0I7RUFDbEIsU0FBUyxPQUFUOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLE9BQVQ7O0FBRUYsaUJBQWlCO0VBQ2YsU0FBUyxPQUFUOztBQUVGLGlCQUFpQjtFQUNmLFNBQVMsT0FBVDs7QUFFRixpQkFBaUI7RUFDZixTQUFTLE9BQVQ7O0FBRUYsaUJBQWlCO0VBQ2YsU0FBUyxPQUFUOztBQUVGLGlCQUFpQjtFQUNmLFNBQVMsT0FBVDs7QUFFRixpQkFBaUI7RUFDZixTQUFTLE9BQVQ7O0FBRUYsdUJBQXVCO0VBQ3JCLFNBQVMsT0FBVDs7QUFFRix1QkFBdUI7RUFDckIsU0FBUyxPQUFUOztBQUVGLHVCQUF1QjtFQUNyQixTQUFTLE9BQVQ7O0FBRUYsdUJBQXVCO0VBQ3JCLFNBQVMsT0FBVDs7QUFFRix1QkFBdUI7RUFDckIsU0FBUyxPQUFUOztBQUVGLHVCQUF1QjtFQUNyQixTQUFTLE9BQVQ7O0FBRUYsdUJBQXVCO0VBQ3JCLFNBQVMsT0FBVDs7QUFFRix1QkFBdUI7RUFDckIsU0FBUyxPQUFUOztBQUVGLHVCQUF1QjtFQUNyQixTQUFTLE9BQVQ7O0FBRUYsd0JBQXdCO0VBQ3RCLFNBQVMsT0FBVDs7QUFFRix3QkFBd0I7RUFDdEIsU0FBUyxPQUFUOztBQUVGLHdCQUF3QjtFQUN0QixTQUFTLE9BQVQ7O0FBRUYsd0JBQXdCO0VBQ3RCLFNBQVMsT0FBVDs7QUFFRix3QkFBd0I7RUFDdEIsU0FBUyxPQUFUOztBQUVGLHdCQUF3QjtFQUN0QixTQUFTLE9BQVQ7O0FBRUYsd0JBQXdCO0VBQ3RCLFNBQVMsT0FBVDs7QUFFRix3QkFBd0I7RUFDdEIsU0FBUyxPQUFUOztBQUVGLHdCQUF3QjtFQUN0QixTQUFTLE9BQVQ7O0FBRUYsd0JBQXdCO0VBQ3RCLFNBQVMsT0FBVDs7QUFFRix3QkFBd0I7RUFDdEIsU0FBUyxPQUFUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QW9FcDJKRjtFQUNFLGVBQUE7RUFDQSxrQkFBQTs7QUFGRixNQUlFO0VBSUUsZ0JBQUE7O0FBSEEsTUFERixFQUNHO0VBQ0MsY0FBQTs7QUNKTjtFQUNFO0lBQ0UsbUJBQW1CLFlBQW5COztFQUVGO0lBQ0UsbUJBQW1CLGNBQW5COzs7QUFJSjtFQWNFLGNBQUE7RUFFQSxXQUFBO0VBQ0EsWUFBQTtFQUVBLDZCQUFBO0VBQ0EsbUJBQUE7O0FBbEJBLGdCQUFDO0VBQ0MsZ0RBQUE7O0FBSEosZ0JBcUJFLFFBQ0U7QUF0QkosZ0JBcUJFLFFBQ1M7QUF0QlgsZ0JBcUJFLFFBQ2dCO0VBQ1osV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBOztBQTFCTixnQkFxQkUsUUFPRTtBQTVCSixnQkFxQkUsUUFPUztFQUNMLG1DQUFBO0VBQ0EsZ0NBQUE7RUFDQSw0QkFBQTtFQUNBLHdCQUFBO0VBQ0EsbUJBQUE7O0FBakNOLGdCQXFCRSxRQWNFO0VBQ0UsTUFBTSwyQkFBTjs7QUFwQ04sZ0JBcUJFLFFBY0UsTUFFRTtFQUNFLE1BQU0sMEJBQU47RUFDQSx5QkFBQTs7QUF2Q1IsZ0JBMkNFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUVBLHVCQUFBO0VBQ0EsbUJBQUE7O0FBbkRKLGdCQTJDRSxPQVNFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFFQSxjQUFBO0VBQ0Esa0JBQUE7RUFHQSxnQkFBQTtFQUNBLGVBQUE7O0FBS0osZ0JBQUMsZ0JBQWlCLFFBQVEsTUFBTTtFQUM5Qix5QkFBQTs7QUFHRixnQkFBQyxnQkFBaUIsUUFBUSxNQUFNO0VBQzlCLHlCQUFBOztBQU1BLGdCQUFDLG1CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG1CQUNDLFFBQ2M7RUFDVixtQkFBbUIsWUFBbkI7RUFDQSxlQUFlLFlBQWY7RUFDQSxXQUFXLFlBQVg7O0FBTE4sZ0JBQUMsbUJBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLFlBQW5CO0VBQ0EsZUFBZSxZQUFmO0VBQ0EsV0FBVyxZQUFYOztBQVZOLGdCQUFDLG1CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLElBQVQ7O0FBZEosZ0JBQUMsbUJBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsbUJBQ0MsUUFDYztFQUNWLG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFMTixnQkFBQyxtQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMsbUJBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsSUFBVDs7QUFkSixnQkFBQyxtQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxtQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQUxOLGdCQUFDLG1CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxtQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxJQUFUOztBQWRKLGdCQUFDLG1CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG1CQUNDLFFBQ2M7RUFDVixtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBTE4sZ0JBQUMsbUJBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG1CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLElBQVQ7O0FBZEosZ0JBQUMsbUJBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsbUJBQ0MsUUFDYztFQUNWLG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFMTixnQkFBQyxtQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsbUJBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsSUFBVDs7QUFkSixnQkFBQyxtQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxtQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLFlBQW5CO0VBQ0EsZUFBZSxZQUFmO0VBQ0EsV0FBVyxZQUFYOztBQUxOLGdCQUFDLG1CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFWTixnQkFBQyxtQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxJQUFUOztBQWRKLGdCQUFDLG1CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG1CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsbUJBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG1CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLElBQVQ7O0FBZEosZ0JBQUMsbUJBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsbUJBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxtQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsbUJBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsSUFBVDs7QUFkSixnQkFBQyxtQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxtQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG1CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxtQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxJQUFUOztBQWRKLGdCQUFDLG1CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG1CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsbUJBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG1CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLElBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsYUFBbkI7RUFDQSxlQUFlLGFBQWY7RUFDQSxXQUFXLGFBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsYUFBbkI7RUFDQSxlQUFlLGFBQWY7RUFDQSxXQUFXLGFBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGFBQW5CO0VBQ0EsZUFBZSxhQUFmO0VBQ0EsV0FBVyxhQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGFBQW5CO0VBQ0EsZUFBZSxhQUFmO0VBQ0EsV0FBVyxhQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsYUFBbkI7RUFDQSxlQUFlLGFBQWY7RUFDQSxXQUFXLGFBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsYUFBbkI7RUFDQSxlQUFlLGFBQWY7RUFDQSxXQUFXLGFBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGFBQW5CO0VBQ0EsZUFBZSxhQUFmO0VBQ0EsV0FBVyxhQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsYUFBbkI7RUFDQSxlQUFlLGFBQWY7RUFDQSxXQUFXLGFBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGFBQW5CO0VBQ0EsZUFBZSxhQUFmO0VBQ0EsV0FBVyxhQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixlQUFuQjtFQUNBLGVBQWUsZUFBZjtFQUNBLFdBQVcsZUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGVBQW5CO0VBQ0EsZUFBZSxlQUFmO0VBQ0EsV0FBVyxlQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZUFBbkI7RUFDQSxlQUFlLGVBQWY7RUFDQSxXQUFXLGVBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixhQUFuQjtFQUNBLGVBQWUsYUFBZjtFQUNBLFdBQVcsYUFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGNBQW5CO0VBQ0EsZUFBZSxjQUFmO0VBQ0EsV0FBVyxjQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMsb0JBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMsb0JBQ0MsUUFDYztFQUNWLG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFMTixnQkFBQyxvQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBVk4sZ0JBQUMsb0JBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsS0FBVDs7QUFkSixnQkFBQyxvQkFDQyxRQUNFLE1BQUs7QUFGVCxnQkFBQyxvQkFDQyxRQUNjO0VBQ1YsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQUxOLGdCQUFDLG9CQUNDLFFBTUUsTUFBSztFQUNILG1CQUFtQixnQkFBbkI7RUFDQSxlQUFlLGdCQUFmO0VBQ0EsV0FBVyxnQkFBWDs7QUFWTixnQkFBQyxvQkFhQyxPQUFPLFlBQVc7RUFDaEIsU0FBUyxLQUFUOztBQWRKLGdCQUFDLG9CQUNDLFFBQ0UsTUFBSztBQUZULGdCQUFDLG9CQUNDLFFBQ2M7RUFDVixtQkFBbUIsZ0JBQW5CO0VBQ0EsZUFBZSxnQkFBZjtFQUNBLFdBQVcsZ0JBQVg7O0FBTE4sZ0JBQUMsb0JBQ0MsUUFNRSxNQUFLO0VBQ0gsbUJBQW1CLGdCQUFuQjtFQUNBLGVBQWUsZ0JBQWY7RUFDQSxXQUFXLGdCQUFYOztBQVZOLGdCQUFDLG9CQWFDLE9BQU8sWUFBVztFQUNoQixTQUFTLEtBQVQ7O0FBZEosZ0JBQUMscUJBQ0MsUUFDRSxNQUFLO0FBRlQsZ0JBQUMscUJBQ0MsUUFDYztFQUNWLG1CQUFtQixjQUFuQjtFQUNBLGVBQWUsY0FBZjtFQUNBLFdBQVcsY0FBWDs7QUFMTixnQkFBQyxxQkFDQyxRQU1FLE1BQUs7RUFDSCxtQkFBbUIsY0FBbkI7RUFDQSxlQUFlLGNBQWY7RUFDQSxXQUFXLGNBQVg7O0FBVk4sZ0JBQUMscUJBYUMsT0FBTyxZQUFXO0VBQ2hCLFNBQVMsTUFBVDs7QUN0R1I7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsdUJBQUE7O0FBSkYsWUFPRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTs7QUFiSixZQU9FLHFCQVFFO0VBQ0UsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUFyQk4sWUFPRSxxQkFpQkU7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTs7QUEzQk4sWUFPRSxxQkFpQkUsUUFLRTtFQUNFLFlBQUE7RUFDQSxjQUFBOztBQS9CUixZQU9FLHFCQWlCRSxRQVNFO0VBQ0UsWUFBQTtFQUNBLGlCQUFBOztBQ25DUjtFQUNFLGVBQUE7RUFDQSxPQUFBO0VBQ0EsZ0JBQUE7RUFDQSx3QkFBQTtFQUNBLHlCQUFBOztBQUdBLE9BQUM7RUFDQywyQkFBQTs7QUFUSixPQVlFO0VBQ0UscUJBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBOztBQUVBLE9BTkYsU0FNRyxNQUNDLGlCQUFnQjtFQ09wQixzQkROWSxlQ01aOztBQU9GO0VBQUEsT0RyQkUsU0FNRyxNQUNDLGlCQUFnQjtJQ1dsQixzQkFBc0Isa0JBQXRCO0lBQ0EsMEJBQUE7OztBRGJBLE9BTkYsU0FNRyxNQUlDLGNBQWE7RUNJakIsc0JESFksWUNHWjs7QUFPRjtFQUFBLE9EckJFLFNBTUcsTUFJQyxjQUFhO0lDUWYsc0JBQXNCLGVBQXRCO0lBQ0EsMEJBQUE7OztBRGJBLE9BTkYsU0FNRyxNQU9DLG1CQUFrQjtFQ0N0QixzQkRBWSxpQkNBWjs7QUFPRjtFQUFBLE9EckJFLFNBTUcsTUFPQyxtQkFBa0I7SUNLcEIsc0JBQXNCLG9CQUF0QjtJQUNBLDBCQUFBOzs7QURiQSxPQU5GLFNBTUcsTUFVQyx3QkFBdUI7RUNGM0Isc0JER1ksc0JDSFo7O0FBT0Y7RUFBQSxPRHJCRSxTQU1HLE1BVUMsd0JBQXVCO0lDRXpCLHNCQUFzQix5QkFBdEI7SUFDQSwwQkFBQTs7O0FEL0JKLE9BWUUsU0FxQkU7RUFDRSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLG9EQUFBO0VBQ0EsMkJBQUE7O0FBRUEsT0FqQ0osU0FxQkUsUUFZRztFQUNDLHlCQUFBOztBQUdGLE9BckNKLFNBcUJFLFFBZ0JHLFFBQVE7RUFDUCxvREFBQTs7QUFHRixPQXpDSixTQXFCRSxRQW9CRyxRQUFRLE1BQU07RUFDYixlQUFBO0VBQ0EsZ0JBQWdCLGVBQWhCOztBRXZETixRQUFDO0VBQ0MsZ0JBQUE7O0FBR0YsUUFBQztFQUNDLGdCQUFBOztBQVBKLFFBVUU7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTs7QUFiSixRQVVFLGlCQUtFO0VBQ0UsZ0JBQUE7O0FBaEJOLFFBVUUsaUJBS0UsT0FFRTtFQUNFLFdBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBOztBQXJCUixRQVVFLGlCQUtFLE9BUUU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7O0FBekJSLFFBVUUsaUJBS0UsT0FZRTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7O0FBL0JSLFFBVUUsaUJBS0UsT0FZRSxjQUtFO0VBQ0UsWUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBOztBQXBDVixRQVVFLGlCQUtFLE9BWUUsY0FXRTtFQUNFLFlBQUE7RUFDQSxxQkFBQTtFQUNBLFVBQUE7O0FBekNWLFFBVUUsaUJBS0UsT0E2QkU7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTs7QUFoRFIsUUFVRSxpQkFLRSxPQTZCRSxjQUtFO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTs7QUFwRFYsUUFVRSxpQkFLRSxPQTZCRSxjQVVFO0VBQ0UsWUFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTs7QUF6RFYsUUFVRSxpQkFLRSxPQTZDRTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7O0FBL0RSLFFBVUUsaUJBS0UsT0E2Q0UsV0FJRTtFQUNFLFVBQUE7RUFDQSxnQkFBQTs7QUFsRVYsUUFVRSxpQkFLRSxPQTZDRSxXQVFFLE1BQUs7RUFDSCxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTs7QUF4RVYsUUFVRSxpQkFLRSxPQTZDRSxXQWNFO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTs7QUE3RVYsUUFVRSxpQkFLRSxPQTZDRSxXQWNFLG1CQUlFO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsT0FBQTtFQUNBLGdCQUFBOztBQWxGWixRQVVFLGlCQUtFLE9BNkNFLFdBY0UsbUJBV0UsTUFBSztFQUNILFlBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTs7QUFLTixRQXBGSixpQkFLRSxPQStFRyxRQUNDO0VBQ0UsZ0JBQUE7O0FBRkosUUFwRkosaUJBS0UsT0ErRUcsUUFJQztFQUNFLGdCQUFBOztBQUxKLFFBcEZKLGlCQUtFLE9BK0VHLFFBT0M7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7O0FBdkdWLFFBVUUsaUJBa0dFO0VBQ0Usb0JBQUE7O0FBS047RUFDRSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7O0FBSkYsV0FLRTtFQUNFLE9BQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7O0FBUkosV0FLRSxpQkFLRTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7O0FBaEJOLFdBS0UsaUJBS0UsU0FRRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLG9DQUFBO0VBQ0EsK0JBQUE7RUFDQSwwQkFBQTs7QUFFQSxXQXRCTixpQkFLRSxTQVFFLGdCQVNHO0VBQ0MsNkJBQUE7RUFDQSwrQ0FBQTs7QUE3QlYsV0FLRSxpQkFLRSxTQVFFLGdCQWNFO0VBQ0Usc0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUF0Q1YsV0FLRSxpQkFLRSxTQVFFLGdCQXVCRTtFQUNFLFlBQUE7RUFDQSxpQkFBQTs7Ozs7Ozs7Ozs7OztBQTNDVixXQUtFLGlCQUtFLFNBZ0RFO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7O0FBRUEsV0E3RE4saUJBS0UsU0FnREUsb0JBUUc7RUFDQywwQkFBQTs7QUFuRVYsV0FLRSxpQkFLRSxTQWdERSxvQkFZRTtFQUNFLFNBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBRUEsYUFBQTtFQUNBLHNCQUFBOztBQTdFVixXQUtFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0U7RUFDRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTs7QUFFQSxXQWxGVixpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBUUcsT0FDQztFQUNFLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTs7QUFKSixXQWxGVixpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBUUcsT0FDQyxHQUlFO0VBQ0UsWUFBQTs7QUFOTixXQWxGVixpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBUUcsT0FDQyxHQU9FO0VBQ0UsWUFBQTtFQUNBLFlBQUE7O0FBVk4sV0FsRlYsaUJBS0UsU0FnREUsb0JBWUUsR0FTRSxFQVFHLE9BQ0MsR0FZRTtFRDFMZCxzQkMyTHNCLG9CRDNMdEI7O0FBT0Y7RUFBQSxXQ29GRSxpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBUUcsT0FDQyxHQVlFO0lEdExaLHNCQUFzQix1QkFBdEI7SUFDQSwwQkFBQTs7O0FDd0tRLFdBbEZWLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBWUUsZUFHRTtFRDdMaEIsc0JDOEx3Qix3QkQ5THhCOztBQU9GO0VBQUEsV0NvRkUsaUJBS0UsU0FnREUsb0JBWUUsR0FTRSxFQVFHLE9BQ0MsR0FZRSxlQUdFO0lEekxkLHNCQUFzQiwyQkFBdEI7SUFDQSwwQkFBQTs7O0FDd0tRLFdBbEZWLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBbUJFO0VEak1kLHNCQ2tNc0Isb0JEbE10Qjs7QUFPRjtFQUFBLFdDb0ZFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBbUJFO0lEN0xaLHNCQUFzQix1QkFBdEI7SUFDQSwwQkFBQTs7O0FDd0tRLFdBbEZWLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBdUJFO0VEck1kLHNCQ3NNc0Isd0JEdE10Qjs7QUFPRjtFQUFBLFdDb0ZFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBdUJFO0lEak1aLHNCQUFzQiwyQkFBdEI7SUFDQSwwQkFBQTs7O0FDd0tRLFdBbEZWLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUFRRyxPQUNDLEdBdUJFLG1CQUdFO0VEeE1oQixzQkN5TXdCLDhCRHpNeEI7O0FBT0Y7RUFBQSxXQ29GRSxpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBUUcsT0FDQyxHQXVCRSxtQkFHRTtJRHBNZCxzQkFBc0IsaUNBQXRCO0lBQ0EsMEJBQUE7OztBQzBNUSxXQXBIVixpQkFLRSxTQWdERSxvQkFZRSxHQVNFLEVBMENHO0VBQ0MscUJBQUE7RUFDQSxlQUFBOztBQUVGLFdBeEhWLGlCQUtFLFNBZ0RFLG9CQVlFLEdBU0UsRUE4Q0c7RUFDQyxxQkFBQTs7QUE5SGQsV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERTtFQUNFLHNCQUFBO0VBQ0EsNEJBQUE7RUFFQSxhQUFBO0VBQ0EsbUJBQUE7O0FBdklaLFdBS0UsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0FRRTtFQUNFLGVBQUE7RUFDQSxpQkFBQTs7QUE1SWQsV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQVFFLE1BR0U7RUFDRSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBOztBQW5KaEIsV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQVFFLE1BV0U7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBOztBQTNKaEIsV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQTZCRTtFQUNFLGVBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7O0FBcEtkLFdBS0UsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0FxQ0U7RUQ3UFYsc0JDOFBrQixZRDlQbEI7O0FBT0Y7RUFBQSxXQ29GRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQXFDRTtJRHpQUixzQkFBc0IsZUFBdEI7SUFDQSwwQkFBQTs7O0FDaUZKLFdBS0UsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0F5Q0U7RURqUVYsc0JDa1FrQixjRGxRbEI7O0FBT0Y7RUFBQSxXQ29GRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQXlDRTtJRDdQUixzQkFBc0IsaUJBQXRCO0lBQ0EsMEJBQUE7OztBQ2lGSixXQUtFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBNERFLEdBNkNFO0VEclFWLHNCQ3NRa0IsYUR0UWxCOztBQU9GO0VBQUEsV0NvRkUsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0E2Q0U7SURqUVIsc0JBQXNCLGdCQUF0QjtJQUNBLDBCQUFBOzs7QUNpRkosV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQWlERTtFRHpRVixzQkMwUWtCLGtCRDFRbEI7RUMyUVksZ0JBQUE7O0FEcFFkO0VBQUEsV0NvRkUsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0FpREU7SURyUVIsc0JBQXNCLHFCQUF0QjtJQUNBLDBCQUFBOzs7QUNpRkosV0FLRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQWlERSxtQkFJRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VEL1FkLHNCQ2dSb0Isd0JEaFJwQjtFQ2lSYyxrQkFBQTtFQUVBLHlDQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQ0FBQTtFQUNBLHlDQUFBOztBRC9RaEI7RUFBQSxXQ29GRSxpQkFLRSxTQWdERSxvQkFZRSxHQTRERSxHQWlERSxtQkFJRTtJRHpRVixzQkFBc0IsMkJBQXRCO0lBQ0EsMEJBQUE7OztBQ2lGSixXQUtFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBNERFLEdBa0VFO0VEMVJWLHNCQzJSa0IsY0QzUmxCO0VDNFJZLGdCQUFBOztBRHJSZDtFQUFBLFdDb0ZFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBNERFLEdBa0VFO0lEdFJSLHNCQUFzQixpQkFBdEI7SUFDQSwwQkFBQTs7O0FDaUZKLFdBS0UsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0FrRUUsZUFLRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VEblNkLHNCQ29Tb0Isa0JEcFNwQjtFQ3NTYyxxQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsMkNBQUE7RUFDQSx5Q0FBQTs7QURsU2hCO0VBQUEsV0NvRkUsaUJBS0UsU0FnREUsb0JBWUUsR0E0REUsR0FrRUUsZUFLRTtJRDNSVixzQkFBc0IscUJBQXRCO0lBQ0EsMEJBQUE7OztBQ2lGSixXQUtFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBNERFLEdBcUZFO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFRGhUWixzQkNpVGtCLGlCRGpUbEI7RUNrVFksMkJBQUE7RUFDQSw0QkFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQ0FBQTtFQUNBLHlDQUFBOztBRGhUZDtFQUFBLFdDb0ZFLGlCQUtFLFNBZ0RFLG9CQVlFLEdBNERFLEdBcUZFO0lEelNSLHNCQUFzQixvQkFBdEI7SUFDQSwwQkFBQTs7O0FDaUZKLFdBS0UsaUJBbU9FO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTs7QUE5T04sV0FLRSxpQkFtT0UsZUFRRTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBOztBQXBQUixXQUtFLGlCQW1QRTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0Esc0JBQUE7RUFFQSxPQUFBO0VBRUEsYUFBQTtFQUNBLHNCQUFBOztBQWhRTixXQUtFLGlCQW1QRSxTQVVFO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkFBQTs7QUF4UVIsV0FLRSxpQkFtUEUsU0FVRSxnQkFRRTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQ0FBQTtFQUNBLCtCQUFBOztBQWxSVixXQUtFLGlCQW1QRSxTQVVFLGdCQVFFLHdCQVNFO0VBQ0UsWUFBQTtFQUNBLGtCQUFBOztBQXJSWixXQUtFLGlCQW1QRSxTQVVFLGdCQVFFLHdCQWFFO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBOztBQTNSWixXQUtFLGlCQW1QRSxTQVVFLGdCQVFFLHdCQWFFLDRCQUtFLEVBQUM7RUFDQyxVQUFBOztBQTdSZCxXQUtFLGlCQW1QRSxTQVVFLGdCQWdDRTtFQUNFLGFBQUE7RUFDQSxtQkFBQTs7QUFwU1YsV0FLRSxpQkFtUEUsU0FVRSxnQkFnQ0UscUJBR0U7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBOztBQXhTWixXQUtFLGlCQW1QRSxTQVVFLGdCQWdDRSxxQkFRRTtFQUVFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTs7QUFHQSxXQTVTVixpQkFtUEUsU0FVRSxnQkFnQ0UscUJBY0UsR0FDRztFQUNDLHdCQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBQ0EsV0FqVFosaUJBbVBFLFNBVUUsZ0JBZ0NFLHFCQWNFLEdBQ0csT0FLRTtFQUNDLGNBQUE7O0FBR0osV0FyVFYsaUJBbVBFLFNBVUUsZ0JBZ0NFLHFCQWNFLEdBVUc7RUFDQyx3QkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBOztBQUVGLFdBMVRWLGlCQW1QRSxTQVVFLGdCQWdDRSxxQkFjRSxHQWVHO0VBQ0Msd0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTs7QUFsVWQsV0FLRSxpQkFtUEUsU0FnRkU7RUFDRSxrQkFBQTtFQUNBLFlBQUE7O0FBMVVSLFdBS0UsaUJBbVBFLFNBcUZFO0VBQ0UsT0FBQTtFQUNBLGNBQUE7O0FBL1VSLFdBS0UsaUJBbVBFLFNBcUZFLGVBR0U7RUFDRSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBOztBQXRWVixXQUtFLGlCQW1QRSxTQXFGRSxlQUdFLE1BT0U7RUFDRSxhQUFBOztBQXhWWixXQUtFLGlCQW1QRSxTQXFGRSxlQWNFO0VBQ0Usa0JBQUE7O0FBNVZWLFdBS0UsaUJBbVBFLFNBd0dFO0VBQ0UsbUJBQUE7O0FBaldSLFdBS0UsaUJBbVBFLFNBd0dFLGdCQUVFO0VBQ0UsVUFBQTs7QUFuV1YsV0FLRSxpQkFtUEUsU0ErR0U7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBOztBQTVXUixXQUtFLGlCQW1QRSxTQStHRSxpQkFNRTtFQUNFLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBOztBQWhYVixXQUtFLGlCQW1QRSxTQStHRSxpQkFXRTtFQUNFLHFCQUFBO0VBQ0EsVUFBQTs7QUFwWFYsV0FLRSxpQkFtUEUsU0ErSEU7RUFDRSxtQkFBQTs7QUF4WFIsV0FLRSxpQkFtUEUsU0ErSEUsVUFFRTtFQUNFLGtCQUFBOztBQTFYVixXQUtFLGlCQW1QRSxTQStIRSxVQUtFO0VBQ0Usa0JBQUE7O0FBQ0EsV0F6WFIsaUJBbVBFLFNBK0hFLFVBS0UsTUFFRztFQUNDLFVBQUE7O0FBRUYsV0E1WFIsaUJBbVBFLFNBK0hFLFVBS0UsTUFLRztFQUNDLFVBQUE7O0FDcGZaLGFBSUU7RUFDRSxnQkFBQTtFQUNBLE9BQU8sV0FBUDs7QUFOSixhQVFFO0VBRUUsd0NBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7O0FBYkosYUFnQkU7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7O0FBcEJKLGFBZ0JFLFlBTUU7RUFDRSxZQUFBO0VBQ0Esa0JBQUE7O0FBeEJOLGFBZ0JFLFlBTUUsU0FJRTtFQUNFLGlCQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7O0FBN0JSLGFBZ0JFLFlBTUUsU0FTRTtFQUNFLFVBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7O0FBbENSLGFBZ0JFLFlBTUUsU0FTRSxHQUlFO0VBQ0UsY0FBQTtFQUNBLDZCQUFBOztBQUVBLGFBdkJSLFlBTUUsU0FTRSxHQUlFLEdBSUc7RUFDQyxZQUFBO0VBQ0EsbUJBQUE7O0FBekNaLGFBZ0JFLFlBTUUsU0F1QkU7RUFFRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNEJBQUE7RUFDQSxnQ0FBQTtFQUNBLDJDQUFBO0VBQ0EseUNBQUE7O0FBcERSLGFBZ0JFLFlBd0NFLFFBQU87RUFDTCxnQkFBQTs7QUF6RE4sYUFnQkUsWUF3Q0UsUUFBTyxPQUdMO0VBQ0UsaUJBQUE7O0FBNURSLGFBZ0JFLFlBd0NFLFFBQU8sT0FPTDtFQUNFLGtCQUFBOztBQWhFUixhQWdCRSxZQXdDRSxRQUFPLE9BT0wsWUFFRTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQ0FBQTtFQUNBLHlDQUFBOztBQTFFVixhQWdCRSxZQXdDRSxRQUFPLE9BT0wsWUFhRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTs7QUFqRlYsYUFnQkUsWUF3Q0UsUUFBTyxPQU9MLFlBb0JFO0VBQ0UsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTs7QUFFQSxhQTdFUixZQXdDRSxRQUFPLE9BT0wsWUFvQkUsTUFVRztFQUNDLGdCQUFBO0VBQ0EscUJBQUE7O0FBR0YsYUFsRlIsWUF3Q0UsUUFBTyxPQU9MLFlBb0JFLE1BZUc7RUFDQyxXQUFBO0VBQ0EsZ0JBQUE7O0FBcEdaLGFBZ0JFLFlBd0NFLFFBQU8sT0FpREw7RUFDRSxjQUFBO0VBQ0Esb0JBQUE7O0FBM0dSLGFBZ0JFLFlBd0NFLFFBQU8sT0FpREwsU0FJRTtFQUNFLGtCQUFBOztBQTlHVixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBSUUsWUFFRTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7O0FBbEhaLGFBZ0JFLFlBd0NFLFFBQU8sT0FpREwsU0FhRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTs7QUF4SFYsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRTtFQUNFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBOztBQTlIVixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBa0JFLEdBS0U7RUFJRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSwwQkFBQTtFQUVBLDZCQUFBOztBQVBBLGFBakhWLFlBd0NFLFFBQU8sT0FpREwsU0FrQkUsR0FLRSxHQUNHO0VBQ0MseUJBQUE7O0FBT0YsYUF6SFYsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBU0c7RUFDQyxnQkFBQTs7QUExSWQsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBWUU7RUFpQ0UsWUFBQTs7QUE3S2QsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBWUUsTUFDRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUtBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7O0FBdkpoQixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBa0JFLEdBS0UsR0FZRSxNQUNFLE1BR0U7RUFDRSxpQkFBQTtFQUNBLGdCQUFBOztBQWxKbEIsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBWUUsTUFhRTtFQUNFLGNBQUE7RUFDQSxlQUFBOztBQTNKaEIsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBWUUsTUFhRSxZQUlFO0VBQ0UsZUFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7O0FBbktsQixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBa0JFLEdBS0UsR0FZRSxNQWFFLFlBYUU7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7O0FBMUtsQixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBa0JFLEdBS0UsR0ErQ0U7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FBbkxkLGFBZ0JFLFlBd0NFLFFBQU8sT0FpREwsU0FrQkUsR0FLRSxHQStDRSxRQUtFO0VBQ0Usa0JBQUE7O0FBckxoQixhQWdCRSxZQXdDRSxRQUFPLE9BaURMLFNBa0JFLEdBS0UsR0ErQ0UsUUFLRSxHQUVFO0VBQ0UsY0FBQTtFQUNBLGlCQUFBOztBQXhMbEIsYUFnQkUsWUF3Q0UsUUFBTyxPQWlETCxTQWtCRSxHQUtFLEdBK0NFLFFBY0U7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxlQUFBOztBQVVoQixlQUFlO0VBQ2IscUNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTs7QUNoTUY7QUFBTTtFQUNKLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBYSx3QkFBYjtFQUVBLGVBQUE7O0FBUkYsSUFTRTtBQVRJLElBU0o7RUFDRSxvQkFBQTs7QUFJSjtFQUNFLFdBQUE7O0FBR0Y7RUFDRSxXQUFBO0VBQ0EsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUdGO0VBQ0Usa0NBQUE7RUFDQSw0QkFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLG9DQUFBOztBQUVBLHlCQUFDO0VBQ0MscUNBQUE7O0FBSUo7RUFDRSxjQUFBO0VBQ0EsZUFBQTs7QUFHRjtFQUNFLGFBQWEsd0JBQWI7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0Esd0NBQUE7RUFDQSxzQkFBQTs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFlBQW5COztFQUVGO0lBQ0UsbUJBQW1CLGNBQW5COzs7QUFJSjtFQUNFO0lBQ0UsbUJBQW1CLGVBQW5COztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjs7O0FBSUo7RUFDRTtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFVBQUE7O0VBRUY7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLGVBQW5COztFQUVGO0lBQ0UsVUFBQTtJQUNBLG1CQUFtQixnQkFBbkI7O0VBRUY7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQiJ9 */ \ No newline at end of file diff --git a/vendor/jasmine-2.1.3/boot.js b/vendor/jasmine-2.1.3/boot.js deleted file mode 100755 index 164f068b09..0000000000 --- a/vendor/jasmine-2.1.3/boot.js +++ /dev/null @@ -1,120 +0,0 @@ -/** - Starting with version 2.0, this file "boots" Jasmine, performing all of the necessary initialization before executing the loaded environment and all of a project's specs. This file should be loaded after `jasmine.js` and `jasmine_html.js`, but before any project source files or spec files are loaded. Thus this file can also be used to customize Jasmine for a project. - - If a project is using Jasmine via the standalone distribution, this file can be customized directly. If a project is using Jasmine via the [Ruby gem][jasmine-gem], this file can be copied into the support directory via `jasmine copy_boot_js`. Other environments (e.g., Python) will have different mechanisms. - - The location of `boot.js` can be specified and/or overridden in `jasmine.yml`. - - [jasmine-gem]: http://github.com/pivotal/jasmine-gem - */ - -(function() { - - /** - * ## Require & Instantiate - * - * Require Jasmine's core files. Specifically, this requires and attaches all of Jasmine's code to the `jasmine` reference. - */ - window.jasmine = jasmineRequire.core(jasmineRequire); - - /** - * Since this is being run in a browser and the results should populate to an HTML page, require the HTML-specific Jasmine code, injecting the same reference. - */ - jasmineRequire.html(jasmine); - - /** - * Create the Jasmine environment. This is used to run all specs in a project. - */ - var env = jasmine.getEnv(); - - /** - * ## The Global Interface - * - * Build up the functions that will be exposed as the Jasmine public interface. A project can customize, rename or alias any of these functions as desired, provided the implementation remains unchanged. - */ - var jasmineInterface = jasmineRequire.interface(jasmine, env); - - /** - * Add all of the Jasmine global/public interface to the proper global, so a project can use the public interface directly. For example, calling `describe` in specs instead of `jasmine.getEnv().describe`. - */ - if (typeof window == "undefined" && typeof exports == "object") { - extend(exports, jasmineInterface); - } else { - extend(window, jasmineInterface); - } - - /** - * ## Runner Parameters - * - * More browser specific code - wrap the query string in an object and to allow for getting/setting parameters from the runner user interface. - */ - - var queryString = new jasmine.QueryString({ - getWindowLocation: function() { return window.location; } - }); - - var catchingExceptions = queryString.getParam("catch"); - env.catchExceptions(typeof catchingExceptions === "undefined" ? true : catchingExceptions); - - /** - * ## Reporters - * The `HtmlReporter` builds all of the HTML UI for the runner page. This reporter paints the dots, stars, and x's for specs, as well as all spec names and all failures (if any). - */ - var htmlReporter = new jasmine.HtmlReporter({ - env: env, - onRaiseExceptionsClick: function() { queryString.setParam("catch", !env.catchingExceptions()); }, - getContainer: function() { return document.body; }, - createElement: function() { return document.createElement.apply(document, arguments); }, - createTextNode: function() { return document.createTextNode.apply(document, arguments); }, - timer: new jasmine.Timer() - }); - - /** - * The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript. - */ - env.addReporter(jasmineInterface.jsApiReporter); - env.addReporter(htmlReporter); - - /** - * Filter which specs will be run by matching the start of the full name against the `spec` query param. - */ - var specFilter = new jasmine.HtmlSpecFilter({ - filterString: function() { return queryString.getParam("spec"); } - }); - - env.specFilter = function(spec) { - return specFilter.matches(spec.getFullName()); - }; - - /** - * Setting up timing functions to be able to be overridden. Certain browsers (Safari, IE 8, phantomjs) require this hack. - */ - window.setTimeout = window.setTimeout; - window.setInterval = window.setInterval; - window.clearTimeout = window.clearTimeout; - window.clearInterval = window.clearInterval; - - /** - * ## Execution - * - * Replace the browser window's `onload`, ensure it's called, and then run all of the loaded specs. This includes initializing the `HtmlReporter` instance and then executing the loaded Jasmine environment. All of this will happen after all of the specs are loaded. - */ - var currentWindowOnload = window.onload; - - window.onload = function() { - if (currentWindowOnload) { - currentWindowOnload(); - } - htmlReporter.initialize(); - env.execute(); - }; - - /** - * Helper function for readability above. - */ - function extend(destination, source) { - for (var property in source) destination[property] = source[property]; - return destination; - } - -}()); diff --git a/vendor/jasmine-2.1.3/console.js b/vendor/jasmine-2.1.3/console.js deleted file mode 100755 index a65876e911..0000000000 --- a/vendor/jasmine-2.1.3/console.js +++ /dev/null @@ -1,190 +0,0 @@ -/* -Copyright (c) 2008-2014 Pivotal Labs - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -function getJasmineRequireObj() { - if (typeof module !== 'undefined' && module.exports) { - return exports; - } else { - window.jasmineRequire = window.jasmineRequire || {}; - return window.jasmineRequire; - } -} - -getJasmineRequireObj().console = function(jRequire, j$) { - j$.ConsoleReporter = jRequire.ConsoleReporter(); -}; - -getJasmineRequireObj().ConsoleReporter = function() { - - var noopTimer = { - start: function(){}, - elapsed: function(){ return 0; } - }; - - function ConsoleReporter(options) { - var print = options.print, - showColors = options.showColors || false, - onComplete = options.onComplete || function() {}, - timer = options.timer || noopTimer, - specCount, - failureCount, - failedSpecs = [], - pendingCount, - ansi = { - green: '\x1B[32m', - red: '\x1B[31m', - yellow: '\x1B[33m', - none: '\x1B[0m' - }, - failedSuites = []; - - print('ConsoleReporter is deprecated and will be removed in a future version.'); - - this.jasmineStarted = function() { - specCount = 0; - failureCount = 0; - pendingCount = 0; - print('Started'); - printNewline(); - timer.start(); - }; - - this.jasmineDone = function() { - printNewline(); - for (var i = 0; i < failedSpecs.length; i++) { - specFailureDetails(failedSpecs[i]); - } - - if(specCount > 0) { - printNewline(); - - var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' + - failureCount + ' ' + plural('failure', failureCount); - - if (pendingCount) { - specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount); - } - - print(specCounts); - } else { - print('No specs found'); - } - - printNewline(); - var seconds = timer.elapsed() / 1000; - print('Finished in ' + seconds + ' ' + plural('second', seconds)); - printNewline(); - - for(i = 0; i < failedSuites.length; i++) { - suiteFailureDetails(failedSuites[i]); - } - - onComplete(failureCount === 0); - }; - - this.specDone = function(result) { - specCount++; - - if (result.status == 'pending') { - pendingCount++; - print(colored('yellow', '*')); - return; - } - - if (result.status == 'passed') { - print(colored('green', '.')); - return; - } - - if (result.status == 'failed') { - failureCount++; - failedSpecs.push(result); - print(colored('red', 'F')); - } - }; - - this.suiteDone = function(result) { - if (result.failedExpectations && result.failedExpectations.length > 0) { - failureCount++; - failedSuites.push(result); - } - }; - - return this; - - function printNewline() { - print('\n'); - } - - function colored(color, str) { - return showColors ? (ansi[color] + str + ansi.none) : str; - } - - function plural(str, count) { - return count == 1 ? str : str + 's'; - } - - function repeat(thing, times) { - var arr = []; - for (var i = 0; i < times; i++) { - arr.push(thing); - } - return arr; - } - - function indent(str, spaces) { - var lines = (str || '').split('\n'); - var newArr = []; - for (var i = 0; i < lines.length; i++) { - newArr.push(repeat(' ', spaces).join('') + lines[i]); - } - return newArr.join('\n'); - } - - function specFailureDetails(result) { - printNewline(); - print(result.fullName); - - for (var i = 0; i < result.failedExpectations.length; i++) { - var failedExpectation = result.failedExpectations[i]; - printNewline(); - print(indent(failedExpectation.message, 2)); - print(indent(failedExpectation.stack, 2)); - } - - printNewline(); - } - - function suiteFailureDetails(result) { - for (var i = 0; i < result.failedExpectations.length; i++) { - printNewline(); - print(colored('red', 'An error was thrown in an afterAll')); - printNewline(); - print(colored('red', 'AfterAll ' + result.failedExpectations[i].message)); - - } - printNewline(); - } - } - - return ConsoleReporter; -}; diff --git a/vendor/jasmine-2.1.3/jasmine-html.js b/vendor/jasmine-2.1.3/jasmine-html.js deleted file mode 100755 index 898108b77d..0000000000 --- a/vendor/jasmine-2.1.3/jasmine-html.js +++ /dev/null @@ -1,404 +0,0 @@ -/* -Copyright (c) 2008-2014 Pivotal Labs - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -jasmineRequire.html = function(j$) { - j$.ResultsNode = jasmineRequire.ResultsNode(); - j$.HtmlReporter = jasmineRequire.HtmlReporter(j$); - j$.QueryString = jasmineRequire.QueryString(); - j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); -}; - -jasmineRequire.HtmlReporter = function(j$) { - - var noopTimer = { - start: function() {}, - elapsed: function() { return 0; } - }; - - function HtmlReporter(options) { - var env = options.env || {}, - getContainer = options.getContainer, - createElement = options.createElement, - createTextNode = options.createTextNode, - onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {}, - timer = options.timer || noopTimer, - results = [], - specsExecuted = 0, - failureCount = 0, - pendingSpecCount = 0, - htmlReporterMain, - symbols, - failedSuites = []; - - this.initialize = function() { - clearPrior(); - htmlReporterMain = createDom('div', {className: 'jasmine_html-reporter'}, - createDom('div', {className: 'banner'}, - createDom('a', {className: 'title', href: 'http://jasmine.github.io/', target: '_blank'}), - createDom('span', {className: 'version'}, j$.version) - ), - createDom('ul', {className: 'symbol-summary'}), - createDom('div', {className: 'alert'}), - createDom('div', {className: 'results'}, - createDom('div', {className: 'failures'}) - ) - ); - getContainer().appendChild(htmlReporterMain); - - symbols = find('.symbol-summary'); - }; - - var totalSpecsDefined; - this.jasmineStarted = function(options) { - totalSpecsDefined = options.totalSpecsDefined || 0; - timer.start(); - }; - - var summary = createDom('div', {className: 'summary'}); - - var topResults = new j$.ResultsNode({}, '', null), - currentParent = topResults; - - this.suiteStarted = function(result) { - currentParent.addChild(result, 'suite'); - currentParent = currentParent.last(); - }; - - this.suiteDone = function(result) { - if (result.status == 'failed') { - failedSuites.push(result); - } - - if (currentParent == topResults) { - return; - } - - currentParent = currentParent.parent; - }; - - this.specStarted = function(result) { - currentParent.addChild(result, 'spec'); - }; - - var failures = []; - this.specDone = function(result) { - if(noExpectations(result) && typeof console !== 'undefined' && typeof console.error !== 'undefined') { - console.error('Spec \'' + result.fullName + '\' has no expectations.'); - } - - if (result.status != 'disabled') { - specsExecuted++; - } - - symbols.appendChild(createDom('li', { - className: noExpectations(result) ? 'empty' : result.status, - id: 'spec_' + result.id, - title: result.fullName - } - )); - - if (result.status == 'failed') { - failureCount++; - - var failure = - createDom('div', {className: 'spec-detail failed'}, - createDom('div', {className: 'description'}, - createDom('a', {title: result.fullName, href: specHref(result)}, result.fullName) - ), - createDom('div', {className: 'messages'}) - ); - var messages = failure.childNodes[1]; - - for (var i = 0; i < result.failedExpectations.length; i++) { - var expectation = result.failedExpectations[i]; - messages.appendChild(createDom('div', {className: 'result-message'}, expectation.message)); - messages.appendChild(createDom('div', {className: 'stack-trace'}, expectation.stack)); - } - - failures.push(failure); - } - - if (result.status == 'pending') { - pendingSpecCount++; - } - }; - - this.jasmineDone = function() { - var banner = find('.banner'); - banner.appendChild(createDom('span', {className: 'duration'}, 'finished in ' + timer.elapsed() / 1000 + 's')); - - var alert = find('.alert'); - - alert.appendChild(createDom('span', { className: 'exceptions' }, - createDom('label', { className: 'label', 'for': 'raise-exceptions' }, 'raise exceptions'), - createDom('input', { - className: 'raise', - id: 'raise-exceptions', - type: 'checkbox' - }) - )); - var checkbox = find('#raise-exceptions'); - - checkbox.checked = !env.catchingExceptions(); - checkbox.onclick = onRaiseExceptionsClick; - - if (specsExecuted < totalSpecsDefined) { - var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all'; - alert.appendChild( - createDom('span', {className: 'bar skipped'}, - createDom('a', {href: '?', title: 'Run all specs'}, skippedMessage) - ) - ); - } - var statusBarMessage = ''; - var statusBarClassName = 'bar '; - - if (totalSpecsDefined > 0) { - statusBarMessage += pluralize('spec', specsExecuted) + ', ' + pluralize('failure', failureCount); - if (pendingSpecCount) { statusBarMessage += ', ' + pluralize('pending spec', pendingSpecCount); } - statusBarClassName += (failureCount > 0) ? 'failed' : 'passed'; - } else { - statusBarClassName += 'skipped'; - statusBarMessage += 'No specs found'; - } - - alert.appendChild(createDom('span', {className: statusBarClassName}, statusBarMessage)); - - for(i = 0; i < failedSuites.length; i++) { - var failedSuite = failedSuites[i]; - for(var j = 0; j < failedSuite.failedExpectations.length; j++) { - var errorBarMessage = 'AfterAll ' + failedSuite.failedExpectations[j].message; - var errorBarClassName = 'bar errored'; - alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessage)); - } - } - - var results = find('.results'); - results.appendChild(summary); - - summaryList(topResults, summary); - - function summaryList(resultsTree, domParent) { - var specListNode; - for (var i = 0; i < resultsTree.children.length; i++) { - var resultNode = resultsTree.children[i]; - if (resultNode.type == 'suite') { - var suiteListNode = createDom('ul', {className: 'suite', id: 'suite-' + resultNode.result.id}, - createDom('li', {className: 'suite-detail'}, - createDom('a', {href: specHref(resultNode.result)}, resultNode.result.description) - ) - ); - - summaryList(resultNode, suiteListNode); - domParent.appendChild(suiteListNode); - } - if (resultNode.type == 'spec') { - if (domParent.getAttribute('class') != 'specs') { - specListNode = createDom('ul', {className: 'specs'}); - domParent.appendChild(specListNode); - } - var specDescription = resultNode.result.description; - if(noExpectations(resultNode.result)) { - specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription; - } - specListNode.appendChild( - createDom('li', { - className: resultNode.result.status, - id: 'spec-' + resultNode.result.id - }, - createDom('a', {href: specHref(resultNode.result)}, specDescription) - ) - ); - } - } - } - - if (failures.length) { - alert.appendChild( - createDom('span', {className: 'menu bar spec-list'}, - createDom('span', {}, 'Spec List | '), - createDom('a', {className: 'failures-menu', href: '#'}, 'Failures'))); - alert.appendChild( - createDom('span', {className: 'menu bar failure-list'}, - createDom('a', {className: 'spec-list-menu', href: '#'}, 'Spec List'), - createDom('span', {}, ' | Failures '))); - - find('.failures-menu').onclick = function() { - setMenuModeTo('failure-list'); - }; - find('.spec-list-menu').onclick = function() { - setMenuModeTo('spec-list'); - }; - - setMenuModeTo('failure-list'); - - var failureNode = find('.failures'); - for (var i = 0; i < failures.length; i++) { - failureNode.appendChild(failures[i]); - } - } - }; - - return this; - - function find(selector) { - return getContainer().querySelector('.jasmine_html-reporter ' + selector); - } - - function clearPrior() { - // return the reporter - var oldReporter = find(''); - - if(oldReporter) { - getContainer().removeChild(oldReporter); - } - } - - function createDom(type, attrs, childrenVarArgs) { - var el = createElement(type); - - for (var i = 2; i < arguments.length; i++) { - var child = arguments[i]; - - if (typeof child === 'string') { - el.appendChild(createTextNode(child)); - } else { - if (child) { - el.appendChild(child); - } - } - } - - for (var attr in attrs) { - if (attr == 'className') { - el[attr] = attrs[attr]; - } else { - el.setAttribute(attr, attrs[attr]); - } - } - - return el; - } - - function pluralize(singular, count) { - var word = (count == 1 ? singular : singular + 's'); - - return '' + count + ' ' + word; - } - - function specHref(result) { - return '?spec=' + encodeURIComponent(result.fullName); - } - - function setMenuModeTo(mode) { - htmlReporterMain.setAttribute('class', 'jasmine_html-reporter ' + mode); - } - - function noExpectations(result) { - return (result.failedExpectations.length + result.passedExpectations.length) === 0 && - result.status === 'passed'; - } - } - - return HtmlReporter; -}; - -jasmineRequire.HtmlSpecFilter = function() { - function HtmlSpecFilter(options) { - var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); - var filterPattern = new RegExp(filterString); - - this.matches = function(specName) { - return filterPattern.test(specName); - }; - } - - return HtmlSpecFilter; -}; - -jasmineRequire.ResultsNode = function() { - function ResultsNode(result, type, parent) { - this.result = result; - this.type = type; - this.parent = parent; - - this.children = []; - - this.addChild = function(result, type) { - this.children.push(new ResultsNode(result, type, this)); - }; - - this.last = function() { - return this.children[this.children.length - 1]; - }; - } - - return ResultsNode; -}; - -jasmineRequire.QueryString = function() { - function QueryString(options) { - - this.setParam = function(key, value) { - var paramMap = queryStringToParamMap(); - paramMap[key] = value; - options.getWindowLocation().search = toQueryString(paramMap); - }; - - this.getParam = function(key) { - return queryStringToParamMap()[key]; - }; - - return this; - - function toQueryString(paramMap) { - var qStrPairs = []; - for (var prop in paramMap) { - qStrPairs.push(encodeURIComponent(prop) + '=' + encodeURIComponent(paramMap[prop])); - } - return '?' + qStrPairs.join('&'); - } - - function queryStringToParamMap() { - var paramStr = options.getWindowLocation().search.substring(1), - params = [], - paramMap = {}; - - if (paramStr.length > 0) { - params = paramStr.split('&'); - for (var i = 0; i < params.length; i++) { - var p = params[i].split('='); - var value = decodeURIComponent(p[1]); - if (value === 'true' || value === 'false') { - value = JSON.parse(value); - } - paramMap[decodeURIComponent(p[0])] = value; - } - } - - return paramMap; - } - - } - - return QueryString; -}; diff --git a/vendor/jasmine-2.1.3/jasmine.css b/vendor/jasmine-2.1.3/jasmine.css deleted file mode 100755 index 7ae5834879..0000000000 --- a/vendor/jasmine-2.1.3/jasmine.css +++ /dev/null @@ -1,62 +0,0 @@ -body { overflow-y: scroll; } - -.jasmine_html-reporter { background-color: #eeeeee; padding: 5px; margin: -8px; font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; } -.jasmine_html-reporter a { text-decoration: none; } -.jasmine_html-reporter a:hover { text-decoration: underline; } -.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 { margin: 0; line-height: 14px; } -.jasmine_html-reporter .banner, .jasmine_html-reporter .symbol-summary, .jasmine_html-reporter .summary, .jasmine_html-reporter .result-message, .jasmine_html-reporter .spec .description, .jasmine_html-reporter .spec-detail .description, .jasmine_html-reporter .alert .bar, .jasmine_html-reporter .stack-trace { padding-left: 9px; padding-right: 9px; } -.jasmine_html-reporter .banner { position: relative; } -.jasmine_html-reporter .banner .title { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAZCAMAAACGusnyAAACdlBMVEX/////AP+AgICqVaqAQICZM5mAVYCSSZKAQICOOY6ATYCLRouAQICJO4mSSYCIRIiPQICHPIeOR4CGQ4aMQICGPYaLRoCFQ4WKQICPPYWJRYCOQoSJQICNPoSIRICMQoSHQICHRICKQoOHQICKPoOJO4OJQYOMQICMQ4CIQYKLQICIPoKLQ4CKQICNPoKJQISMQ4KJQoSLQYKJQISLQ4KIQoSKQYKIQICIQISMQoSKQYKLQIOLQoOJQYGLQIOKQIOMQoGKQYOLQYGKQIOLQoGJQYOJQIOKQYGJQIOKQoGKQIGLQIKLQ4KKQoGLQYKJQIGKQYKJQIGKQIKJQoGKQYKLQIGKQYKLQIOJQoKKQoOJQYKKQIOJQoKKQoOKQIOLQoKKQYOLQYKJQIOKQoKKQYKKQoKJQYOKQYKLQIOKQoKLQYOKQYKLQIOJQoGKQYKJQYGJQoGKQYKLQoGLQYGKQoGJQYKKQYGJQIKKQoGJQYKLQIKKQYGLQYKKQYGKQYGKQYKJQYOKQoKJQYOKQYKLQYOLQYOKQYKLQYOKQoKKQYKKQYOKQYOJQYKKQYKLQYKKQIKKQoKKQYKKQYKKQoKJQIKKQYKLQYKKQYKKQIKKQYKKQYKKQYKKQIKKQYKJQYGLQYGKQYKKQYKKQYGKQIKKQYGKQYOJQoKKQYOLQYKKQYOKQoKKQYKKQoKKQYKKQYKJQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKJQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKmIDpEAAAA0XRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAiIyQlJycoKissLS4wMTQ1Njc4OTo7PDw+P0BCQ0RISUpLTE1OUFNUVVdYWFlaW15fYGFiY2ZnaGlqa2xtb3BxcnN0dnh5ent8fX5/gIGChIWIioyNjo+QkZOUlZaYmZqbnJ2eoKGio6WmqKmsra6vsLGztre4ubq7vL2+wMHDxMjJysvNzs/Q0dLU1tfY2dvc3t/g4eLj5ebn6Onq6+zt7u/w8vP09fb3+Pn6+/z9/vkVQXAAAAMaSURBVHhe5dXxV1N1GMfxz2ABbDgIAm5VDJOyVDIJLUMaVpBWUZUaGbmqoGpZRSiGiRWp6KoZ5AB0ZY50RImZQIlahKkMYXv/R90dBvET/rJfOr3Ouc8v99zPec59zvf56j+vYKlViSf7250X4Mr3O29Tgq08BdGB4DhcekEJ5YkQKFsgWZdtj9JpV+I8xPjLFqkrsEIqO8PHSpis36jWazcqjEsfJjkvRssVU37SdIOu4XCf5vEJPsnwJpnRNU9JmxhMk8l1gehIrq7hTFjzOD+Vf88629qKMJVNltInFeRexRQyJlNeqd1iGDlSzrIUIyXbyFfm3RYprcQRe7lqtWyGYbfc6dT0R2vmdOOkX3u55C1rP37ftiH+tDby4r/RBT0w8TyEkr+epB9XgPDmSYYWbrhCuFYaIyw3fDQAXTnSkh+ANofiHmWf9l+FY1I90FdQTetstO00o23novzVsJ7uB3/C5TkbjRwZ5JerwV4iRWq9HFbFMaK/d0TYqayRiQPuIxxS3Bu8JWU90/60tKi7vkhaznez0a/TbVOKj5CaOZh6fWG6/Lyv9B/ZLR1gw/S/fpbeVD3MCW1li6SvWDOn65tr99/uvWtBS0XDm4s1t+sOHpG0kpBKx/l77wOSnxLpcx6TXmXLTPQOKYOf9Q1dfr8/SJ2mFdCvl1Yl93DiHUZvXeLJbGSzYu5gVJ2slbSakOR8dxCq5adQ2oFLqsE9Ex3L4qQO0eOPeU5x56bypXp4onSEb5OkICX6lDat55TeoztNKQcJaakrz9KCb95oD69IKq+yKW4XPjknaS52V0TZqE2cTtXjcHSCRmUO88e+85hj3EP74i9p8pylw7lxgMDyyl6OV7ZejnjNMfatu87LxRbH0IS35gt2a4ZjmGpVBdKK3Wr6INk8jWWSGqbA55CKgjBRC6E9w78ydTg3ABS3AFV1QN0Y4Aa2pgEjWnQURj9L0ayK6R2ysEqxHUKzYnLvvyU+i9KM2JHJzE4vyZOyDcOwOsySajeLPc8sNvPJkFlyJd20wpqAzZeAfZ3oWybxd+P/3j+SG3uSBdf2VQAAAABJRU5ErkJggg==') no-repeat; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat, none; -webkit-background-size: 100%; -moz-background-size: 100%; -o-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; } -.jasmine_html-reporter .banner .version { margin-left: 14px; position: relative; top: 6px; } -.jasmine_html-reporter .banner .duration { position: absolute; right: 14px; top: 6px; } -.jasmine_html-reporter #jasmine_content { position: fixed; right: 100%; } -.jasmine_html-reporter .version { color: #aaaaaa; } -.jasmine_html-reporter .banner { margin-top: 14px; } -.jasmine_html-reporter .duration { color: #aaaaaa; float: right; } -.jasmine_html-reporter .symbol-summary { overflow: hidden; *zoom: 1; margin: 14px 0; } -.jasmine_html-reporter .symbol-summary li { display: inline-block; height: 8px; width: 14px; font-size: 16px; } -.jasmine_html-reporter .symbol-summary li.passed { font-size: 14px; } -.jasmine_html-reporter .symbol-summary li.passed:before { color: #007069; content: "\02022"; } -.jasmine_html-reporter .symbol-summary li.failed { line-height: 9px; } -.jasmine_html-reporter .symbol-summary li.failed:before { color: #ca3a11; content: "\d7"; font-weight: bold; margin-left: -1px; } -.jasmine_html-reporter .symbol-summary li.disabled { font-size: 14px; } -.jasmine_html-reporter .symbol-summary li.disabled:before { color: #bababa; content: "\02022"; } -.jasmine_html-reporter .symbol-summary li.pending { line-height: 17px; } -.jasmine_html-reporter .symbol-summary li.pending:before { color: #ba9d37; content: "*"; } -.jasmine_html-reporter .symbol-summary li.empty { font-size: 14px; } -.jasmine_html-reporter .symbol-summary li.empty:before { color: #ba9d37; content: "\02022"; } -.jasmine_html-reporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; } -.jasmine_html-reporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } -.jasmine_html-reporter .bar.failed { background-color: #ca3a11; } -.jasmine_html-reporter .bar.passed { background-color: #007069; } -.jasmine_html-reporter .bar.skipped { background-color: #bababa; } -.jasmine_html-reporter .bar.errored { background-color: #ca3a11; } -.jasmine_html-reporter .bar.menu { background-color: #fff; color: #aaaaaa; } -.jasmine_html-reporter .bar.menu a { color: #333333; } -.jasmine_html-reporter .bar a { color: white; } -.jasmine_html-reporter.spec-list .bar.menu.failure-list, .jasmine_html-reporter.spec-list .results .failures { display: none; } -.jasmine_html-reporter.failure-list .bar.menu.spec-list, .jasmine_html-reporter.failure-list .summary { display: none; } -.jasmine_html-reporter .running-alert { background-color: #666666; } -.jasmine_html-reporter .results { margin-top: 14px; } -.jasmine_html-reporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } -.jasmine_html-reporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } -.jasmine_html-reporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } -.jasmine_html-reporter.showDetails .summary { display: none; } -.jasmine_html-reporter.showDetails #details { display: block; } -.jasmine_html-reporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } -.jasmine_html-reporter .summary { margin-top: 14px; } -.jasmine_html-reporter .summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; } -.jasmine_html-reporter .summary ul.suite { margin-top: 7px; margin-bottom: 7px; } -.jasmine_html-reporter .summary li.passed a { color: #007069; } -.jasmine_html-reporter .summary li.failed a { color: #ca3a11; } -.jasmine_html-reporter .summary li.empty a { color: #ba9d37; } -.jasmine_html-reporter .summary li.pending a { color: #ba9d37; } -.jasmine_html-reporter .description + .suite { margin-top: 0; } -.jasmine_html-reporter .suite { margin-top: 14px; } -.jasmine_html-reporter .suite a { color: #333333; } -.jasmine_html-reporter .failures .spec-detail { margin-bottom: 28px; } -.jasmine_html-reporter .failures .spec-detail .description { background-color: #ca3a11; } -.jasmine_html-reporter .failures .spec-detail .description a { color: white; } -.jasmine_html-reporter .result-message { padding-top: 14px; color: #333333; white-space: pre; } -.jasmine_html-reporter .result-message span.result { display: block; } -.jasmine_html-reporter .stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; } diff --git a/vendor/jasmine-2.1.3/jasmine.js b/vendor/jasmine-2.1.3/jasmine.js deleted file mode 100755 index 1ccb640964..0000000000 --- a/vendor/jasmine-2.1.3/jasmine.js +++ /dev/null @@ -1,2908 +0,0 @@ -/* -Copyright (c) 2008-2014 Pivotal Labs - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -getJasmineRequireObj = (function (jasmineGlobal) { - var jasmineRequire; - - if (typeof module !== 'undefined' && module.exports) { - jasmineGlobal = global; - jasmineRequire = exports; - } else { - jasmineRequire = jasmineGlobal.jasmineRequire = jasmineGlobal.jasmineRequire || {}; - } - - function getJasmineRequire() { - return jasmineRequire; - } - - getJasmineRequire().core = function(jRequire) { - var j$ = {}; - - jRequire.base(j$, jasmineGlobal); - j$.util = jRequire.util(); - j$.Any = jRequire.Any(); - j$.CallTracker = jRequire.CallTracker(); - j$.MockDate = jRequire.MockDate(); - j$.Clock = jRequire.Clock(); - j$.DelayedFunctionScheduler = jRequire.DelayedFunctionScheduler(); - j$.Env = jRequire.Env(j$); - j$.ExceptionFormatter = jRequire.ExceptionFormatter(); - j$.Expectation = jRequire.Expectation(); - j$.buildExpectationResult = jRequire.buildExpectationResult(); - j$.JsApiReporter = jRequire.JsApiReporter(); - j$.matchersUtil = jRequire.matchersUtil(j$); - j$.ObjectContaining = jRequire.ObjectContaining(j$); - j$.pp = jRequire.pp(j$); - j$.QueueRunner = jRequire.QueueRunner(j$); - j$.ReportDispatcher = jRequire.ReportDispatcher(); - j$.Spec = jRequire.Spec(j$); - j$.SpyRegistry = jRequire.SpyRegistry(j$); - j$.SpyStrategy = jRequire.SpyStrategy(); - j$.Suite = jRequire.Suite(); - j$.Timer = jRequire.Timer(); - j$.version = jRequire.version(); - - j$.matchers = jRequire.requireMatchers(jRequire, j$); - - return j$; - }; - - return getJasmineRequire; -})(this); - -getJasmineRequireObj().requireMatchers = function(jRequire, j$) { - var availableMatchers = [ - 'toBe', - 'toBeCloseTo', - 'toBeDefined', - 'toBeFalsy', - 'toBeGreaterThan', - 'toBeLessThan', - 'toBeNaN', - 'toBeNull', - 'toBeTruthy', - 'toBeUndefined', - 'toContain', - 'toEqual', - 'toHaveBeenCalled', - 'toHaveBeenCalledWith', - 'toMatch', - 'toThrow', - 'toThrowError' - ], - matchers = {}; - - for (var i = 0; i < availableMatchers.length; i++) { - var name = availableMatchers[i]; - matchers[name] = jRequire[name](j$); - } - - return matchers; -}; - -getJasmineRequireObj().base = function(j$, jasmineGlobal) { - j$.unimplementedMethod_ = function() { - throw new Error('unimplemented method'); - }; - - j$.MAX_PRETTY_PRINT_DEPTH = 40; - j$.MAX_PRETTY_PRINT_ARRAY_LENGTH = 100; - j$.DEFAULT_TIMEOUT_INTERVAL = 5000; - - j$.getGlobal = function() { - return jasmineGlobal; - }; - - j$.getEnv = function(options) { - var env = j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options); - //jasmine. singletons in here (setTimeout blah blah). - return env; - }; - - j$.isArray_ = function(value) { - return j$.isA_('Array', value); - }; - - j$.isString_ = function(value) { - return j$.isA_('String', value); - }; - - j$.isNumber_ = function(value) { - return j$.isA_('Number', value); - }; - - j$.isA_ = function(typeName, value) { - return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; - }; - - j$.isDomNode = function(obj) { - return obj.nodeType > 0; - }; - - j$.any = function(clazz) { - return new j$.Any(clazz); - }; - - j$.objectContaining = function(sample) { - return new j$.ObjectContaining(sample); - }; - - j$.createSpy = function(name, originalFn) { - - var spyStrategy = new j$.SpyStrategy({ - name: name, - fn: originalFn, - getSpy: function() { return spy; } - }), - callTracker = new j$.CallTracker(), - spy = function() { - var callData = { - object: this, - args: Array.prototype.slice.apply(arguments) - }; - - callTracker.track(callData); - var returnValue = spyStrategy.exec.apply(this, arguments); - callData.returnValue = returnValue; - - return returnValue; - }; - - for (var prop in originalFn) { - if (prop === 'and' || prop === 'calls') { - throw new Error('Jasmine spies would overwrite the \'and\' and \'calls\' properties on the object being spied upon'); - } - - spy[prop] = originalFn[prop]; - } - - spy.and = spyStrategy; - spy.calls = callTracker; - - return spy; - }; - - j$.isSpy = function(putativeSpy) { - if (!putativeSpy) { - return false; - } - return putativeSpy.and instanceof j$.SpyStrategy && - putativeSpy.calls instanceof j$.CallTracker; - }; - - j$.createSpyObj = function(baseName, methodNames) { - if (!j$.isArray_(methodNames) || methodNames.length === 0) { - throw 'createSpyObj requires a non-empty array of method names to create spies for'; - } - var obj = {}; - for (var i = 0; i < methodNames.length; i++) { - obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]); - } - return obj; - }; -}; - -getJasmineRequireObj().util = function() { - - var util = {}; - - util.inherit = function(childClass, parentClass) { - var Subclass = function() { - }; - Subclass.prototype = parentClass.prototype; - childClass.prototype = new Subclass(); - }; - - util.htmlEscape = function(str) { - if (!str) { - return str; - } - return str.replace(/&/g, '&') - .replace(//g, '>'); - }; - - util.argsToArray = function(args) { - var arrayOfArgs = []; - for (var i = 0; i < args.length; i++) { - arrayOfArgs.push(args[i]); - } - return arrayOfArgs; - }; - - util.isUndefined = function(obj) { - return obj === void 0; - }; - - util.arrayContains = function(array, search) { - var i = array.length; - while (i--) { - if (array[i] === search) { - return true; - } - } - return false; - }; - - util.clone = function(obj) { - if (Object.prototype.toString.apply(obj) === '[object Array]') { - return obj.slice(); - } - - var cloned = {}; - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) { - cloned[prop] = obj[prop]; - } - } - - return cloned; - }; - - return util; -}; - -getJasmineRequireObj().Spec = function(j$) { - function Spec(attrs) { - this.expectationFactory = attrs.expectationFactory; - this.resultCallback = attrs.resultCallback || function() {}; - this.id = attrs.id; - this.description = attrs.description || ''; - this.queueableFn = attrs.queueableFn; - this.beforeAndAfterFns = attrs.beforeAndAfterFns || function() { return {befores: [], afters: []}; }; - this.userContext = attrs.userContext || function() { return {}; }; - this.onStart = attrs.onStart || function() {}; - this.getSpecName = attrs.getSpecName || function() { return ''; }; - this.expectationResultFactory = attrs.expectationResultFactory || function() { }; - this.queueRunnerFactory = attrs.queueRunnerFactory || function() {}; - this.catchingExceptions = attrs.catchingExceptions || function() { return true; }; - - if (!this.queueableFn.fn) { - this.pend(); - } - - this.result = { - id: this.id, - description: this.description, - fullName: this.getFullName(), - failedExpectations: [], - passedExpectations: [] - }; - } - - Spec.prototype.addExpectationResult = function(passed, data) { - var expectationResult = this.expectationResultFactory(data); - if (passed) { - this.result.passedExpectations.push(expectationResult); - } else { - this.result.failedExpectations.push(expectationResult); - } - }; - - Spec.prototype.expect = function(actual) { - return this.expectationFactory(actual, this); - }; - - Spec.prototype.execute = function(onComplete) { - var self = this; - - this.onStart(this); - - if (this.markedPending || this.disabled) { - complete(); - return; - } - - var fns = this.beforeAndAfterFns(); - var allFns = fns.befores.concat(this.queueableFn).concat(fns.afters); - - this.queueRunnerFactory({ - queueableFns: allFns, - onException: function() { self.onException.apply(self, arguments); }, - onComplete: complete, - userContext: this.userContext() - }); - - function complete() { - self.result.status = self.status(); - self.resultCallback(self.result); - - if (onComplete) { - onComplete(); - } - } - }; - - Spec.prototype.onException = function onException(e) { - if (Spec.isPendingSpecException(e)) { - this.pend(); - return; - } - - this.addExpectationResult(false, { - matcherName: '', - passed: false, - expected: '', - actual: '', - error: e - }); - }; - - Spec.prototype.disable = function() { - this.disabled = true; - }; - - Spec.prototype.pend = function() { - this.markedPending = true; - }; - - Spec.prototype.status = function() { - if (this.disabled) { - return 'disabled'; - } - - if (this.markedPending) { - return 'pending'; - } - - if (this.result.failedExpectations.length > 0) { - return 'failed'; - } else { - return 'passed'; - } - }; - - Spec.prototype.isExecutable = function() { - return !this.disabled && !this.markedPending; - }; - - Spec.prototype.getFullName = function() { - return this.getSpecName(this); - }; - - Spec.pendingSpecExceptionMessage = '=> marked Pending'; - - Spec.isPendingSpecException = function(e) { - return !!(e && e.toString && e.toString().indexOf(Spec.pendingSpecExceptionMessage) !== -1); - }; - - return Spec; -}; - -if (typeof window == void 0 && typeof exports == 'object') { - exports.Spec = jasmineRequire.Spec; -} - -getJasmineRequireObj().Env = function(j$) { - function Env(options) { - options = options || {}; - - var self = this; - var global = options.global || j$.getGlobal(); - - var totalSpecsDefined = 0; - - var catchExceptions = true; - - var realSetTimeout = j$.getGlobal().setTimeout; - var realClearTimeout = j$.getGlobal().clearTimeout; - this.clock = new j$.Clock(global, new j$.DelayedFunctionScheduler(), new j$.MockDate(global)); - - var runnableLookupTable = {}; - var runnableResources = {}; - - var currentSpec = null; - var currentlyExecutingSuites = []; - var currentDeclarationSuite = null; - - var currentSuite = function() { - return currentlyExecutingSuites[currentlyExecutingSuites.length - 1]; - }; - - var currentRunnable = function() { - return currentSpec || currentSuite(); - }; - - var reporter = new j$.ReportDispatcher([ - 'jasmineStarted', - 'jasmineDone', - 'suiteStarted', - 'suiteDone', - 'specStarted', - 'specDone' - ]); - - this.specFilter = function() { - return true; - }; - - this.addCustomEqualityTester = function(tester) { - if(!currentRunnable()) { - throw new Error('Custom Equalities must be added in a before function or a spec'); - } - runnableResources[currentRunnable().id].customEqualityTesters.push(tester); - }; - - this.addMatchers = function(matchersToAdd) { - if(!currentRunnable()) { - throw new Error('Matchers must be added in a before function or a spec'); - } - var customMatchers = runnableResources[currentRunnable().id].customMatchers; - for (var matcherName in matchersToAdd) { - customMatchers[matcherName] = matchersToAdd[matcherName]; - } - }; - - j$.Expectation.addCoreMatchers(j$.matchers); - - var nextSpecId = 0; - var getNextSpecId = function() { - return 'spec' + nextSpecId++; - }; - - var nextSuiteId = 0; - var getNextSuiteId = function() { - return 'suite' + nextSuiteId++; - }; - - var expectationFactory = function(actual, spec) { - return j$.Expectation.Factory({ - util: j$.matchersUtil, - customEqualityTesters: runnableResources[spec.id].customEqualityTesters, - customMatchers: runnableResources[spec.id].customMatchers, - actual: actual, - addExpectationResult: addExpectationResult - }); - - function addExpectationResult(passed, result) { - return spec.addExpectationResult(passed, result); - } - }; - - var defaultResourcesForRunnable = function(id, parentRunnableId) { - var resources = {spies: [], customEqualityTesters: [], customMatchers: {}}; - - if(runnableResources[parentRunnableId]){ - resources.customEqualityTesters = j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters); - resources.customMatchers = j$.util.clone(runnableResources[parentRunnableId].customMatchers); - } - - runnableResources[id] = resources; - }; - - var clearResourcesForRunnable = function(id) { - spyRegistry.clearSpies(); - delete runnableResources[id]; - }; - - var beforeAndAfterFns = function(suite, runnablesExplictlySet) { - return function() { - var befores = [], - afters = [], - beforeAlls = [], - afterAlls = []; - - while(suite) { - befores = befores.concat(suite.beforeFns); - afters = afters.concat(suite.afterFns); - - if (runnablesExplictlySet()) { - beforeAlls = beforeAlls.concat(suite.beforeAllFns); - afterAlls = afterAlls.concat(suite.afterAllFns); - } - - suite = suite.parentSuite; - } - return { - befores: beforeAlls.reverse().concat(befores.reverse()), - afters: afters.concat(afterAlls) - }; - }; - }; - - var getSpecName = function(spec, suite) { - return suite.getFullName() + ' ' + spec.description; - }; - - // TODO: we may just be able to pass in the fn instead of wrapping here - var buildExpectationResult = j$.buildExpectationResult, - exceptionFormatter = new j$.ExceptionFormatter(), - expectationResultFactory = function(attrs) { - attrs.messageFormatter = exceptionFormatter.message; - attrs.stackFormatter = exceptionFormatter.stack; - - return buildExpectationResult(attrs); - }; - - // TODO: fix this naming, and here's where the value comes in - this.catchExceptions = function(value) { - catchExceptions = !!value; - return catchExceptions; - }; - - this.catchingExceptions = function() { - return catchExceptions; - }; - - var maximumSpecCallbackDepth = 20; - var currentSpecCallbackDepth = 0; - - function clearStack(fn) { - currentSpecCallbackDepth++; - if (currentSpecCallbackDepth >= maximumSpecCallbackDepth) { - currentSpecCallbackDepth = 0; - realSetTimeout(fn, 0); - } else { - fn(); - } - } - - var catchException = function(e) { - return j$.Spec.isPendingSpecException(e) || catchExceptions; - }; - - var queueRunnerFactory = function(options) { - options.catchException = catchException; - options.clearStack = options.clearStack || clearStack; - options.timer = {setTimeout: realSetTimeout, clearTimeout: realClearTimeout}; - options.fail = self.fail; - - new j$.QueueRunner(options).execute(); - }; - - var topSuite = new j$.Suite({ - env: this, - id: getNextSuiteId(), - description: 'Jasmine__TopLevel__Suite', - queueRunner: queueRunnerFactory - }); - runnableLookupTable[topSuite.id] = topSuite; - defaultResourcesForRunnable(topSuite.id); - currentDeclarationSuite = topSuite; - - this.topSuite = function() { - return topSuite; - }; - - this.execute = function(runnablesToRun) { - if(runnablesToRun) { - runnablesExplictlySet = true; - } else if (focusedRunnables.length) { - runnablesExplictlySet = true; - runnablesToRun = focusedRunnables; - } else { - runnablesToRun = [topSuite.id]; - } - - var allFns = []; - for(var i = 0; i < runnablesToRun.length; i++) { - var runnable = runnableLookupTable[runnablesToRun[i]]; - allFns.push((function(runnable) { return { fn: function(done) { runnable.execute(done); } }; })(runnable)); - } - - reporter.jasmineStarted({ - totalSpecsDefined: totalSpecsDefined - }); - - queueRunnerFactory({queueableFns: allFns, onComplete: reporter.jasmineDone}); - }; - - this.addReporter = function(reporterToAdd) { - reporter.addReporter(reporterToAdd); - }; - - var spyRegistry = new j$.SpyRegistry({currentSpies: function() { - if(!currentRunnable()) { - throw new Error('Spies must be created in a before function or a spec'); - } - return runnableResources[currentRunnable().id].spies; - }}); - - this.spyOn = function() { - return spyRegistry.spyOn.apply(spyRegistry, arguments); - }; - - var suiteFactory = function(description) { - var suite = new j$.Suite({ - env: self, - id: getNextSuiteId(), - description: description, - parentSuite: currentDeclarationSuite, - queueRunner: queueRunnerFactory, - onStart: suiteStarted, - expectationFactory: expectationFactory, - expectationResultFactory: expectationResultFactory, - resultCallback: function(attrs) { - if (!suite.disabled) { - clearResourcesForRunnable(suite.id); - currentlyExecutingSuites.pop(); - } - reporter.suiteDone(attrs); - } - }); - - runnableLookupTable[suite.id] = suite; - return suite; - - function suiteStarted(suite) { - currentlyExecutingSuites.push(suite); - defaultResourcesForRunnable(suite.id, suite.parentSuite.id); - reporter.suiteStarted(suite.result); - } - }; - - this.describe = function(description, specDefinitions) { - var suite = suiteFactory(description); - addSpecsToSuite(suite, specDefinitions); - return suite; - }; - - this.xdescribe = function(description, specDefinitions) { - var suite = this.describe(description, specDefinitions); - suite.disable(); - return suite; - }; - - var focusedRunnables = []; - - this.fdescribe = function(description, specDefinitions) { - var suite = suiteFactory(description); - suite.isFocused = true; - - focusedRunnables.push(suite.id); - unfocusAncestor(); - addSpecsToSuite(suite, specDefinitions); - - return suite; - }; - - function addSpecsToSuite(suite, specDefinitions) { - var parentSuite = currentDeclarationSuite; - parentSuite.addChild(suite); - currentDeclarationSuite = suite; - - var declarationError = null; - try { - specDefinitions.call(suite); - } catch (e) { - declarationError = e; - } - - if (declarationError) { - self.it('encountered a declaration exception', function() { - throw declarationError; - }); - } - - currentDeclarationSuite = parentSuite; - } - - function findFocusedAncestor(suite) { - while (suite) { - if (suite.isFocused) { - return suite.id; - } - suite = suite.parentSuite; - } - - return null; - } - - function unfocusAncestor() { - var focusedAncestor = findFocusedAncestor(currentDeclarationSuite); - if (focusedAncestor) { - for (var i = 0; i < focusedRunnables.length; i++) { - if (focusedRunnables[i] === focusedAncestor) { - focusedRunnables.splice(i, 1); - break; - } - } - } - } - - var runnablesExplictlySet = false; - - var runnablesExplictlySetGetter = function(){ - return runnablesExplictlySet; - }; - - var specFactory = function(description, fn, suite, timeout) { - totalSpecsDefined++; - var spec = new j$.Spec({ - id: getNextSpecId(), - beforeAndAfterFns: beforeAndAfterFns(suite, runnablesExplictlySetGetter), - expectationFactory: expectationFactory, - resultCallback: specResultCallback, - getSpecName: function(spec) { - return getSpecName(spec, suite); - }, - onStart: specStarted, - description: description, - expectationResultFactory: expectationResultFactory, - queueRunnerFactory: queueRunnerFactory, - userContext: function() { return suite.clonedSharedUserContext(); }, - queueableFn: { - fn: fn, - timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } - } - }); - - runnableLookupTable[spec.id] = spec; - - if (!self.specFilter(spec)) { - spec.disable(); - } - - return spec; - - function specResultCallback(result) { - clearResourcesForRunnable(spec.id); - currentSpec = null; - reporter.specDone(result); - } - - function specStarted(spec) { - currentSpec = spec; - defaultResourcesForRunnable(spec.id, suite.id); - reporter.specStarted(spec.result); - } - }; - - this.it = function(description, fn, timeout) { - var spec = specFactory(description, fn, currentDeclarationSuite, timeout); - currentDeclarationSuite.addChild(spec); - return spec; - }; - - this.xit = function() { - var spec = this.it.apply(this, arguments); - spec.pend(); - return spec; - }; - - this.fit = function(){ - var spec = this.it.apply(this, arguments); - - focusedRunnables.push(spec.id); - unfocusAncestor(); - return spec; - }; - - this.expect = function(actual) { - if (!currentRunnable()) { - throw new Error('\'expect\' was used when there was no current spec, this could be because an asynchronous test timed out'); - } - - return currentRunnable().expect(actual); - }; - - this.beforeEach = function(beforeEachFunction, timeout) { - currentDeclarationSuite.beforeEach({ - fn: beforeEachFunction, - timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } - }); - }; - - this.beforeAll = function(beforeAllFunction, timeout) { - currentDeclarationSuite.beforeAll({ - fn: beforeAllFunction, - timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } - }); - }; - - this.afterEach = function(afterEachFunction, timeout) { - currentDeclarationSuite.afterEach({ - fn: afterEachFunction, - timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } - }); - }; - - this.afterAll = function(afterAllFunction, timeout) { - currentDeclarationSuite.afterAll({ - fn: afterAllFunction, - timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } - }); - }; - - this.pending = function() { - throw j$.Spec.pendingSpecExceptionMessage; - }; - - this.fail = function(error) { - var message = 'Failed'; - if (error) { - message += ': '; - message += error.message || error; - } - - currentRunnable().addExpectationResult(false, { - matcherName: '', - passed: false, - expected: '', - actual: '', - message: message - }); - }; - } - - return Env; -}; - -getJasmineRequireObj().JsApiReporter = function() { - - var noopTimer = { - start: function(){}, - elapsed: function(){ return 0; } - }; - - function JsApiReporter(options) { - var timer = options.timer || noopTimer, - status = 'loaded'; - - this.started = false; - this.finished = false; - - this.jasmineStarted = function() { - this.started = true; - status = 'started'; - timer.start(); - }; - - var executionTime; - - this.jasmineDone = function() { - this.finished = true; - executionTime = timer.elapsed(); - status = 'done'; - }; - - this.status = function() { - return status; - }; - - var suites = [], - suites_hash = {}; - - this.suiteStarted = function(result) { - suites_hash[result.id] = result; - }; - - this.suiteDone = function(result) { - storeSuite(result); - }; - - this.suiteResults = function(index, length) { - return suites.slice(index, index + length); - }; - - function storeSuite(result) { - suites.push(result); - suites_hash[result.id] = result; - } - - this.suites = function() { - return suites_hash; - }; - - var specs = []; - - this.specDone = function(result) { - specs.push(result); - }; - - this.specResults = function(index, length) { - return specs.slice(index, index + length); - }; - - this.specs = function() { - return specs; - }; - - this.executionTime = function() { - return executionTime; - }; - - } - - return JsApiReporter; -}; - -getJasmineRequireObj().Any = function() { - - function Any(expectedObject) { - this.expectedObject = expectedObject; - } - - Any.prototype.jasmineMatches = function(other) { - if (this.expectedObject == String) { - return typeof other == 'string' || other instanceof String; - } - - if (this.expectedObject == Number) { - return typeof other == 'number' || other instanceof Number; - } - - if (this.expectedObject == Function) { - return typeof other == 'function' || other instanceof Function; - } - - if (this.expectedObject == Object) { - return typeof other == 'object'; - } - - if (this.expectedObject == Boolean) { - return typeof other == 'boolean'; - } - - return other instanceof this.expectedObject; - }; - - Any.prototype.jasmineToString = function() { - return ''; - }; - - return Any; -}; - -getJasmineRequireObj().CallTracker = function() { - - function CallTracker() { - var calls = []; - - this.track = function(context) { - calls.push(context); - }; - - this.any = function() { - return !!calls.length; - }; - - this.count = function() { - return calls.length; - }; - - this.argsFor = function(index) { - var call = calls[index]; - return call ? call.args : []; - }; - - this.all = function() { - return calls; - }; - - this.allArgs = function() { - var callArgs = []; - for(var i = 0; i < calls.length; i++){ - callArgs.push(calls[i].args); - } - - return callArgs; - }; - - this.first = function() { - return calls[0]; - }; - - this.mostRecent = function() { - return calls[calls.length - 1]; - }; - - this.reset = function() { - calls = []; - }; - } - - return CallTracker; -}; - -getJasmineRequireObj().Clock = function() { - function Clock(global, delayedFunctionScheduler, mockDate) { - var self = this, - realTimingFunctions = { - setTimeout: global.setTimeout, - clearTimeout: global.clearTimeout, - setInterval: global.setInterval, - clearInterval: global.clearInterval - }, - fakeTimingFunctions = { - setTimeout: setTimeout, - clearTimeout: clearTimeout, - setInterval: setInterval, - clearInterval: clearInterval - }, - installed = false, - timer; - - - self.install = function() { - replace(global, fakeTimingFunctions); - timer = fakeTimingFunctions; - installed = true; - - return self; - }; - - self.uninstall = function() { - delayedFunctionScheduler.reset(); - mockDate.uninstall(); - replace(global, realTimingFunctions); - - timer = realTimingFunctions; - installed = false; - }; - - self.mockDate = function(initialDate) { - mockDate.install(initialDate); - }; - - self.setTimeout = function(fn, delay, params) { - if (legacyIE()) { - if (arguments.length > 2) { - throw new Error('IE < 9 cannot support extra params to setTimeout without a polyfill'); - } - return timer.setTimeout(fn, delay); - } - return Function.prototype.apply.apply(timer.setTimeout, [global, arguments]); - }; - - self.setInterval = function(fn, delay, params) { - if (legacyIE()) { - if (arguments.length > 2) { - throw new Error('IE < 9 cannot support extra params to setInterval without a polyfill'); - } - return timer.setInterval(fn, delay); - } - return Function.prototype.apply.apply(timer.setInterval, [global, arguments]); - }; - - self.clearTimeout = function(id) { - return Function.prototype.call.apply(timer.clearTimeout, [global, id]); - }; - - self.clearInterval = function(id) { - return Function.prototype.call.apply(timer.clearInterval, [global, id]); - }; - - self.tick = function(millis) { - if (installed) { - mockDate.tick(millis); - delayedFunctionScheduler.tick(millis); - } else { - throw new Error('Mock clock is not installed, use jasmine.clock().install()'); - } - }; - - return self; - - function legacyIE() { - //if these methods are polyfilled, apply will be present - return !(realTimingFunctions.setTimeout || realTimingFunctions.setInterval).apply; - } - - function replace(dest, source) { - for (var prop in source) { - dest[prop] = source[prop]; - } - } - - function setTimeout(fn, delay) { - return delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2)); - } - - function clearTimeout(id) { - return delayedFunctionScheduler.removeFunctionWithId(id); - } - - function setInterval(fn, interval) { - return delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true); - } - - function clearInterval(id) { - return delayedFunctionScheduler.removeFunctionWithId(id); - } - - function argSlice(argsObj, n) { - return Array.prototype.slice.call(argsObj, n); - } - } - - return Clock; -}; - -getJasmineRequireObj().DelayedFunctionScheduler = function() { - function DelayedFunctionScheduler() { - var self = this; - var scheduledLookup = []; - var scheduledFunctions = {}; - var currentTime = 0; - var delayedFnCount = 0; - - self.tick = function(millis) { - millis = millis || 0; - var endTime = currentTime + millis; - - runScheduledFunctions(endTime); - currentTime = endTime; - }; - - self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) { - var f; - if (typeof(funcToCall) === 'string') { - /* jshint evil: true */ - f = function() { return eval(funcToCall); }; - /* jshint evil: false */ - } else { - f = funcToCall; - } - - millis = millis || 0; - timeoutKey = timeoutKey || ++delayedFnCount; - runAtMillis = runAtMillis || (currentTime + millis); - - var funcToSchedule = { - runAtMillis: runAtMillis, - funcToCall: f, - recurring: recurring, - params: params, - timeoutKey: timeoutKey, - millis: millis - }; - - if (runAtMillis in scheduledFunctions) { - scheduledFunctions[runAtMillis].push(funcToSchedule); - } else { - scheduledFunctions[runAtMillis] = [funcToSchedule]; - scheduledLookup.push(runAtMillis); - scheduledLookup.sort(function (a, b) { - return a - b; - }); - } - - return timeoutKey; - }; - - self.removeFunctionWithId = function(timeoutKey) { - for (var runAtMillis in scheduledFunctions) { - var funcs = scheduledFunctions[runAtMillis]; - var i = indexOfFirstToPass(funcs, function (func) { - return func.timeoutKey === timeoutKey; - }); - - if (i > -1) { - if (funcs.length === 1) { - delete scheduledFunctions[runAtMillis]; - deleteFromLookup(runAtMillis); - } else { - funcs.splice(i, 1); - } - - // intervals get rescheduled when executed, so there's never more - // than a single scheduled function with a given timeoutKey - break; - } - } - }; - - self.reset = function() { - currentTime = 0; - scheduledLookup = []; - scheduledFunctions = {}; - delayedFnCount = 0; - }; - - return self; - - function indexOfFirstToPass(array, testFn) { - var index = -1; - - for (var i = 0; i < array.length; ++i) { - if (testFn(array[i])) { - index = i; - break; - } - } - - return index; - } - - function deleteFromLookup(key) { - var value = Number(key); - var i = indexOfFirstToPass(scheduledLookup, function (millis) { - return millis === value; - }); - - if (i > -1) { - scheduledLookup.splice(i, 1); - } - } - - function reschedule(scheduledFn) { - self.scheduleFunction(scheduledFn.funcToCall, - scheduledFn.millis, - scheduledFn.params, - true, - scheduledFn.timeoutKey, - scheduledFn.runAtMillis + scheduledFn.millis); - } - - function runScheduledFunctions(endTime) { - if (scheduledLookup.length === 0 || scheduledLookup[0] > endTime) { - return; - } - - do { - currentTime = scheduledLookup.shift(); - - var funcsToRun = scheduledFunctions[currentTime]; - delete scheduledFunctions[currentTime]; - - for (var i = 0; i < funcsToRun.length; ++i) { - var funcToRun = funcsToRun[i]; - - if (funcToRun.recurring) { - reschedule(funcToRun); - } - - funcToRun.funcToCall.apply(null, funcToRun.params || []); - } - } while (scheduledLookup.length > 0 && - // checking first if we're out of time prevents setTimeout(0) - // scheduled in a funcToRun from forcing an extra iteration - currentTime !== endTime && - scheduledLookup[0] <= endTime); - } - } - - return DelayedFunctionScheduler; -}; - -getJasmineRequireObj().ExceptionFormatter = function() { - function ExceptionFormatter() { - this.message = function(error) { - var message = ''; - - if (error.name && error.message) { - message += error.name + ': ' + error.message; - } else { - message += error.toString() + ' thrown'; - } - - if (error.fileName || error.sourceURL) { - message += ' in ' + (error.fileName || error.sourceURL); - } - - if (error.line || error.lineNumber) { - message += ' (line ' + (error.line || error.lineNumber) + ')'; - } - - return message; - }; - - this.stack = function(error) { - return error ? error.stack : null; - }; - } - - return ExceptionFormatter; -}; - -getJasmineRequireObj().Expectation = function() { - - function Expectation(options) { - this.util = options.util || { buildFailureMessage: function() {} }; - this.customEqualityTesters = options.customEqualityTesters || []; - this.actual = options.actual; - this.addExpectationResult = options.addExpectationResult || function(){}; - this.isNot = options.isNot; - - var customMatchers = options.customMatchers || {}; - for (var matcherName in customMatchers) { - this[matcherName] = Expectation.prototype.wrapCompare(matcherName, customMatchers[matcherName]); - } - } - - Expectation.prototype.wrapCompare = function(name, matcherFactory) { - return function() { - var args = Array.prototype.slice.call(arguments, 0), - expected = args.slice(0), - message = ''; - - args.unshift(this.actual); - - var matcher = matcherFactory(this.util, this.customEqualityTesters), - matcherCompare = matcher.compare; - - function defaultNegativeCompare() { - var result = matcher.compare.apply(null, args); - result.pass = !result.pass; - return result; - } - - if (this.isNot) { - matcherCompare = matcher.negativeCompare || defaultNegativeCompare; - } - - var result = matcherCompare.apply(null, args); - - if (!result.pass) { - if (!result.message) { - args.unshift(this.isNot); - args.unshift(name); - message = this.util.buildFailureMessage.apply(null, args); - } else { - if (Object.prototype.toString.apply(result.message) === '[object Function]') { - message = result.message(); - } else { - message = result.message; - } - } - } - - if (expected.length == 1) { - expected = expected[0]; - } - - // TODO: how many of these params are needed? - this.addExpectationResult( - result.pass, - { - matcherName: name, - passed: result.pass, - message: message, - actual: this.actual, - expected: expected // TODO: this may need to be arrayified/sliced - } - ); - }; - }; - - Expectation.addCoreMatchers = function(matchers) { - var prototype = Expectation.prototype; - for (var matcherName in matchers) { - var matcher = matchers[matcherName]; - prototype[matcherName] = prototype.wrapCompare(matcherName, matcher); - } - }; - - Expectation.Factory = function(options) { - options = options || {}; - - var expect = new Expectation(options); - - // TODO: this would be nice as its own Object - NegativeExpectation - // TODO: copy instead of mutate options - options.isNot = true; - expect.not = new Expectation(options); - - return expect; - }; - - return Expectation; -}; - -//TODO: expectation result may make more sense as a presentation of an expectation. -getJasmineRequireObj().buildExpectationResult = function() { - function buildExpectationResult(options) { - var messageFormatter = options.messageFormatter || function() {}, - stackFormatter = options.stackFormatter || function() {}; - - var result = { - matcherName: options.matcherName, - message: message(), - stack: stack(), - passed: options.passed - }; - - if(!result.passed) { - result.expected = options.expected; - result.actual = options.actual; - } - - return result; - - function message() { - if (options.passed) { - return 'Passed.'; - } else if (options.message) { - return options.message; - } else if (options.error) { - return messageFormatter(options.error); - } - return ''; - } - - function stack() { - if (options.passed) { - return ''; - } - - var error = options.error; - if (!error) { - try { - throw new Error(message()); - } catch (e) { - error = e; - } - } - return stackFormatter(error); - } - } - - return buildExpectationResult; -}; - -getJasmineRequireObj().MockDate = function() { - function MockDate(global) { - var self = this; - var currentTime = 0; - - if (!global || !global.Date) { - self.install = function() {}; - self.tick = function() {}; - self.uninstall = function() {}; - return self; - } - - var GlobalDate = global.Date; - - self.install = function(mockDate) { - if (mockDate instanceof GlobalDate) { - currentTime = mockDate.getTime(); - } else { - currentTime = new GlobalDate().getTime(); - } - - global.Date = FakeDate; - }; - - self.tick = function(millis) { - millis = millis || 0; - currentTime = currentTime + millis; - }; - - self.uninstall = function() { - currentTime = 0; - global.Date = GlobalDate; - }; - - createDateProperties(); - - return self; - - function FakeDate() { - switch(arguments.length) { - case 0: - return new GlobalDate(currentTime); - case 1: - return new GlobalDate(arguments[0]); - case 2: - return new GlobalDate(arguments[0], arguments[1]); - case 3: - return new GlobalDate(arguments[0], arguments[1], arguments[2]); - case 4: - return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3]); - case 5: - return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], - arguments[4]); - case 6: - return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], - arguments[4], arguments[5]); - case 7: - return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], - arguments[4], arguments[5], arguments[6]); - } - } - - function createDateProperties() { - FakeDate.prototype = GlobalDate.prototype; - - FakeDate.now = function() { - if (GlobalDate.now) { - return currentTime; - } else { - throw new Error('Browser does not support Date.now()'); - } - }; - - FakeDate.toSource = GlobalDate.toSource; - FakeDate.toString = GlobalDate.toString; - FakeDate.parse = GlobalDate.parse; - FakeDate.UTC = GlobalDate.UTC; - } - } - - return MockDate; -}; - -getJasmineRequireObj().ObjectContaining = function(j$) { - - function ObjectContaining(sample) { - this.sample = sample; - } - - ObjectContaining.prototype.jasmineMatches = function(other, mismatchKeys, mismatchValues) { - if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \''+this.sample+'\'.'); } - - mismatchKeys = mismatchKeys || []; - mismatchValues = mismatchValues || []; - - var hasKey = function(obj, keyName) { - return obj !== null && !j$.util.isUndefined(obj[keyName]); - }; - - for (var property in this.sample) { - if (!hasKey(other, property) && hasKey(this.sample, property)) { - mismatchKeys.push('expected has key \'' + property + '\', but missing from actual.'); - } - else if (!j$.matchersUtil.equals(other[property], this.sample[property])) { - mismatchValues.push('\'' + property + '\' was \'' + (other[property] ? j$.util.htmlEscape(other[property].toString()) : other[property]) + '\' in actual, but was \'' + (this.sample[property] ? j$.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + '\' in expected.'); - } - } - - return (mismatchKeys.length === 0 && mismatchValues.length === 0); - }; - - ObjectContaining.prototype.jasmineToString = function() { - return ''; - }; - - return ObjectContaining; -}; - -getJasmineRequireObj().pp = function(j$) { - - function PrettyPrinter() { - this.ppNestLevel_ = 0; - this.seen = []; - } - - PrettyPrinter.prototype.format = function(value) { - this.ppNestLevel_++; - try { - if (j$.util.isUndefined(value)) { - this.emitScalar('undefined'); - } else if (value === null) { - this.emitScalar('null'); - } else if (value === 0 && 1/value === -Infinity) { - this.emitScalar('-0'); - } else if (value === j$.getGlobal()) { - this.emitScalar(''); - } else if (value.jasmineToString) { - this.emitScalar(value.jasmineToString()); - } else if (typeof value === 'string') { - this.emitString(value); - } else if (j$.isSpy(value)) { - this.emitScalar('spy on ' + value.and.identity()); - } else if (value instanceof RegExp) { - this.emitScalar(value.toString()); - } else if (typeof value === 'function') { - this.emitScalar('Function'); - } else if (typeof value.nodeType === 'number') { - this.emitScalar('HTMLNode'); - } else if (value instanceof Date) { - this.emitScalar('Date(' + value + ')'); - } else if (j$.util.arrayContains(this.seen, value)) { - this.emitScalar(''); - } else if (j$.isArray_(value) || j$.isA_('Object', value)) { - this.seen.push(value); - if (j$.isArray_(value)) { - this.emitArray(value); - } else { - this.emitObject(value); - } - this.seen.pop(); - } else { - this.emitScalar(value.toString()); - } - } finally { - this.ppNestLevel_--; - } - }; - - PrettyPrinter.prototype.iterateObject = function(obj, fn) { - for (var property in obj) { - if (!Object.prototype.hasOwnProperty.call(obj, property)) { continue; } - fn(property, obj.__lookupGetter__ ? (!j$.util.isUndefined(obj.__lookupGetter__(property)) && - obj.__lookupGetter__(property) !== null) : false); - } - }; - - PrettyPrinter.prototype.emitArray = j$.unimplementedMethod_; - PrettyPrinter.prototype.emitObject = j$.unimplementedMethod_; - PrettyPrinter.prototype.emitScalar = j$.unimplementedMethod_; - PrettyPrinter.prototype.emitString = j$.unimplementedMethod_; - - function StringPrettyPrinter() { - PrettyPrinter.call(this); - - this.string = ''; - } - - j$.util.inherit(StringPrettyPrinter, PrettyPrinter); - - StringPrettyPrinter.prototype.emitScalar = function(value) { - this.append(value); - }; - - StringPrettyPrinter.prototype.emitString = function(value) { - this.append('\'' + value + '\''); - }; - - StringPrettyPrinter.prototype.emitArray = function(array) { - if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { - this.append('Array'); - return; - } - var length = Math.min(array.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); - this.append('[ '); - for (var i = 0; i < length; i++) { - if (i > 0) { - this.append(', '); - } - this.format(array[i]); - } - if(array.length > length){ - this.append(', ...'); - } - this.append(' ]'); - }; - - StringPrettyPrinter.prototype.emitObject = function(obj) { - if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { - this.append('Object'); - return; - } - - var self = this; - this.append('{ '); - var first = true; - - this.iterateObject(obj, function(property, isGetter) { - if (first) { - first = false; - } else { - self.append(', '); - } - - self.append(property); - self.append(': '); - if (isGetter) { - self.append(''); - } else { - self.format(obj[property]); - } - }); - - this.append(' }'); - }; - - StringPrettyPrinter.prototype.append = function(value) { - this.string += value; - }; - - return function(value) { - var stringPrettyPrinter = new StringPrettyPrinter(); - stringPrettyPrinter.format(value); - return stringPrettyPrinter.string; - }; -}; - -getJasmineRequireObj().QueueRunner = function(j$) { - - function once(fn) { - var called = false; - return function() { - if (!called) { - called = true; - fn(); - } - }; - } - - function QueueRunner(attrs) { - this.queueableFns = attrs.queueableFns || []; - this.onComplete = attrs.onComplete || function() {}; - this.clearStack = attrs.clearStack || function(fn) {fn();}; - this.onException = attrs.onException || function() {}; - this.catchException = attrs.catchException || function() { return true; }; - this.userContext = attrs.userContext || {}; - this.timer = attrs.timeout || {setTimeout: setTimeout, clearTimeout: clearTimeout}; - this.fail = attrs.fail || function() {}; - } - - QueueRunner.prototype.execute = function() { - this.run(this.queueableFns, 0); - }; - - QueueRunner.prototype.run = function(queueableFns, recursiveIndex) { - var length = queueableFns.length, - self = this, - iterativeIndex; - - - for(iterativeIndex = recursiveIndex; iterativeIndex < length; iterativeIndex++) { - var queueableFn = queueableFns[iterativeIndex]; - if (queueableFn.fn.length > 0) { - return attemptAsync(queueableFn); - } else { - attemptSync(queueableFn); - } - } - - var runnerDone = iterativeIndex >= length; - - if (runnerDone) { - this.clearStack(this.onComplete); - } - - function attemptSync(queueableFn) { - try { - queueableFn.fn.call(self.userContext); - } catch (e) { - handleException(e, queueableFn); - } - } - - function attemptAsync(queueableFn) { - var clearTimeout = function () { - Function.prototype.apply.apply(self.timer.clearTimeout, [j$.getGlobal(), [timeoutId]]); - }, - next = once(function () { - clearTimeout(timeoutId); - self.run(queueableFns, iterativeIndex + 1); - }), - timeoutId; - - next.fail = function() { - self.fail.apply(null, arguments); - next(); - }; - - if (queueableFn.timeout) { - timeoutId = Function.prototype.apply.apply(self.timer.setTimeout, [j$.getGlobal(), [function() { - var error = new Error('Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.'); - onException(error, queueableFn); - next(); - }, queueableFn.timeout()]]); - } - - try { - queueableFn.fn.call(self.userContext, next); - } catch (e) { - handleException(e, queueableFn); - next(); - } - } - - function onException(e, queueableFn) { - self.onException(e); - } - - function handleException(e, queueableFn) { - onException(e, queueableFn); - if (!self.catchException(e)) { - //TODO: set a var when we catch an exception and - //use a finally block to close the loop in a nice way.. - throw e; - } - } - }; - - return QueueRunner; -}; - -getJasmineRequireObj().ReportDispatcher = function() { - function ReportDispatcher(methods) { - - var dispatchedMethods = methods || []; - - for (var i = 0; i < dispatchedMethods.length; i++) { - var method = dispatchedMethods[i]; - this[method] = (function(m) { - return function() { - dispatch(m, arguments); - }; - }(method)); - } - - var reporters = []; - - this.addReporter = function(reporter) { - reporters.push(reporter); - }; - - return this; - - function dispatch(method, args) { - for (var i = 0; i < reporters.length; i++) { - var reporter = reporters[i]; - if (reporter[method]) { - reporter[method].apply(reporter, args); - } - } - } - } - - return ReportDispatcher; -}; - - -getJasmineRequireObj().SpyRegistry = function(j$) { - - function SpyRegistry(options) { - options = options || {}; - var currentSpies = options.currentSpies || function() { return []; }; - - this.spyOn = function(obj, methodName) { - if (j$.util.isUndefined(obj)) { - throw new Error('spyOn could not find an object to spy upon for ' + methodName + '()'); - } - - if (j$.util.isUndefined(obj[methodName])) { - throw new Error(methodName + '() method does not exist'); - } - - if (obj[methodName] && j$.isSpy(obj[methodName])) { - //TODO?: should this return the current spy? Downside: may cause user confusion about spy state - throw new Error(methodName + ' has already been spied upon'); - } - - var spy = j$.createSpy(methodName, obj[methodName]); - - currentSpies().push({ - spy: spy, - baseObj: obj, - methodName: methodName, - originalValue: obj[methodName] - }); - - obj[methodName] = spy; - - return spy; - }; - - this.clearSpies = function() { - var spies = currentSpies(); - for (var i = 0; i < spies.length; i++) { - var spyEntry = spies[i]; - spyEntry.baseObj[spyEntry.methodName] = spyEntry.originalValue; - } - }; - } - - return SpyRegistry; -}; - -getJasmineRequireObj().SpyStrategy = function() { - - function SpyStrategy(options) { - options = options || {}; - - var identity = options.name || 'unknown', - originalFn = options.fn || function() {}, - getSpy = options.getSpy || function() {}, - plan = function() {}; - - this.identity = function() { - return identity; - }; - - this.exec = function() { - return plan.apply(this, arguments); - }; - - this.callThrough = function() { - plan = originalFn; - return getSpy(); - }; - - this.returnValue = function(value) { - plan = function() { - return value; - }; - return getSpy(); - }; - - this.returnValues = function() { - var values = Array.prototype.slice.call(arguments); - plan = function () { - return values.shift(); - }; - return getSpy(); - }; - - this.throwError = function(something) { - var error = (something instanceof Error) ? something : new Error(something); - plan = function() { - throw error; - }; - return getSpy(); - }; - - this.callFake = function(fn) { - plan = fn; - return getSpy(); - }; - - this.stub = function(fn) { - plan = function() {}; - return getSpy(); - }; - } - - return SpyStrategy; -}; - -getJasmineRequireObj().Suite = function() { - function Suite(attrs) { - this.env = attrs.env; - this.id = attrs.id; - this.parentSuite = attrs.parentSuite; - this.description = attrs.description; - this.onStart = attrs.onStart || function() {}; - this.resultCallback = attrs.resultCallback || function() {}; - this.clearStack = attrs.clearStack || function(fn) {fn();}; - this.expectationFactory = attrs.expectationFactory; - this.expectationResultFactory = attrs.expectationResultFactory; - - this.beforeFns = []; - this.afterFns = []; - this.beforeAllFns = []; - this.afterAllFns = []; - this.queueRunner = attrs.queueRunner || function() {}; - this.disabled = false; - - this.children = []; - - this.result = { - id: this.id, - description: this.description, - fullName: this.getFullName(), - failedExpectations: [] - }; - } - - Suite.prototype.expect = function(actual) { - return this.expectationFactory(actual, this); - }; - - Suite.prototype.getFullName = function() { - var fullName = this.description; - for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { - if (parentSuite.parentSuite) { - fullName = parentSuite.description + ' ' + fullName; - } - } - return fullName; - }; - - Suite.prototype.disable = function() { - this.disabled = true; - }; - - Suite.prototype.beforeEach = function(fn) { - this.beforeFns.unshift(fn); - }; - - Suite.prototype.beforeAll = function(fn) { - this.beforeAllFns.push(fn); - }; - - Suite.prototype.afterEach = function(fn) { - this.afterFns.unshift(fn); - }; - - Suite.prototype.afterAll = function(fn) { - this.afterAllFns.push(fn); - }; - - Suite.prototype.addChild = function(child) { - this.children.push(child); - }; - - Suite.prototype.status = function() { - if (this.disabled) { - return 'disabled'; - } - - if (this.result.failedExpectations.length > 0) { - return 'failed'; - } else { - return 'finished'; - } - }; - - Suite.prototype.execute = function(onComplete) { - var self = this; - - this.onStart(this); - - if (this.disabled) { - complete(); - return; - } - - var allFns = []; - - for (var i = 0; i < this.children.length; i++) { - allFns.push(wrapChildAsAsync(this.children[i])); - } - - if (this.isExecutable()) { - allFns = this.beforeAllFns.concat(allFns); - allFns = allFns.concat(this.afterAllFns); - } - - this.queueRunner({ - queueableFns: allFns, - onComplete: complete, - userContext: this.sharedUserContext(), - onException: function() { self.onException.apply(self, arguments); } - }); - - function complete() { - self.result.status = self.status(); - self.resultCallback(self.result); - - if (onComplete) { - onComplete(); - } - } - - function wrapChildAsAsync(child) { - return { fn: function(done) { child.execute(done); } }; - } - }; - - Suite.prototype.isExecutable = function() { - var foundActive = false; - for(var i = 0; i < this.children.length; i++) { - if(this.children[i].isExecutable()) { - foundActive = true; - break; - } - } - return foundActive; - }; - - Suite.prototype.sharedUserContext = function() { - if (!this.sharedContext) { - this.sharedContext = this.parentSuite ? clone(this.parentSuite.sharedUserContext()) : {}; - } - - return this.sharedContext; - }; - - Suite.prototype.clonedSharedUserContext = function() { - return clone(this.sharedUserContext()); - }; - - Suite.prototype.onException = function() { - if(isAfterAll(this.children)) { - var data = { - matcherName: '', - passed: false, - expected: '', - actual: '', - error: arguments[0] - }; - this.result.failedExpectations.push(this.expectationResultFactory(data)); - } else { - for (var i = 0; i < this.children.length; i++) { - var child = this.children[i]; - child.onException.apply(child, arguments); - } - } - }; - - Suite.prototype.addExpectationResult = function () { - if(isAfterAll(this.children) && isFailure(arguments)){ - var data = arguments[1]; - this.result.failedExpectations.push(this.expectationResultFactory(data)); - } else { - for (var i = 0; i < this.children.length; i++) { - var child = this.children[i]; - child.addExpectationResult.apply(child, arguments); - } - } - }; - - function isAfterAll(children) { - return children && children[0].result.status; - } - - function isFailure(args) { - return !args[0]; - } - - function clone(obj) { - var clonedObj = {}; - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) { - clonedObj[prop] = obj[prop]; - } - } - - return clonedObj; - } - - return Suite; -}; - -if (typeof window == void 0 && typeof exports == 'object') { - exports.Suite = jasmineRequire.Suite; -} - -getJasmineRequireObj().Timer = function() { - var defaultNow = (function(Date) { - return function() { return new Date().getTime(); }; - })(Date); - - function Timer(options) { - options = options || {}; - - var now = options.now || defaultNow, - startTime; - - this.start = function() { - startTime = now(); - }; - - this.elapsed = function() { - return now() - startTime; - }; - } - - return Timer; -}; - -getJasmineRequireObj().matchersUtil = function(j$) { - // TODO: what to do about jasmine.pp not being inject? move to JSON.stringify? gut PrettyPrinter? - - return { - equals: function(a, b, customTesters) { - customTesters = customTesters || []; - - return eq(a, b, [], [], customTesters); - }, - - contains: function(haystack, needle, customTesters) { - customTesters = customTesters || []; - - if ((Object.prototype.toString.apply(haystack) === '[object Array]') || - (!!haystack && !haystack.indexOf)) - { - for (var i = 0; i < haystack.length; i++) { - if (eq(haystack[i], needle, [], [], customTesters)) { - return true; - } - } - return false; - } - - return !!haystack && haystack.indexOf(needle) >= 0; - }, - - buildFailureMessage: function() { - var args = Array.prototype.slice.call(arguments, 0), - matcherName = args[0], - isNot = args[1], - actual = args[2], - expected = args.slice(3), - englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); - - var message = 'Expected ' + - j$.pp(actual) + - (isNot ? ' not ' : ' ') + - englishyPredicate; - - if (expected.length > 0) { - for (var i = 0; i < expected.length; i++) { - if (i > 0) { - message += ','; - } - message += ' ' + j$.pp(expected[i]); - } - } - - return message + '.'; - } - }; - - // Equality function lovingly adapted from isEqual in - // [Underscore](http://underscorejs.org) - function eq(a, b, aStack, bStack, customTesters) { - var result = true; - - for (var i = 0; i < customTesters.length; i++) { - var customTesterResult = customTesters[i](a, b); - if (!j$.util.isUndefined(customTesterResult)) { - return customTesterResult; - } - } - - if (a instanceof j$.Any) { - result = a.jasmineMatches(b); - if (result) { - return true; - } - } - - if (b instanceof j$.Any) { - result = b.jasmineMatches(a); - if (result) { - return true; - } - } - - if (b instanceof j$.ObjectContaining) { - result = b.jasmineMatches(a); - if (result) { - return true; - } - } - - if (a instanceof Error && b instanceof Error) { - return a.message == b.message; - } - - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). - if (a === b) { return a !== 0 || 1 / a == 1 / b; } - // A strict comparison is necessary because `null == undefined`. - if (a === null || b === null) { return a === b; } - var className = Object.prototype.toString.call(a); - if (className != Object.prototype.toString.call(b)) { return false; } - switch (className) { - // Strings, numbers, dates, and booleans are compared by value. - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return a == String(b); - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for - // other numeric values. - return a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b); - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a == +b; - // RegExps are compared by their source patterns and flags. - case '[object RegExp]': - return a.source == b.source && - a.global == b.global && - a.multiline == b.multiline && - a.ignoreCase == b.ignoreCase; - } - if (typeof a != 'object' || typeof b != 'object') { return false; } - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] == a) { return bStack[length] == b; } - } - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - var size = 0; - // Recursively compare objects and arrays. - if (className == '[object Array]') { - // Compare array lengths to determine if a deep comparison is necessary. - size = a.length; - result = size == b.length; - if (result) { - // Deep compare the contents, ignoring non-numeric properties. - while (size--) { - if (!(result = eq(a[size], b[size], aStack, bStack, customTesters))) { break; } - } - } - } else { - // Objects with different constructors are not equivalent, but `Object`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(isFunction(aCtor) && (aCtor instanceof aCtor) && - isFunction(bCtor) && (bCtor instanceof bCtor))) { - return false; - } - // Deep compare objects. - for (var key in a) { - if (has(a, key)) { - // Count the expected number of properties. - size++; - // Deep compare each member. - if (!(result = has(b, key) && eq(a[key], b[key], aStack, bStack, customTesters))) { break; } - } - } - // Ensure that both objects contain the same number of properties. - if (result) { - for (key in b) { - if (has(b, key) && !(size--)) { break; } - } - result = !size; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - - return result; - - function has(obj, key) { - return obj.hasOwnProperty(key); - } - - function isFunction(obj) { - return typeof obj === 'function'; - } - } -}; - -getJasmineRequireObj().toBe = function() { - function toBe() { - return { - compare: function(actual, expected) { - return { - pass: actual === expected - }; - } - }; - } - - return toBe; -}; - -getJasmineRequireObj().toBeCloseTo = function() { - - function toBeCloseTo() { - return { - compare: function(actual, expected, precision) { - if (precision !== 0) { - precision = precision || 2; - } - - return { - pass: Math.abs(expected - actual) < (Math.pow(10, -precision) / 2) - }; - } - }; - } - - return toBeCloseTo; -}; - -getJasmineRequireObj().toBeDefined = function() { - function toBeDefined() { - return { - compare: function(actual) { - return { - pass: (void 0 !== actual) - }; - } - }; - } - - return toBeDefined; -}; - -getJasmineRequireObj().toBeFalsy = function() { - function toBeFalsy() { - return { - compare: function(actual) { - return { - pass: !!!actual - }; - } - }; - } - - return toBeFalsy; -}; - -getJasmineRequireObj().toBeGreaterThan = function() { - - function toBeGreaterThan() { - return { - compare: function(actual, expected) { - return { - pass: actual > expected - }; - } - }; - } - - return toBeGreaterThan; -}; - - -getJasmineRequireObj().toBeLessThan = function() { - function toBeLessThan() { - return { - - compare: function(actual, expected) { - return { - pass: actual < expected - }; - } - }; - } - - return toBeLessThan; -}; -getJasmineRequireObj().toBeNaN = function(j$) { - - function toBeNaN() { - return { - compare: function(actual) { - var result = { - pass: (actual !== actual) - }; - - if (result.pass) { - result.message = 'Expected actual not to be NaN.'; - } else { - result.message = function() { return 'Expected ' + j$.pp(actual) + ' to be NaN.'; }; - } - - return result; - } - }; - } - - return toBeNaN; -}; - -getJasmineRequireObj().toBeNull = function() { - - function toBeNull() { - return { - compare: function(actual) { - return { - pass: actual === null - }; - } - }; - } - - return toBeNull; -}; - -getJasmineRequireObj().toBeTruthy = function() { - - function toBeTruthy() { - return { - compare: function(actual) { - return { - pass: !!actual - }; - } - }; - } - - return toBeTruthy; -}; - -getJasmineRequireObj().toBeUndefined = function() { - - function toBeUndefined() { - return { - compare: function(actual) { - return { - pass: void 0 === actual - }; - } - }; - } - - return toBeUndefined; -}; - -getJasmineRequireObj().toContain = function() { - function toContain(util, customEqualityTesters) { - customEqualityTesters = customEqualityTesters || []; - - return { - compare: function(actual, expected) { - - return { - pass: util.contains(actual, expected, customEqualityTesters) - }; - } - }; - } - - return toContain; -}; - -getJasmineRequireObj().toEqual = function() { - - function toEqual(util, customEqualityTesters) { - customEqualityTesters = customEqualityTesters || []; - - return { - compare: function(actual, expected) { - var result = { - pass: false - }; - - result.pass = util.equals(actual, expected, customEqualityTesters); - - return result; - } - }; - } - - return toEqual; -}; - -getJasmineRequireObj().toHaveBeenCalled = function(j$) { - - function toHaveBeenCalled() { - return { - compare: function(actual) { - var result = {}; - - if (!j$.isSpy(actual)) { - throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); - } - - if (arguments.length > 1) { - throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); - } - - result.pass = actual.calls.any(); - - result.message = result.pass ? - 'Expected spy ' + actual.and.identity() + ' not to have been called.' : - 'Expected spy ' + actual.and.identity() + ' to have been called.'; - - return result; - } - }; - } - - return toHaveBeenCalled; -}; - -getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { - - function toHaveBeenCalledWith(util, customEqualityTesters) { - return { - compare: function() { - var args = Array.prototype.slice.call(arguments, 0), - actual = args[0], - expectedArgs = args.slice(1), - result = { pass: false }; - - if (!j$.isSpy(actual)) { - throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); - } - - if (!actual.calls.any()) { - result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but it was never called.'; }; - return result; - } - - if (util.contains(actual.calls.allArgs(), expectedArgs, customEqualityTesters)) { - result.pass = true; - result.message = function() { return 'Expected spy ' + actual.and.identity() + ' not to have been called with ' + j$.pp(expectedArgs) + ' but it was.'; }; - } else { - result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but actual calls were ' + j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g, '') + '.'; }; - } - - return result; - } - }; - } - - return toHaveBeenCalledWith; -}; - -getJasmineRequireObj().toMatch = function() { - - function toMatch() { - return { - compare: function(actual, expected) { - var regexp = new RegExp(expected); - - return { - pass: regexp.test(actual) - }; - } - }; - } - - return toMatch; -}; - -getJasmineRequireObj().toThrow = function(j$) { - - function toThrow(util) { - return { - compare: function(actual, expected) { - var result = { pass: false }, - threw = false, - thrown; - - if (typeof actual != 'function') { - throw new Error('Actual is not a Function'); - } - - try { - actual(); - } catch (e) { - threw = true; - thrown = e; - } - - if (!threw) { - result.message = 'Expected function to throw an exception.'; - return result; - } - - if (arguments.length == 1) { - result.pass = true; - result.message = function() { return 'Expected function not to throw, but it threw ' + j$.pp(thrown) + '.'; }; - - return result; - } - - if (util.equals(thrown, expected)) { - result.pass = true; - result.message = function() { return 'Expected function not to throw ' + j$.pp(expected) + '.'; }; - } else { - result.message = function() { return 'Expected function to throw ' + j$.pp(expected) + ', but it threw ' + j$.pp(thrown) + '.'; }; - } - - return result; - } - }; - } - - return toThrow; -}; - -getJasmineRequireObj().toThrowError = function(j$) { - function toThrowError (util) { - return { - compare: function(actual) { - var threw = false, - pass = {pass: true}, - fail = {pass: false}, - thrown; - - if (typeof actual != 'function') { - throw new Error('Actual is not a Function'); - } - - var errorMatcher = getMatcher.apply(null, arguments); - - try { - actual(); - } catch (e) { - threw = true; - thrown = e; - } - - if (!threw) { - fail.message = 'Expected function to throw an Error.'; - return fail; - } - - if (!(thrown instanceof Error)) { - fail.message = function() { return 'Expected function to throw an Error, but it threw ' + j$.pp(thrown) + '.'; }; - return fail; - } - - if (errorMatcher.hasNoSpecifics()) { - pass.message = 'Expected function not to throw an Error, but it threw ' + fnNameFor(thrown) + '.'; - return pass; - } - - if (errorMatcher.matches(thrown)) { - pass.message = function() { - return 'Expected function not to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + '.'; - }; - return pass; - } else { - fail.message = function() { - return 'Expected function to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + - ', but it threw ' + errorMatcher.thrownDescription(thrown) + '.'; - }; - return fail; - } - } - }; - - function getMatcher() { - var expected = null, - errorType = null; - - if (arguments.length == 2) { - expected = arguments[1]; - if (isAnErrorType(expected)) { - errorType = expected; - expected = null; - } - } else if (arguments.length > 2) { - errorType = arguments[1]; - expected = arguments[2]; - if (!isAnErrorType(errorType)) { - throw new Error('Expected error type is not an Error.'); - } - } - - if (expected && !isStringOrRegExp(expected)) { - if (errorType) { - throw new Error('Expected error message is not a string or RegExp.'); - } else { - throw new Error('Expected is not an Error, string, or RegExp.'); - } - } - - function messageMatch(message) { - if (typeof expected == 'string') { - return expected == message; - } else { - return expected.test(message); - } - } - - return { - errorTypeDescription: errorType ? fnNameFor(errorType) : 'an exception', - thrownDescription: function(thrown) { - var thrownName = errorType ? fnNameFor(thrown.constructor) : 'an exception', - thrownMessage = ''; - - if (expected) { - thrownMessage = ' with message ' + j$.pp(thrown.message); - } - - return thrownName + thrownMessage; - }, - messageDescription: function() { - if (expected === null) { - return ''; - } else if (expected instanceof RegExp) { - return ' with a message matching ' + j$.pp(expected); - } else { - return ' with message ' + j$.pp(expected); - } - }, - hasNoSpecifics: function() { - return expected === null && errorType === null; - }, - matches: function(error) { - return (errorType === null || error.constructor === errorType) && - (expected === null || messageMatch(error.message)); - } - }; - } - - function fnNameFor(func) { - return func.name || func.toString().match(/^\s*function\s*(\w*)\s*\(/)[1]; - } - - function isStringOrRegExp(potential) { - return potential instanceof RegExp || (typeof potential == 'string'); - } - - function isAnErrorType(type) { - if (typeof type !== 'function') { - return false; - } - - var Surrogate = function() {}; - Surrogate.prototype = type.prototype; - return (new Surrogate()) instanceof Error; - } - } - - return toThrowError; -}; - -getJasmineRequireObj().interface = function(jasmine, env) { - var jasmineInterface = { - describe: function(description, specDefinitions) { - return env.describe(description, specDefinitions); - }, - - xdescribe: function(description, specDefinitions) { - return env.xdescribe(description, specDefinitions); - }, - - fdescribe: function(description, specDefinitions) { - return env.fdescribe(description, specDefinitions); - }, - - it: function(desc, func) { - return env.it(desc, func); - }, - - xit: function(desc, func) { - return env.xit(desc, func); - }, - - fit: function(desc, func) { - return env.fit(desc, func); - }, - - beforeEach: function(beforeEachFunction) { - return env.beforeEach(beforeEachFunction); - }, - - afterEach: function(afterEachFunction) { - return env.afterEach(afterEachFunction); - }, - - beforeAll: function(beforeAllFunction) { - return env.beforeAll(beforeAllFunction); - }, - - afterAll: function(afterAllFunction) { - return env.afterAll(afterAllFunction); - }, - - expect: function(actual) { - return env.expect(actual); - }, - - pending: function() { - return env.pending(); - }, - - fail: function() { - return env.fail.apply(env, arguments); - }, - - spyOn: function(obj, methodName) { - return env.spyOn(obj, methodName); - }, - - jsApiReporter: new jasmine.JsApiReporter({ - timer: new jasmine.Timer() - }), - - jasmine: jasmine - }; - - jasmine.addCustomEqualityTester = function(tester) { - env.addCustomEqualityTester(tester); - }; - - jasmine.addMatchers = function(matchers) { - return env.addMatchers(matchers); - }; - - jasmine.clock = function() { - return env.clock; - }; - - return jasmineInterface; -}; - -getJasmineRequireObj().version = function() { - return '2.1.3'; -}; diff --git a/vendor/jasmine-2.1.3/jasmine_favicon.png b/vendor/jasmine-2.1.3/jasmine_favicon.png deleted file mode 100755 index 3b84583be4b9d5ae9cd5cae07b2dbaa5ebb0ad1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0VDb;}332@o1PuQh8X8uGu4-^- zn3*=SA+%wV=cI;&hMB$%-Lc(MLmN8%IwwUpbcA;F2Q;)twND9bn-tpC9oR4-vb8I; zp+Bg#FSKP+P(yD-%f!%zo}iZgh=%Ua=KkP@iNVbiLYsSn8~VeW`+}P$1~&ACHcbd_ z=nZb_32o{NZkZ6&1k^hrxT!a&r8lIdAIJ@9nh?|iRMsET+#A%`AKKg-(%2K)*cZ|~ zA-J&*$PEUH08MM`4Q=iVY3vVfhN$TUscGs5sR8P31X|G_+SnTcv<0XVC=Rr!u|K4# zHyCJU6UYRR;%2BtKv^I=q#2|DECn_k@wXU|=@ zeD&J(8#iy=zH|5fgNKiwJbm`!<*V0k-oF3v@zdvTKYsrD^Y>rGdNDU(R>|^oaSW-5 z%f0Y2x+hSk{p0&HA;E60Oq1S3r7U;(X3MH#?W9nxXzk)srlC4P;cZYe&v*G}mgi%< ze(bTl{@&_)cX8b-kvX%ff9D22e*M~7edm|;|Jb8m2JBzkzKiSBKR0n*?XSyM6fxZY zJ4bb;vGKRiKP(ztq3sJx9iq$Re`-EEQU0KE$sdyqayzp6H-7x+oGKZ_6;hQ_Y|p&y z7o`N7g@ z8Yl1HKL;mFo4BdxljF1}KbfMR6nNdLyPnEap1MqBdI?{g$L58$P8+wftLX5R70)7n`#pwItnbma$w{%`M(`wpsu2rJ60rdGCc> z+~lm)viMYM`=uXwK_$`#_UtRZMO=2-IV)l2vc~)doyPvg-RmxtACQ#v{7}5$&isV+ zPws~n?@yNGy#H1=vTI?;CAl9~9#VgqJ+7`4y~R+Wyj0U+){?lm9r6mtf0gl_VmUW^ z%eje%?jM%^eLuUg#ybXaQM{yQy&8UgiQ`HQ+=iTpjfd0iJ@ ssyFi&dF4%9dEry;pNN)Q>$jg_dr3r;PHA*CFc&d+y85}Sb4q9e0J812W&i*H